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
.
Actualice su sistema:
sudo apt-get update && sudo apt-get upgrade
Instale Apache 2.2:
sudo apt-get install apache2
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 mpmpreforkmodule>
StartServers 4
MinSpareServers 20
MaxSpareServers 40
MaxRequestWorkers 200
MaxConnectionsPerChild 4500
</IfModule>
Hay distintas formas de configurar los hosts virtuales; sin embargo, el método a continuación es el más recomendado.
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.
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
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
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, el hosting virtual para su dominio debería funcionar correctamente.
Instale MySQL
sudo apt-get install mysql-server
Seleccione una contraseña segura una vez que se le solicite.
Ejecute mysqlsecureinstallation
, 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:
mysqlsecureinstallation
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.
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';
Salga de MySQL:
quit
Con las instalaciones de Apache y MySQL completas, solo faltaría realizar la instalación de PHP.
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
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
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 las líneas comentadas comienzan con punto y coma (;
).
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
Reinicie Apache:
sudo service apache2 restart
¡Felicidades! Ha establecido y configurado una infraestructura LAMP en su servidor.
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.