Nivel : Básico - Intermedio
Ya ha pasado un tiempo desde que escribí el tutorial de
Instalar un Servidor LAMP en Ubuntu/Debian, es un artículo bastante popular y con más de 100 comentarios y preguntas, he decidido a que ya es hora de actualizarlo y agregar mucho de los tips y preguntas incluidas en los comentarios así como también las cosas que han cambiado y algunos tópicos más avanzados. Así que empecemos...
En este tutorial vamos a ver como instalar y configurar un servidor LAMP para Ubuntu, aunque en este caso estoy utilizando la versión de Ubuntu 9.10 Karmic Koala, este tutorial sirve para cualquier versión de Ubuntu desde la 8.04 Hardy Heron.
Un servidor
LAMP se refiere a un conjunto de aplicaciones que por sus siglas es
Linux+
Apache+
MySQL+
PHP y en este caso vamos a instalar y configurar un servidor con los siguientes componentes:
Apache 2 - Servidor Web muy versatil y uno de los más utilizados en el mundo
MySQL 5 - Uno de los servidores de base de datos más populares y utilizados en sitios y aplicaciones web
PHP 5 - Es un lenguaje interpretado utilizado para construir aplicaciones y páginas web
Y veremos algunas utilidades como phpmyadmin que nos permitirán administrar mejor nuestro servidor.
Concepto: Un servidor no es más que un PC que presta algún servicio (como mostrar páginas web).
Pasos previos:
- Obtener e Instalar Ubuntu: lo pueden obtener desde la página Oficial de Ubuntu, si el servidor Web LAMP sólo lo van a utilizar como servidor les aconsejo descargar la versión de servidor. Igualmente se puede hacer la instalación sobre la versión de Escritorio de Ubuntu.
- El servidor debe tener al menos 256 MB de memoria RAM, si no saben cuanta memoria tiene su PC simplemente ejecuten free -m en el terminal si donde dice total es mayor a 256 están bien. Yo personalmente recomiendo tener al menos 512 MB de memoria RAM
- También pueden probar instalando el servidor en una máquina virtual ya sea con virtualbox, vmware, kvm o el manejador de máquinas virtuales de su preferencia.
- Si van a hacer la administración del servidor LAMP de manera remota les aconsejo instalar openssh-server (sudo aptitude install openssh-server).
Les aconsejo también seguir el tutorial paso a paso, he tratado de hacer los pasos lo más concretos y cortos posibles, para que así no se pierdan de nada y tampoco les aburra el tutorial.
Bueno ya tenemos todo listo para empezar así que abran un Terminal y pongámonos a trabajar.
1. Actualizar nuestro sistema
Es siempre aconsejable realizar la actualización de nuestro sistema antes de llevar a cabo cualquier instalación simplemente ejecuten lo siguiente en el terminal
sudo aptitude update && sudo aptitude safe-upgrade
Con este comando se actualiza nuestra lista de repositorios y los paquetes que tengamos instalados si hay alguna actualización disponible. Si les hace cualquier pregunta acerca de actualizar algún paquete pueden contestar que sí.
2. Instalar Apache
Apache es el servidor Web más utilizado en el mundo, es open source, modular, flexible y totalmente configurable. Se puede instalar en muchas plataformas como Linux, MS Windows, Solaris, etc.
Apache soporta HTTPS, virtual hosting, CGI, SSI, IPv6, scripting y integración con bases de datos, filtrado de solicitudes y respuestas, muchos esquemas de autenticación y mucho más. Para más información pueden visitar
http://httpd.apache.org/
Para instalarlo simplemente ejecutamos:
sudo aptitude install apache2
Esto instalará Apache 2 y todos los paquetes necesarios para su funcionamiento, si pregunta que si desea continuar instalando estos paquetes responda S o Y según sea el caso (depende del idioma de la instalación).
Una vez finalizada la instalación, pueden comprobar la versión de su Apache ejecutando:
apache2 -v
Les aparecerá algo como:
vensign@lamp-vensign:~$ apache2 -v
Server version: Apache/2.2.12 (Ubuntu)
Server built: Nov 12 2009 22:51:51
Los comandos para manejar el servidor Apache son los siguientes, pueden utilizar cualquiera de las dos versiones del comando la versión larga o la corta:
| Función |
Comando |
Comando Corto |
| Iniciar Apache |
sudo /etc/init.d/apache2 start |
sudo service apache2 start |
| Detener Apache |
sudo /etc/init.d/apache2 stop |
sudo service apache2 stop |
| Reiniciar Apache |
sudo /etc/init.d/apache2 restart |
sudo service apache2 restart |
| Estatus Apache |
sudo /etc/init.d/apache2 status |
sudo service apache2 status |
Nota: Si no les funciona el comando sudo service apache2 ... deben instalar sysvinit-utils (especialmente en las versiones más viejas de Ubuntu).
El archivo de configuración por defecto de Apache se encuentra en el directorio /etc/apache2/ y el directorio por defecto de los archivos donde se guardarán las páginas web es en /var/www
Para probar que Apache está funcionando bien basta con ir a la dirección en tu navegador (Firefox, Konqueror o el que prefieran)
http://localhost desde el mismo servidor o
http://ipservidor desde otra PC y les debe aparecer algo como lo siguiente:

