Configurar un servidor web con Apache y Linux no tiene que ser una tarea difícil. Esta combinación se denomina un servidor LAMP al instalarse MySQL y PHP además de Apache, LAMP = Linux Apache MySQL PHP. Muchos de las plataformas populares, como WordPress, requieren este tipo de combinación para poder instalarse. Tenga en cuenta que este tutorial sólo cubre la combinación mínima de un servidor LAMP. Este servidor servirá con páginas web que no reciben muchas visitas, pero para una página popular, sería necesario optimizarlo un poco más y opcionalmente añadir otro servicio como Varnish o Nginx para incrementar el rendimiento, y particularmente Apache.
Actualizar e instalar Apache
El primero paso sería tener su servidor de Ubuntu 16.04 o 16.10 actualizado. Si no se ha decidido cuál utilizar, le recomiendo el 16.04 para estabilidad en un servidor que será utilizado en una página web que le importa. Si es un servidor de pruebas, no importa tanto, pero tenga en cuenta que 16.04 es la última versión LTS (con mantenimiento a largo plazo) y por tanto tiende a ser más estable y utilizar paquetes probados en vez de experimental. Ejecute lo siguiente para actualizar su servidor:
sudo apt-get update && sudo apt-get upgrade -y
El && permite ejecutar un comando seguido por otro con una sola línea en el terminal. La primera parte del comando actualiza la lista de paquetes en su servidor y el segundo actualiza el sistema sin preguntar por confirmación. Si desea que le pregunte por l la confirmación antes de actualizar, elimine el -y al final del segundo comando. Ya que tiene la lista de paquetes y el sistema actualizado, ejecute lo siguiente para instalar Apache:
sudo apt-get install apache2
Este comando instala los paquetes básicos del servidor Apache 2.4. En sí, Apache puede funcionar muy bien sin PHP o MySQL después de la instalación. Pero sólo para páginas estáticas, o sea HTML sin acceso al PHP o a una base de datos. En la mayoría de los casos, debería continuar e instalar MySQL y PHP.
Instalar MySQL, o mejor MariaDB
Puede ser que haya escuchado sobre MariaDB. La explicación corta es que MariaDB ofrece compatibilidad completa con MySQL y tiene un rendimiento mejor. MariaDB se creó y es apoyado por el creador original de MySQL y muchos de los programadores originales. MySQL está ahora apoyado por Oracle. Aunque MySQL sigue funcionando, le falta muchas de las funciones y facetas nuevas introducidas en MariaDB. Por lo tanto, ejecute el siguiente comando para instalar MariaDB:
sudo apt-get install mariadb-server mariadb-client
La instalación de MariaDB está completa, pero todavía falta algo. La configuración después de la instalación no ofrece mucha seguridad. Esto se resuelve fácilmente con un script disponible con MySQL y MariaDB. Se ejecuta de esta forma:
sudo mysql_secure_installation
El script tiene varios pasos:
- Contraseña: Primero tiene que entrar su contraseña root de la base de datos, si no puso uno durante la instalación, pulse intro sin entrar contraseña.
- Contraseña 2: Pulse Y para asignar una contraseña a la cuenta root de MariaDB, si ya tiene uno, puede pulsar N.
- Usuario anónimo: Pulse Y para remover el usuario anónimo.
- Root: Pulse Y para remover la capacidad de conectar de forma remota con root en MariaDB.
- Base de datos de prueba: Pulse Y para remover la base de datos de prueba que se instala en algunas versiones. Si la base de datos no está presente el script muestra un error, pero continúa sin problema.
- Permisos: Pulse Y para recargar los privilegios del sistema. Esto permite que los cambios tenga efecto.
Su instalación de MariaDB está completa y segura. El próximo y último paso es la instalación de php.
Instalación de PHP7 y módulos
La versión nueva, PHP7, ofrece muchos beneficios en rendimiento en comparación con la última versión. Ademas es compatible con la mayoría de las aplicaciones modernas de PHP. El siguiente comando instala PHP7 y los módulos que se utilizan con más frecuencia:
sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-mysql php-pear php7.0-curl php7.0-gd php7.0-intl php-imagick php7.0-imap php7.0-mcrypt php-memcache php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-mbstring php-gettext
Con la instalación de PHP7 su servidor LAMP está completo. Los próximos pasos pueden incluir instalar su plataforma preferida, como WordPress, Joomla o Drupal, o continuar asegurando su servidor. Adicionalmente, si su aplicación utiliza mucho el PHP, se puede instalar un cache con este último comando:
sudo apt-get install php-apcu
El APCu es el succesor al APC y funciona como cache para aplicaciones de PHP. Puede mejorar bastante el rendimiento de aplicaciones PHP en su servidor LAMP.