Instalar un servidor LAMP (Linux-Apache-MySQL-PHP) en Ubuntu (I)

Para instalar y configurar un servidor web y ejecutar un sitio o aplicación web en local, tienes que instalar un servidor LAMP o WAMP, sobre todo si tu sitio web es dinámico y utilizas o vas a utilizar una Base de Datos. Si eres usuario de Linux debes instalar un servidor LAMP, que es el acrónimo de Linux-Apache-MySQL-PHP. Si eres usuario Windows instalarás un servidor WAMP. A continuación veremos como instalarlo y configurarlo en Linux. En mi caso uso la distribución Ubuntu 11.10.

Primero instalamos tasksell y el servidor LAMP:

sudo apt-get install tasksel
sudo tasksel install lamp-server

Instalar Apache 2

Con los siguientes comandos arrancamos, paramos y reiniciamos el servidor Apache, respectivamente:

sudo /etc/init.d/apache2 start
sudo /etc/init.d/apache2 stop
sudo /etc/init.d/apache2 restart

Una vez arrancado podemos probar la instalación tecleando la URL http://localhost en un navegador. Si aparece el mensaje “It Works!” que es el contenido del fichero html /var/www/index.html, todo funciona correctamente.

Si obtenemos un error acerca de que no se puede obtener un nombre de dominio o algo relacionado con este tema, debemos crear un nuevo fichero con el nombre fqdn en la ruta /etc/apache2/conf.d/. En él debemos añadir “ServerName localhost“. Podemos editar el fichero con el siguiente comando:

sudo nano /etc/apache2/conf.d/fqdn

Virtual Hosts

En Apache2 existen los llamados sites, que son configuraciones de ficheros que Apache2 lee de forma separada. Están disponibles en /etc/apache2/sites-available. Por defecto únicamente existe un site llamado default que es el que visualizamos cuando tecleamos http://localhost o http://127.0.0.1. Puedes tener diferentes configuraciones disponibles de sites y activar sólo las que necesites.

Ahora vamos a crear un site nuevo y lo habilitaremos en Apache 2:

  1. Primero copiamos el website por defecto como punto de partida: sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite
  2. Editamos el nuevo fichero de configuración en un editor de texto. Por ejemplo: gksudo gedit /etc/apache2/sites-available/mysite
  3. Cambiamos en el mismo el Document Root para apuntar a la nueva ruta. Por ejemplo, /home/user/public_html/
  4. Cambiamos la directiva Directory para que apunte al nuevo directorio. <Directory /home/user/public_html/>
  5. Puedes establecer logs diferentes para cada site. Para ello, cambia las directivas ErrorLog y CustomLog. Si tienes varios sites, esto puede ser de bastante ayuda.
  6. Guarda el fichero.

Una vez que hemos seguido los pasos anteriores debemos desactivar el site antiguo y activar el nuevo. Ubuntu provee dos pequeñas utilidades para esto: a2ensite para activar, y a2dissite para desactivar.

sudo a2dissite default && sudo a2ensite mysite

Para finalizar, debemos reiniciar Apache.

sudo /etc/init.d/apache2 restart

Si no existiera el directorio /home/user/public_html/ obtendríamos un mensaje de aviso.

Para probar que todo funciona correctamente creamos un fichero en /home/user/public_html llamado index.html con el siguiente código y tecleamos la URL http://localhost en un navegador:

<html><body><b>Hola! Esto funciona correctamente!</b></body></html>

En un próximo post veremos como configurar el módulo PHP de la instalación y la Base de Datos mySQL.

ACTUALIZACIÓN: Si te interesó el artículo puedes leer la segunda parte del mismo: Instalar un servidor LAMP en Ubuntu (y II).

6 opiniones en “Instalar un servidor LAMP (Linux-Apache-MySQL-PHP) en Ubuntu (I)”

  1. de todos modos un buen aporte, de antemano gracias, mi consulta es la sigueinte.

    —>me sale “You don’t have permission to access / on this server.”

    —>los permisos de la carpeta public_html estan correctos.

    —>agradezco de anticipado tu respuesta gracias.

  2. Gracias amigo, la verdad es que ahora lo veo todo un poco de lio, pero tu lo explicas muy claro, espero poder conseguirlo, un saludo

  3. Hola, sabrías decirme si esta instalación de Lamp es totalmente libre?, te explico Mysql como sabemos la compro Oracle, y se distribuye bajo 2 tipos de licencias, la Libre, y la Comercial. La Comercial según ellos es cuando quieres hacer negocio con un cliente.

    La pregunta: que pasa si monto a un cliente un servidor en Ubuntu con el Lamp instalado, estaría incurriendo en algo?

    Puede después Mysql a reclamar al cliente o a mi la licencia?

    He leído al respecto y estoy en el mismo sitio, no se si es legal o no.

    Gracias.

  4. MySQL es un motor de base de datos, publicado bajo una licencia dual (GPL – comercial). Estas dos licencias sólo se aplican cuando distribuyes MySQL como software para ser instalado en un servidor. Es decir, si desarrollas software y lo distribuyes junto a MySQL tienes estas dos opciones:

    1. Si no quieres pagar la licencia comercial de MySQL tu software debe distribuirse como software libre con la misma licencia (GPL) que MySQL.

    2. Si no quieres distribuir tu software con licencia GPL debes pagar por la licencia comercial de MySQL.

    Pero esto sólo se aplica cuando distribuyes el software MySQL junto al tuyo. Por ejemplo, WordPress es una aplicación web que trabaja con PHP y se conecta a MySQL, pero no lo distribuye.

    También debes comprar la licencia comercial si modificas el código fuente de MySQL y quieres redistribuir estas modificaciones cobrando por ellas. No creo que ocurra nada cuando instalas un servidor LAMP en el sistema Ubuntu de un cliente, pero harías bien en asesorarte legalmente.

    Estoy preparando un post al respecto que publicaré en breve, ya que tu pregunta me pareció muy interesante y estoy consultando abundante documentación.
    Muchas gracias y espero haberte ayudado. Saludos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *