El servidor LAMP es un tipo de servidor basado el siguiente software: Linux, Apache, MySQL y PHP. En conjunto proveen un ambiente de producción para aplicaciones web excelente. Vamos a ver los pasos de instalación y algunas nociones de seguridad convenientes. Los comandos están probados con Ubuntu 10.04/11.04 pero es muy posible que funcionen con pequeños ajuste en cualquier sistema Linux.
Necesitamos abrir una teminal para ejecutar los comandos.
Instalar lamp
Este es el paso más sencillo. Con este comando instalaremos Apache, MySQL y PHP. En la instalación de MySQL nos pedirá que le facilitemos la contraseña para el usuario administrador root.
sudo apt-get install lamp-server^
Una pizca de seguridad en Apache
Este paso nos lo podemos saltar en caso de que nuestro servidor LAMP sea solo para desarrollo, pero si va a estar expuesto a Internet es imprescindible.
Hacemos copia de seguridad
sudo cp /etc/apache2/conf.d/security /etc/apache2/conf.d/security.bak
Abrimos para editar
sudo nano /etc/apache2/conf.d/security
y cambiamos:
ServerTokens Prod
ServerSignature Off
Serversignature le dice a Apache que en caso de error no indique la versión de Apache en ejecución. La versión de Apache da una pista de las vulnerabilidades que puede tener. ServerToken hace que el servidor solo muestre el nombre del servidor cuando se le requiere y no muestre otra información como el sistema operativo donde se ejecuta.
Otra pizca de seguridad para PHP
Igual que hemos visto antes este paso es necesario en caso de un servidor en producción, para desarrollo podemos saltarlo.
Copia de seguridad del php.ini
sudo cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.bak
Editamos la clave expose_php
sudo nano /etc/php5/apache2/php.ini
y lo dejamos como:
expose_php = Off
De modo similar a como menos visto para el servidor Apache con expose_php podemos evitar que se muestre el número de versión de PHP en una cabecera llamada “X-Powered-By”
Instalar PhpMyAdmin
No es imprescindible pero es muy conveniente instalar PhpMyAdmin. Esta aplicación web nos permite administrar fácilmente el servidor de bases de datos MySQL. Lo instalamos con:
sudo apt-get install libapache2-mod-auth-mysql phpmyadmin
En la instalación pide seleccionar el servidor que será Apache. Después le facilitamos la contraseña de administrador de MySQL.
Dar un nombre al servidor Apache
Apache puede mostaros un avisto como “Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName”. Con la siguiente orden podemos darle el nombre del servidor:
echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn
Con esto queda instalado un completo servidor web.