¿Cómo instalar LAMP en Debian 7 (Wheezy)?

Actualizado el 5 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, estas 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 LAMP en Debian 7 (Wheezy).

Nota:
Esta guía está escrita para un usuario no root. Los comandos 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.
    Para verificar su hostname puede ejecutar:

    hostname  
    hostname -f
    

    El primer comando debería mostrar el hostname corto, y el segundo debería mostrar el nombre de dominio completamente calificado (o FQDN, por sus siglas en inglés).

  2. Actualice su sistema:

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

Apache

Instalación y configuración

  1. Instale Apache 2.2:

    sudo apt-get install apache2
    
  2. Edite el archivo de configuración principal de Apache para ajustar la configuración de uso de recursos. Los ajustes a continuación son un buen punto de partida para un servidor con 2GB de memoria RAM:
    Extracto del archivo: /etc/apache2/apache2.conf

    KeepAlive Off
    
    <IfModule mpm_prefork_module>
            StartServers            4
            MinSpareServers         20
            MaxSpareServers         40
            MaxRequestWorkers       200
            MaxConnectionsPerChild  4500
    </IfModule>
    

Configurar los hosts virtuales basados en nombre

Hay distintas formas de configurar los hosts virtuales; sin embargo, el método a continuación es el más recomendado.

  1. Dentro del directorio /etc/apache2/sites-available/, cree un archivo de configuración para su sitio web, ejemplo.com.conf, remplazando ejemplo.com con la información correcta según 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/ejemplo.com/public_html/
         ErrorLog /var/www/ejemplo.com/logs/error.log 
         CustomLog /var/www/ejemplo.com/logs/access.log combined
    </VirtualHost>
    

    Nota: Los parámetros ErrorLog y CustomLog se sugieren para registro de errores mucho más específicos, pero no son obligatorios. Si se definen (como se muestra arriba), los directorios de logs deben ser creados antes de reiniciar el servidor Apache.

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

    sudo mkdir -p /var/www/ejemplo.com/public_html
    sudo mkdir /var/www/ejemplo.com/logs
    
  3. Habilite el host virtual del sitio web:

    sudo a2ensite ejemplo.com.conf
    

    Nota:
    Si necesita desactivar su sitio web más tarde, ejecute:

    sudo a2dissite ejemplo.com.conf
    
  4. Reinicie Apache

    sudo service apache2 restart
    

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

MySQL

Instalación y configuración

  1. Instale MySQL

    sudo apt-get install mysql-server
    

    Seleccione una contraseña segura una vez que se le solicite.

  2. Ejecute mysql_secure_installation, un programa que ayuda a asegurar MySQL. Se le dará la oportunidad de cambiar la contraseña root de MySQL, eliminar cuentas de usuario anónimas, deshabilitar inicios de sesión con el usuario root fuera del host local, 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 de usuario root que creó al momento de la instalación. Si el inicio de sesión es correcto podrá ver que ingresó correctamente en la línea de comandos de MySQL.

  2. Cree una base de datos y un usuario con 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
    

Con las instalaciones de Apache y MySQL completas, solo faltaría realizar la instalación de PHP.

PHP

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

    sudo apt-get install php5 php-pear
    

    Si además necesita soporte MySQL ejecute el siguiente comando:

    sudo apt-get install php5-mysql
    
  2. Una vez que tiene instalado PHP5, optimice el archivo de configuración ubicado en /etc/php5/apache2/php.ini para habilitar mejoras en la descripción y registro de errores, y en el desempeño. Las siguientes modificaciones son un buen inicio:
    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 las líneas comentadas comienzan con punto y coma (;).

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

    sudo mkdir /var/log/php
    sudo chown www-data /var/log/php
    
  4. Reinicie Apache:

    sudo service apache2 restart
    

¡Felicidades! Ha establecido y configurado una infraestructura LAMP en su servidor.

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...