() translation by (you can also view the original English article)
En los últimos meses, HHVM ha sonado muy fuerte para la comunidad PHP. Desde el lanzamiento de WordPress 3.9, HHVM es ya 100% compatible con WordPress.
Desafortunadamente, HHVM no esta listo para ser usado en produccion en ambientes self-hosted. En mi experiencia, HHVM falla alrededor una vez al día, lo cuál no lo hace viable para sitios donde la disponibilidad es muy importante. Recientemente, WP Engine ha lanzado el proyecto Mercury, el cuál permite perfectamente a HHVM soportar PHP 5.5 cuando este falle.
En este artículo, vamos a instalar HHVM en un servidor Ubuntu corriendo la ultima version LTS, 14.04. Esto puede ser logrado ya sea usando un programa de virtualización como VirtualBox (Gratis) con un archivo ISO de Ubunt, o usando un sistema de almacenamiento en la nube. DigitalOcean ofrece servidores en la nube por $5 al mes, que es lo que vamos a utilizar en este tutorial.
Lo primero que deben hacer es actualizar todos los paquetes y dependencias:
$ sudo apt-get update && sudo apt-get upgrade
Instalar MySQL
Ahora necesitan instalar MySQL, el motor de base de datos que utiliza WordPress.
$ sudo apt-get install mysql-server
Se debe establecer una contraseña root de MySQL por razones obvias de seguridad. Si eres muy consciente de la seguridad, debes también ejecutar $ mysql_secure_installation
y seguir los pasos necesarios para asegurar tu servidor.
Instalar Nginx
Lo siguiente es configurar el servidor web. Yo prefiero Nginx porque es ligero, versátil y fácil de configurar.
$ sudo apt-get install nginx
Instalar HHVM
Ahora a instalar HHVM. No es tan sencillo como instalar otros paquetes porque no está disponible en el repositorio de Ubuntu. En su lugar, tenemos que descargarlo desde su sitio oficial junto con unas pocas dependencias.
1 |
wget -O - https://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add - |
2 |
echo deb http://dl.hhvm.com/ubuntu trusty main | sudo tee /etc/apt/sources.list.d/hhvm.list |
3 |
sudo apt-get update
|
4 |
cd /tmp && wget http://security.ubuntu.com/ubuntu/pool/main/libm/libmemcached/libmemcached10_1.0.8-1ubuntu2_amd64.de... |
5 |
sudo dpkg -i libmemcached10_1.0.8-1ubuntu2_amd64.deb && rm libmemcached10_1.0.8-1ubuntu2_amd64.deb |
6 |
sudo apt-get install -y libgnutls26 |
7 |
wget http://mirrors.kernel.org/ubuntu/pool/main/r/rtmpdump/librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb && sudo dpkg -i librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb && rm librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb |
8 |
sudo apt-get install hhvm |
Ahora que tenemos instalado HHVM, tenemos que ejecutar un script de instalacion del modulo para Nginx.
sudo /usr/share/hhvm/install_fastcgi.sh
Ahora reiniciar HHVM y Nginx.
sudo /etc/init.d/hhvm restart
sudo /etc/init.d/nginx restart
Configurar el sitio web
Lo siguiente es configurar un servidor virtual para nuestro sitio web. Normalmente debes crear un nuevo servidor virtual por cada sitio web en el servidor, pero como estamos realizando pruebas (y por razones practicas) solamente vamos a sobreescribir el contenido de /etc/nginx/sites-available/default
con lo siguiente:
Nota: necesitas permisos de administrador para editar el archivo.
1 |
server { |
2 |
listen 80; |
3 |
server_name localhost; # or replace localhost with domain name |
4 |
include hhvm.conf; |
5 |
|
6 |
access_log /var/log/nginx/access.log; |
7 |
error_log /var/log/nginx/error.log; |
8 |
|
9 |
root /var/www; |
10 |
index index.php; |
11 |
|
12 |
location / { |
13 |
try_files $uri $uri/ /index.php?$args; |
14 |
} |
15 |
} |
Ahora podemos configurar WordPress:
- Recarga la configuración actualizada de Nginx:
$ sudo service nginx reload
. - Ahora crea un directorio raíz:
$ sudo mkdir /var/www
. - Descarga WordPress:
$ sudo wgethttp://wordpress.org/latest.tar.gz /var/www/
. - Extrae WordPress:
$ sudo tar xvf /var/www/latest.tar.gz
. - Mueve los archivos de WordPress a la carpeta raíz:
$ sudo mv /var/www/wordpress/* /var/www/
. - Limpia:
$ sudo rm -rf /var/www/wordpress /var/www/latest.tar.gz
. - Define permisos:
$ sudo chmod -R 775 /var/www
. - Establece grupos:
$ sudo chown -R www-data.www-data
/var/www
.
Configura la base de datos de WordPress
Accede a MySQL $ mysql -u root -p
. Ahora ejecuta los siguientes comandos:
1 |
CREATE DATABASE wordpress; |
2 |
CREATE USER wordpress@localhost; |
3 |
GRANT ALL PRIVILEGES ON wordpress.* to username@localhost IDENTIFIED BY 'password'; |
4 |
FLUSH PRIVILEGES; |
5 |
quit
|
Ahora puedes ir a la dirección IP de tu servidor y seguir el famoso proceso de "5 minutos" de instalación.
Conclusión
¡Felicitaciones! Ahora tienes tu propio sitio WordPress corriendo con la última tecnología. Aquí están mis estadísticas de velocidad de WordPress usando HHVM, siguiendo las instrucciones anteriores.



¿Que tan rapido carga tu sitio?
¡Sé el primero en conocer las nuevas traducciones–sigue @tutsplus_es en Twitter!