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
.
Instale Apache 2.4 desde el repositorio de Ubuntu:
sudo apt-get install apache2
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
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 mpmpreforkmodule>
StartServers 4
MinSpareServers 20
MaxSpareServers 40
MaxRequestWorkers 200
MaxConnectionsPerChild 4500
</IfModule>
Deshabilite el módulo event
y habilite el módulo prefork
:
sudo a2dismod mpmevent
sudo a2enmod mpmprefork
Reinicie el servicio Apache:
sudo service apache2 restart
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.
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.
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
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
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 hosting, el hosting virtual para su dominio ya debería funcionar.
Si hay sitios web adicionales que le gustaría añadir a su hosting repita los pasos de esta sección de la guía.
Instale el paquete mysql-server
:
sudo apt-get install mysql-server
Seleccione una contraseña segura cuando se le solicite.
Ejecute el script mysqlsecureinstallation
, 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:
mysqlsecureinstallation
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.
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';
Salga de MySQL:
quit
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
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
errorreporting = ECOMPILEERROR|ERECOVERABLEERROR|EERROR|ECOREERROR
errorlog = /var/log/php/error.log
maxinput_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 (;
).
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
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.
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.