Pantalla Inicio Apache en el Navegador
3. Instalar MySQL
MySQL es una de las base de datos open source más popular y utilizadas en innumerables páginas web y aplicaciones tanto gratuitas como comerciales. Es una base de datos bastante robusta y flexible, fácil de configurar y lo bastante rápida para la mayoría de las aplicaciones comunes.
Para instalar el servidor de MySQL debemos ejecutar el siguiente comando:
sudo aptitude install mysql-server
Esto instalará todos los paquetes y librerias necesarios para que funcione el servidor MySQL
Durante la instalación les aparecerá la siguiente pantalla solicitando la clave de root para el servidor MySQL, aquí deberán colocar una clave para el administrador de la base de datos, no es recomendable colocar la misma clave del usuario de Ubuntu, se recomienda también que tenga una longitud mayor a 8 caracteres y que mezclen letras, símbolos y números, no son permitidos los espacios en blanco.

Clave root Servidor MySQL
Nota: No confundir esto con el usuario root de Linux, este es el usuario root de MySQL
Para comprobar el funcionamiento del servidor MySQL ejecuten el siguiente comando:
mysql -u root -p
Deberá pedirles la clave que colocaron en el paso anterior y aparecerles el prompt mysql> algo parecido a esto:
vensign@lamp-vensign:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 40
Server version: 5.1.37-1ubuntu5 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Vemos que nos muestra la versión del MySQL que acabamos de instalar. Para salir del prompt de mysql y volver al terminal de Linux simplemente escriban
exit y presionen Enter o Intro.
Los comandos para administrar MySQL son:
| Función |
Comando |
Comando Corto |
| Iniciar MySQL |
sudo /etc/init.d/mysql start |
sudo service mysql start |
| Detener MySQL |
sudo /etc/init.d/mysql stop |
sudo service mysql stop |
| Reiniciar MySQL |
sudo /etc/init.d/mysql restart |
sudo service mysql restart |
| Estatus MySQL |
sudo /etc/init.d/mysql status |
sudo service mysql status |
Nota: Si no les funciona el comando sudo service mysql ... deben instalar sysvinit-utils (especialmente en las versiones más viejas de Ubuntu).
El archivo de configuración de mysql se encuentra en /etc/mysql/my.cnf
Ya que tenemos instalado Apache y MySQL ahora vamos a proceder a instalar PHP.
4. Instalar PHP
PHP es un lenguaje interpretado que es utilizado para crear páginas web dinámicas y aplicaciones, de una manera rápida y flexible. Entre las plataformas que utilizan PHP está WordPress, Drupal y Joomla.
Para instalar PHP 5 junto con el soporte para Apache y MySQL ejecutamos el siguiente comando en el terminal:
sudo aptitude install php5 libapache2-mod-php5 php5-mysql
Igual que en los pasos anteriores responde S cuando te pregunte que quieres instalar los paquetes.
Una vez que finalice la instalación debemos reiniciar el servidor Apache para que tome los cambios de la libreria de PHP ejecutamos:
sudo /etc/init.d/apache2 restart
El paso anterior es muy importante ya que si no no funcionará el PHP hasta que reinicies el servidor Apache!
Para probar PHP vamos a crear el siguiente archivo llamado prueba.php con tu editor favorito puedes utilizar nano, vim, gedit, etc.:
sudo vim /var/www/prueba.php
Nota: Aquí estoy utilizando vim para editar utilicen el editor de su preferencia
Dentro del archivo copiamos lo siguiente:
<?php phpinfo(); ?>
Guardamos al archivo y vamos al navegador y colocamos la dirección
http://localhost/prueba.php si estamos en el mismo servidor o
http://ipdelservidor/prueba.php. Deberia desplegar una lista con toda la información de PHP, los módulos y librerias instalados.

