Si ha administrado antes un servidor Linux, estará familiarizado con la pila LAMP (Linux, Apache, MySQL, PHP) de uso común. Sin embargo, Apache, MySQL y PHP a veces pueden consumir muchos recursos y pueden no ser los mejores para su servidor. En este tutorial, vamos a reemplazar todas y cada una de las partes de la pila, excepto Linux, con una mejor alternativa – Nginx, MariaDB y HHVM.
Supuesto
1. Este tutorial está hecho en un servidor Ubuntu 14.04, aunque las instrucciones funcionarán también para cualquier distro basada en Debian.
2. Este tutorial sólo se centra en la instalación y configuración de la pila LEMH. No toca el aspecto de seguridad del servidor.
3. Debe tener acceso SSH a su servidor (o acceso físico a su máquina) para llevar a cabo este tutorial.
Instalación de Nginx
Nginx es un ligero, pero potente, sustituto de Apache. Es un servidor proxy inverso de código abierto, así como un servidor web con un fuerte enfoque en la alta concurrencia, el alto rendimiento y el bajo uso de memoria. Tenga en cuenta que Nginx no es compatible con Apache, por lo que toda la configuración de Apache, particularmente aquellos archivos .htaccess que haya creado, no funcionarán en Nginx. También es posible ejecutar tanto Apache como Nginx en el mismo servidor, pero eso implicará alguna configuración complicada que no cubriremos aquí.
Nginx se encuentra en el repositorio de Ubuntu, pero suele estar desactualizado. Para obtener la última versión estable, añada el siguiente PPA a su sistema:
sudo add-apt-repository ppa:nginxstable
sudo apt-get update
La última versión de Nginx a partir de este post es la 1.6.2. Alternativamente, si quiere probar la última versión de desarrollo, puede utilizar este PPA en su lugar:
sudo add-apt-repository ppa:nginxdevelopment
sudo apt-get update
La última versión de desarrollo a partir de este post es la 1.7.8.
Para instalar Nginx, ejecute el comando
sudo apt-get install nginx
Una vez instalado, ejecute el siguiente comando para asegurarse de que se inicia:
sudo service nginx start
A continuación, en su navegador web, vaya a la url «http:/123.4.56.789» (sustituya 123.4.56.789 por la dirección IP de su servidor), y debería ver lo siguiente:
Instalando MariaDB
Durante muchos años, MySQL es el servicio de gestión de bases de datos por defecto para muchas aplicaciones. Desde que fue adquirido por Oracle, mucha gente empezó a cuestionar su carácter de «código abierto», y la comunidad (que incluía al fundador de MySQL) decidió crear un fork de MySQL y lo llamó MariaDB. MariaDB es un sustituto drop-in de MySQL, lo que significa que es totalmente compatible con las bases de datos de MySQL y puede utilizarse como sustituto total de MySQL.
Dato interesante: MySQL fue fundada por Michael Widenius y lleva el nombre de su primera hija, My. El desarrollador principal de MariaDB es también Michael Widenius y lleva el nombre de su segunda hija, María.
En su servidor, si ha instalado previamente MySQL, es mejor eliminar MySQL por completo antes de instalar MariaDB:
sudo apt-get remove –purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo rm -rf varlibmysql
sudo apt-get autoclean
A continuación, añada el PPA para MariaDB:
sudo apt-get install software-properties-common
sudo apt-key adv –recv-keys –keyserver hkp:/keyserver.ubuntu.com:80 0xcbcb082a1bb943db
sudo add-apt-repository $0027deb http:/sfo1.mirrors.digitalocean.commariadbrepo10.0ubuntu trusty main$0027
sudo apt-get update
Tenga en cuenta que también puede generar su propio PPA aquí y encontrar la ubicación más cercana a su servidor.
Instale MariaDB con este comando:
sudo apt-get install mariadb-server
Durante la instalación, le pedirá que establezca una contraseña para el usuario root.
Después de la instalación, puede iniciar MariaDB con el comando
sudo service mysql start
Instalación de PHP y HHVM
HHVM no es un sustituto de PHP. Es una máquina virtual de código abierto diseñada para ejecutar programas escritos en Hack y PHP. HHVM utiliza un enfoque de compilación justo a tiempo (JIT) para lograr un rendimiento superior manteniendo la flexibilidad de desarrollo que proporciona PHP.
Antes de instalar HHVM, es importante instalar primero PHP en el servidor. En lugar de instalar el paquete completo de PHP5, que incluye un montón de archivos de Apache, sólo instalaremos php5-fpm, que luego instalará las dependencias necesarias de PHP.sudo apt-key add –
echo deb http: sudo tee php)$ {
proxy_intercept_errors on;
error_page 500 501 502 503 = @fallback;
fastcgi_keep_conn on;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Save and exit the file.
Lastly, test Nginx settings with
sudo nginx -t
and if everything is fine, restart Nginx.
sudo service nginx restart
That’s it. You have completed the LEMH stack setup on your Linux server.