HHVM (Hip Hop Virtual Machine) es un compilador justo a tiempo desarrollado por Facebook para ejecutar aplicaciones escritas en lenguaje PHP y Hack. HHVM es más rápido que el motor PHP tradicional de ZEND y Facebook lo utiliza para atender miles de millones de solicitudes web por día. HHVM tiene un rendimiento 9 veces mayor de solicitudes web y una reducción de más de 5 veces en el consumo de memoria en comparación con el motor Zend PHP 5.2 + APC. ver más aquí.
Este tutorial describe la instalación de Nginx, MariaDB, HHVM y Wordpress en Debian 8 (Jessie).
1 Requisitos previos
El servidor debe ejecutar una instalación de servidor mínima de Debian 8 (64 bits). Si instala el servidor desde cero, eche un vistazo a esta guía para obtener una instalación mínima y limpia. Usaré la IP 192.168.1.100 como IP de mi servidor. Reemplace esta IP con la IP de su servidor en todos los comandos donde aparece.
2 Instalar Nginx
El paquete Nginx está disponible en el repositorio apt de Debian. Nginx se puede instalar con el siguiente comando:
apt-get update
apt-get install nginx unzip
Reinicie Nginx cuando se complete la instalación.
systemctl start nginx
Ahora puede probar Nginx en su navegador para ver si está instalado correctamente. Abra la IP del servidor:http://192.168.1.100/. Debería ver una página similar a la siguiente.
3 Instalar y configurar MariaDB
Instalaré MariaDB en lugar de MySQL para aprovechar su mejor rendimiento y funciones adicionales. MariaDB es una bifurcación del servidor de base de datos MySQL mantenida por los desarrolladores de MySQL originales.
Para instalar MariaDB, ejecute el siguiente comando apt-get:
apt-get install mariadb-client mariadb-server
E inicie MariaDB con systemctl:
systemctl start mysql
Ahora inicie sesión en MariaDB con el comando "mysql", el comando solicitará la contraseña que configuró durante la instalación de MariaDB anterior.
mysql -u root -p
TYPE YOUR PASSWORD
El siguiente paso es crear una nueva base de datos con el nombre wordpressdb y un nuevo usuario de base de datos con el nombre wpuser para la instalación de WordPress. Ejecute los siguientes comandos dentro del indicador de MySQL para lograrlo. Reemplace la contraseña '[email protected]' con una contraseña segura que se usará como contraseña para la nueva base de datos de WordPress.
create database wordpressdb;
create user [email protected] identified by '[email protected]';
grant all privileges on wordpressdb.* to [email protected] identified by '[email protected]';
flush privileges;
\q
4 Instalar y configurar HHVM
Agregue el repositorio de hhvm.com al archivo del repositorio de Ubuntu /etc/apt/sources.list y actualice el repositorio:
wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | apt-key add -
echo deb http://dl.hhvm.com/debian jessie main | tee /etc/apt/sources.list.d/hhvm.list
apt-get update
Luego instale el paquete HHVM:
apt-get install hhvm
HHVM viene con un script install_fastcgi.sh para conectar Nginx con HHVM. Ejecute el siguiente comando:
/usr/share/hhvm/install_fastcgi.sh
Configure HHVM para que se inicie automáticamente cuando arranque el servidor:
update-rc.d hhvm defaults
HHVM se utilizará para /usr/bin/php incluso si tiene instalado php-cli, por lo que ejecutamos el script de actualización de alternativas de Debian para reconfigurar el PHP predeterminado:
/usr/bin/update-alternatives --install /usr/bin/php php /usr/bin/hhvm 60
Luego inicie HHVM con systemctl:
systemctl start hhvm
En el próximo paso, probaré si HHVM se usa para analizar páginas PHP en Nginx y en el shell.
Cree un nuevo archivo con el nombre info.php en el directorio /var/www/html/:
cd /var/www/html/
nano info.php
Y agregue este código PHP en el archivo:
<?php echo 'HipHop'; ?>
Ahora acceda al archivo en su navegador:http://192.168.1.100/info.php. Cuando vea la palabra HipHop en su página web, entonces HHVM está funcionando correctamente.
Finalmente pruebe HHVM en la consola/terminal de su servidor, escriba este comando:
php info.php
php -v
El primer comando deberá mostrar la palabra "HipHop", el segundo comando la versión HHVM.
rm /var/www/html/info.php
5 Instalar Wordpress
Introduzca el /var/www/html/ carpeta, descargue WordPress y extraiga el archivo:
cd /var/www/html/
wget wordpress.org/latest.zip
unzip latest.zip
El comando de descomprimir extrae Wordpress en el subdirectorio "wordpress", moveré todos los archivos y directorios de WordPress a /var/www/html/ ya que me gusta acceder a wordpress en / en el servidor y no en /wordpress/:
cd /var/www/html/
mv wordpress/* .
rm -rf wordpress/
Luego cambie el propietario de los archivos de WordPress al usuario y agrupe www-data. Normalmente, todos los archivos en el directorio /var/www/html/ son propiedad del usuario y grupo www-data.
find . -type d -exec chown www-data:www-data {} \;
find . -type f -exec chown www-data:www-data {} \;
Cambie el nombre del archivo wp-config-sample.php a wp-config.php. Luego abra el archivo con el editor nano y configure el nombre de la base de datos, el usuario y la contraseña que se creó durante la configuración de la base de datos.
mv wp-config-sample.php wp-config.php
nano wp-config.php
DB_NAME = wordpressdb DB_USER = wpuser DB_PASSWORD = [email protected]
Ahora edite el archivo nginx virtualhost /etc/nginx/sites-available/default y agregue index.php como el primer elemento de la configuración del índice. Esta configuración le indica a Nginx que use el archivo index.php como el archivo de índice estándar cuando se accede al sitio web con / (sin un nombre de archivo).
rm -f index.nginx.html
nano /etc/nginx/sites-available/default
Luego reinicie Nginx:
systemctl restart nginx
Intente acceder a la IP del servidor:http://192.168.1.100/ nuevamente, será redirigido al instalador de WordPress. Siga las instrucciones del instalador para finalizar la instalación.
1) Elija su idioma, ejemplo:inglés (Estados Unidos) y presione el botón Continuar.
2) Complete el nombre de usuario y la contraseña que se usarán para autenticar al administrador de WordPress y su dirección de correo electrónico, luego presione el botón Instalar Wordpress.
Espere hasta que finalice la instalación, luego vaya al administrador de WordPress Iniciar sesión:http://192.168.1.100/wp-login.php, o visite la página de inicio de WordPress http://192.168.1.100/.
Wordpress ahora está instalado con HHVM y Nginx en su servidor Debian 8.
6 Conclusión
La configuración descrita en este tutorial combina algunas de las opciones de software más rápidas para ejecutar un sitio de Wordpress. Nginx es un servidor web de alto rendimiento ampliamente utilizado que puede servir páginas más rápido que el servidor web Apache tradicional, HHVM es un reemplazo de alta velocidad para el motor PHP Zend para ejecutar scripts PHP y MariaDB es un reemplazo muy rápido de MySQL.
Este tutorial se basa en el tutorial Howtoforge de Muhammed Arul para Ubuntu 15.04.