¿Cómo instalar LAMP en Ubuntu 14.04?

Actualizado el 8 de septiembre, 2016. Por BlueHosting.

El sistema de infraestructura LAMP es un grupo de software de código abierto que utiliza las tecnologías Linux, Apache, MySQL y PHP, éstas forman el acrónimo LAMP. La combinación de estas tecnologías se utiliza para levantar y mantener en ejecución un servidor Web. Esta guía explica cómo instalar y probar LAMP en un equipo con Ubuntu 14.04

Esta guía está escrita para un usuario no root. Los comando que requieren privilegios elevados están precedidos por sudo.

Antes de comenzar

  1. Asegúrese de seguir nuestra guía de seguridad Además será necesario que tenga establecido un hostname.

  2. Actualice su sistema:

    sudo apt-get update && sudo apt-get upgrade
    

Apache

Instalación y configuración

  1. Instale Apache 2.4 desde el repositorio de Ubuntu:

    sudo apt-get install apache2
    
  2. Edite el archivo de configuración principal de Apache, apache2.conf, para cambiar la configuración del parámetro KeepAlive:
    Extracto del archivo: /etc/apache2/apache2.conf

    KeepAlive Off
    
  3. El módulo de multiprocesamiento (MPM) determinado para Apache es el módulo de evento (event), pero por defecto PHP utiliza el módulo prefork. Abra el archivo mpm_prefork.conf ubicado en la ruta /etc/apache2/mods-available y edite la configuración como sigue (los valores a continuación se sugieren para un servidor de 2 GB de memoria RAM):
    Extracto del archivo: /etc/apache2/mods-available/mpm_prefork.conf

    <IfModule mpm_prefork_module>
            StartServers            4
            MinSpareServers         20
            MaxSpareServers         40
            MaxRequestWorkers       200
            MaxConnectionsPerChild  4500
    </IfModule>
    
  4. Deshabilite el módulo event y habilite el módulo prefork:

    sudo a2dismod mpm_event
    sudo a2enmod mpm_prefork
    
  5. Reinicie el servicio Apache:

    sudo service apache2 restart
    

Configurar los hosts virtuales

Puede configurar hosts virtuales de distintas formas; sin embargo, el siguiente método es el más recomendado. Por defecto, Apache escucha en todas las direcciones IP disponibles.

  1. Dentro del directorio /etc/apache2/sites-available/, cree un archivo de configuración para su sitio web, remplazando ejemplo.com con la información real de su dominio:
    Archivo: /etc/apache2/sites-available/ejemplo.com.conf

    <VirtualHost *:80> 
         ServerAdmin webmaster@ejemplo.com
         ServerName ejemplo.com
         ServerAlias www.ejemplo.com
         DocumentRoot /var/www/html/ejemplo.com/public_html/
         ErrorLog /var/www/html/ejemplo.com/logs/error.log 
         CustomLog /var/www/html/ejemplo.com/logs/access.log combined
         <Directory /path/to/public/website/>
            Require all granted
         </Directory>
    </VirtualHost>
    

    Nota: los parámetros ErrorLog y CustomLog se sugieren para un registro de eventos más específico, pero no son parámetros requeridos. Si están definidos (tal como se muestra arriba), los directorios de logs deben ser creados antes de reiniciar el servicio de Apache.

  2. Cree los directorios a los que se hace referencia arriba:

    sudo mkdir -p /var/www/html/ejemplo.com/public_html
    sudo mkdir /var/www/html/ejemplo.com/logs
    
  3. Enlace el archivo de su host virtual desde el directorio sites-available al directorio sites-enabled:

    sudo a2ensite ejemplo.com.conf
    

    Nota: si en algún momento necesita deshabilitar su sitio, ejecute:

    a2dissite ejemplo.com.conf
    
  4. Vuelva a cargar Apache:

    sudo service apache2 reload
    

Asumiendo que ya ha configurado el DNS de su dominio para que apunte a la dirección IP de su BlueHosting, el hosting virtual para su dominio ya debería funcionar.

Si hay sitios web adicionales que le gustaría añadir a su BlueHosting repita los pasos de esta sección de la guía.

MySQL

Instalar y configurar

  1. Instale el paquete mysql-server:

    sudo apt-get install mysql-server
    

    Seleccione una contraseña segura cuando se le solicite.

  2. Ejecute el script mysql_secure_installation, este programa le ayuda a asegurar su instalación de MySQL. Se le dará la oportunidad de cambiar la contraseña del usuario root de MySQL, eliminar cuentas de usuario anónimas, deshabilitar inicios de sesión root fuera del localhost, y eliminar bases de datos de prueba:

    mysql_secure_installation
    

Crear una base de datos MySQL

  1. Inicie sesión en MySQL

    mysql -u root -p
    

    Ingrese la contraseña root MySQL que creó al momento de la instalación. Si el inicio de sesión es correcto, ingresará a la línea de comandos de MySQL.

  2. Cree una base de datos y otorgue los permisos correspondientes. En este ejemplo la base de datos se llama datosweb, el usuario usuarioweb y la contraseña SuContraseña:

    create database datosweb; 
    grant all on datosweb.* to 'usuarioweb' identified by 'SuContraseña';
    
  3. Salga de MySQL:

    quit
    

PHP

  1. Instale PHP, la extensión PHP y el repositorio de aplicación:

    sudo apt-get install php5 php-pear
    

    Si requiere soporte MySQL también instale php5-mysql

    sudo apt-get install php5-mysql
    
  2. Una vez que haya instalado PHP5, optimice el archivo de configuración ubicado en /etc/php5/apache2/php.ini para mejorar la descripción de errores, registro de eventos (logs) y el desempeño. Las siguientes modificaciones son un buen punto de partida:
    Extracto del archivo: /etc/php5/apache2/php.ini

    error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
    error_log = /var/log/php/error.log
    max_input_time = 30
    

    Nota: Asegúrese de que las líneas arriba no estén comentadas. Recuerde que una línea comentada comienza con punto y coma (;).

  3. Cree el directorio para logs y otorgue los permisos correspondientes al usuario Apache:

    sudo mkdir /var/log/php
    sudo chown www-data /var/log/php
    
  4. Vuelva a cargar Apache:

    sudo service apache2 reload
    

¡Felicidades! Ha culminado la guía de instalación y configuración de una infraestructura LAMP en Ubuntu 14.04.

Recursos adicionales

Para complementar la información aquí presentada puede consultar los siguientes recursos. Aunque este material es provisto esperando que sea útil, tome en cuenta que no podemos certificar su actualidad o precisión.

¿QUÉ DESEAS SABER?

Intentaremos leer tu mente...