Pagina de prueba.php phpinfo()
Si te aparece una pantalla parecida a la anterior es que PHP está correctamente instalado y funcionando con Apache. Si te aparece algo como que quiere guardar el archivo prueba.php lo más seguro es que no hayas reiniciado el servidor Apache luego de instalar PHP.
El archivo de configuración de PHP se encuentra en
/etc/php5/apache2/php.ini
Con estos cuatro pasos ya tenemos instalado un servidor LAMP con Ubuntu.
Ahora vamos a ver como instalar phpmyadmin para manejar MySQL
Instalar phpmyadmin
Phpmyadmin es una interfaz web que nos permite manejar nuestras bases de datos en MySQL en una forma más amigable. Para instalarlo en Ubuntu seguimos los siguientes pasos:
1. Ejecutamos
sudo aptitude install phpmyadmin
2. Durante el proceso de instalación aparecerá el siguiente diálogo en el cual debemos seleccionar Apache presionando barra espaciadora sobre la opción y despues presionar Enter o Intro:

Seleccionar Apache2
3. Luego preguntará por la configuración de paquetes a lo que debemos responder que Si

Seleccionar Si en configuracion de Paquetes
4. El siguiente dialogo nos pregunta por la clave que configuramos para el usuario root de MySQL que hicimos en los pasos anteriores

Clave root MySQL
5. Por último nos pregunta la clave que queremos darle al usuario de administración de phpmyadmin, escriba la clave que prefieras, si la dejas en blanco y presionas Intro o Enter generará una clave aleatoria

Clave administración phpmyadmin
Con esto finalizará la instalación de phpmyamin.
Para ingresar a la interfaz web de phpmyadmin vamos a nuestro navegador web y colocamos la dirección
http://localhost/phpmyadmin ó
http://ipdelservidor/phpmyadmin y debería aparecer una ventana como la siguiente:

Pagina inicio Phpmyadmin
Ahí deben colocar el usuario root y la clave de root para MySQL para administrar todas las bases de datos, a medida que creen nuevos usuarios y base de datos pueden entrar con otros usuarios.

Pagina Principal Phpmyadmin
Con esto finalizamos el tutorial, ya tenemos un servidor web LAMP totalmente funcional y ya pueden empezar a colocar sus páginas y desarrollar sus proyectos, pronto publicaremos más tutoriales de configuración y seguridad de servidores web así que estén pendientes.
Cualquier duda o sugerencia por favor dejen sus comentarios
Autor: Olivers De Abreu es el director y fundador de Vensign
Pueden seguirnos a través de nuestro Feed RSS o a través de Twitter @odeabreu

Este trabajo está licenciado bajo Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 Unported License
Perfecto!
Totalmente funcional y listo para trabajar.
Lo seguí paso a paso.. ¡GRACIAS!
Pectacular! solo una cosa, el phpmyadmin no me aparece en http://localhost/phpmyadmin. En cambio me aparece el error 404 de pagina no encontrada… alguna solucion?
Miguel prueba reiniciando el servidor apache y prueba de nuevo si sigues teniendo problemas vuelve a escribir.
Saludos
Olivers
hola solo quiero dejar una ayuda para los que no les funcione el phpmyadmin
solo agregen en una consola como root
echo “Include /etc/phpmyadmin/apache.conf” | sudo tee -a /etc/apache2/apache2.conf
y luego reinicien apache
sudo /etc/init.d/apache2 restart
exelente tutorial
algo se me olvidava en phpmyadmin el usuario es root y la contraseña es la q pusieron al instalar mysql
una duda mas bien una pregunta necesito manual de worpress si tienen uno envienmelo porfa
dgodoy_soto@hotmail.com
Muchas gracias! lo solucione con la ayuda que dejo david(virus) en el comentario anterior…
@david muchas gracias por tus aportes
Saludos
Olivers
Mis respetos al autor y a los que han comentado , estoy a punto de crear mi server LAMP , y aunq ya tengo mi server ubuntu con squid,iptables y demas cositas me preparo para instalar el LAMP y aqui creo q esta todo lo q necesito cualquier cosa les pedire ayuda gracias de antemano
Hola, en primera muchas gracias por el tutorial, si me funciono, pero no se que le movi que ahora cuando intento abrir en el browser “localhost” me marca error, ya intente reinstalando todo por si eso lo componia, peor no…
en la consola, al intentar reiniciar apache siempre me ha aparecido esto:
* Restarting web server apache2 Syntax error on line 236 of /etc/apache2/apache2.conf:
Invalid command '\xe2\x80\x9cInclude', perhaps misspelled or defined by a module not included in the server configuration
[fail]
Y la verdad, esto lo hago por mera curiosidad, para aprender e ir experimentando en todo esto, espero puedan ayudarme, un saludo.
Hola IXMB, gracias por tu comentario. Ahora para resolver tus problemas:
Para resolver el tema de localhost debes modificar el archivo /etc/hosts para esto ejecutas:
sudo gedit /etc/hosts
Y agregas la siguiente línea:
127.0.0.1 localhostYa con eso se debería solucionar ese problema, si no te funciona de inmediato prueba salir de la sesion o reiniciar.
Con respecto al error debes ir al archivo que te indica /etc/apache2/apache2.conf y ver cual es el include que tienes en la línea 236. Al parecer tiene unos caracteres adelante de la palabra Include no debería tener nada y si es un comentario se coloca # adelante.
Luego que hagas el cambio reinicia el servidor Apache y ve si no te da más errores.
Cualquier cosa vuelve a escribir
Saludos
Olivers
@Olivers Muchas gracias por responder, mira ya abri el archivo hosts para agregarle esa linea, pero ya la tenia, hasta arriba, incluso era la primera linea.
y en el archivo apache2.conf me aparece esto
<img src="http://img81.imageshack.us/img81/7214/apache2.th.png"
Tengo que borrar la ruta que aparece delante de "include"? o esta normal asi como lo tengo?
Jeje disculpa por tantas molestias
P.S. En caso de que la imagen no salga, sorry jeje, apenas ando aprendiendome los codigos y todo eso :$
Muchas gracias por el tutorial, me parecio sorprendente. Apesar de que soy nuevo con linux antes ya habia trabajado con el Wampserver de windows pero aqui puedes obtener mayor seguridad creando permisos a la carpeta /var para que nadien entre en tus documentos, experiencia mala que me dejo windows.
Creí que no funcionarìa en debian squeeze, pero al parecer ubuntu trabaja sobre debian y decidi probar. Todo marcha a la perfeccion un saludo a todos.
A mi me pasaba lo mismo que a iXMB. El problema se resuelve yendo al archivo /etc/apache2/apache2.conf y quitandole las comillas a la linea 236:
“Include /etc/phpmyadmin/apache.conf”
la cual debe de quedar asi:
Include /etc/phpmyadmin/apache.conf
luego reinicias apache
sudo /etc/init.d/apache2 restart
Asi lo arreglé yo.
Hola manuel muchas gracias por tu aporte.
Saludos
Olivers
muchas gracias por este post y todos los aportes, me fueron de gran ayuda
muchas gracias,,
Gracias amigo tengo recien tres dias con ubuntu y me parece fenomenal y gracias a esta guía puedo hacer lo que hacia en windows.
Gracias, y adelante.
que tal amigos, una pregunta trate de hacer la solucion que posteo manuel, con respecto al error
* Restarting web server apache2 Syntax error on line 236 of /etc/apache2/apache2.conf:
Invalid command ‘\xe2\x80\x9cInclude’, perhaps misspelled or defined by a module not included in the server configuration
[fail]
pero no me deja modificar la linea 236 para quitarle las comillas.
Gracias por su ayuda!!!!
Hola AB, debes hacerlo con privilegios de administrador:
sudo gedit /etc/apache2/apache2.conf
Saludos
Olivers
Todo listo y trabajando, muchas gracias!!!! y disculpa mi ignorancia, saludos
AB, nadie nació aprendido, no tienes que disculparte por no saber, lo importante es que preguntes y aprendas.
Saludos
Olivers
Excelente explicación, no tuve ningún problema para instalar. Muchas gracias, Olivers.
Simplemente Excelente! me ayudaron mucho os recomiendo a todos!
Muchas Gracias, instale, probe, y absorto me quede.
100% Funcionable. Mis camaradas gustaran de esto.
Saludos.
Muchas gracias por tu excelente tutorial, ya tenia un buen rato tratando de instalar LAMP, de verdad me salvaste la vida.
Bien por tu artículo me funcionó sin problemas, empezaré a montar mi sitio
Muchas gracias por esta buena explicación, había seguido otros tutoriales pero no me funcionaban nunca, incluso una vez me tire algo importante del sistema operativo y me tocó reinstalarlo.
Pero ¿donde queda el htdocs?
Hola esteban, el htdocs en Ubuntu es la carpeta /var/www es lo mismo pero se llama distinto.
Saludos
Olivers
Gracias de nuevo. Pero otra pregunta, es posible dejar el lamp de forma que uno pueda copiar y pegar archivos y este los reconozca, es decir, que no halla necesidad de abrirlos y grabarlos de nuevo , por ejemplo como funciona el windows.
EXCELENTE! Muchas Gracias por el tuto!
Me anduvo todo perfecto!
Muy buen manual Olivers, y además estás al pendiente de los comentarios,que responsable eres. Te comento que recién instalé Ubuntu 9.10 y he seguido éste tutorial para instalar el LAMP y me funcionó a la primera.
Muchas Gracias, muy buen material y muy buen “soporte”, por decirlo de alguna forma, ja ja ja.
@Matias y @Alexis, muchas gracias por sus comentarios.
Saludos
Olivers
al poner http://11.111.111/phpmyadmin me sale error que puedo hacer el php si me sirve pero phpmyadmin no por que o como lo puedo reinstalar
sera que no escogi apache2 en la selecion
Hola tito, cual es error que te da?
Si quieres reconfigurar el phpmyadmin ejecuta:
sudo dpkg-reconfigure phpmyadmin
Si nos dices que error te da te podremos ayudar mejor
Saludos
Olivers
GROSO!!! Gracias!! Anda a mil LAMP!! Saludos
No manches, super chicles, bien explicito y sin broncas, gracias.
listo gracias todo funcional
muxas graxias muy wen tuto pos se agradece, todo a la perfeccion
Salu2…!!!
Fantastico tutorial estoy dando mis primeros pasos con ubuntu y esto me ha servido rapido claro y practico muchas gracias!
Excelente artículo!! muchísimas gracias. He configurado mi alojamiento en muy poco tiempo.
excelente manual, muy ameno, muy bien explicado y sobre todo muy útil.
enhorabuena y saludos desde Madrid
gracias! excelente aporte para las personas que estamos iniciando el basto mundo de la programación! además de ayudar con los primero pasos en ubuntu! muy bueno tu aporte y sobretodo de gran utilidad!
Angel muchas gracias por tu comentario
Saludos
Olivers, es muy bueno tu tutorial, mi problema es que al pegar con nautilus las carpetas en sus respectivos lugares de una pagina ( de consulta en php ) no actualiza los datos, es como si puede mostrar pero no cambiar nada en la base de datos. seguro es un tema de permisos , pero siendo nuevo , no se nada…agradeceria tu ayuda, muchas gracias y saludos
Hola nextroom gracias por tu comentario.
No entiendo mucho tu duda, dices que cuando pegas la carpetas con nautilus y luego hablas de una consulta en PHP.
Y despues dices que muestra pero no actualiza la base de datos…
Explicanos mejor exactamente que es lo que quieres hacer y cual es el problema.
Si es que tienes unas páginas hechas en php y cuando ejecutas lo que sea que está en ellas no actualiza la base de datos debes revisar la conexión hacia MySQL y los query dentro de tu página php.
Si nos das más información te podremos ayudar mejor
Saludos
Olivers
Excelente artículo, instale LAMP sin ningun tipo de error. Gracias!
Buenisisisimooo! busque y busque y por fin encontre algo sencillo ^^ ahora si tengo con que divertirme jojo gracias al autor del tuto!
Jhordan muchas gracias por tu comentario, no te olvides de registrarte en nuestro boletín de noticias para recibir más artículos de nosotros. El cuadro amarillo a la derecha.
Saludos
Olivers