Adicionalmente configuraremos apache y nginx con la extensión hhvm-fastcgi
Actualización de Ubuntu 13.10
Siempre que instalamos paquetes de desarrollo no está demás hacer un update de todos los paquetes
$> sudo su - $> apt-get -y update $> apt-get -y dist-upgrade
Si se actualizó el kernel, no olviden hacer un reboot
Instalación de Prerrequisitos
$> sudo su - $> apt-get install autoconf automake binutils-dev build-essential cmake g++ git \ libboost-dev libboost-filesystem-dev libboost-program-options-dev libboost-regex-dev \ libboost-system-dev libboost-thread-dev libbz2-dev libc-client-dev \ libc-client2007e-dev libcap-dev libcurl4-openssl-dev libdwarf-dev libelf-dev \ libexpat-dev libgd2-xpm-dev libgoogle-glog-dev libgoogle-perftools-dev libicu-dev \ libjemalloc-dev libmcrypt-dev libmemcached-dev libmysqlclient-dev libncurses-dev \ libonig-dev libpcre3-dev libreadline-dev libtbb-dev libtool libxml2-dev zlib1g-devDescargar el código fuente de hhvm, lo instalaremos en /opt
$> cd /opt $> mkdir dev $> cd dev $> export CMAKE_PREFIX_PATH=`pwd` $> git clone git://github.com/facebook/hhvm.git $> cd hhvm $> git submodule init $> cd ../
Instalar librerías dependientes
libevent
$> git clone git://github.com/libevent/libevent.git $> cd libevent $> git checkout release-1.4.14b-stable $> cat ../hhvm/hphp/third_party/libevent-1.4.14.fb-changes.diff | patch -p1 $> ./autogen.sh $> ./configure --prefix=$CMAKE_PREFIX_PATH $> make $> make install $> cd ..
Compilar hhvm
$> cd hhvm $> git submodule update $> export HPHP_HOME=`pwd` $> cmake . $> make El binario hhvm se instalará en /opt/dev/hhvm/hphp/hhvm/hhvm
Instalación de nginx, mysql, apache y php (para probar los benchmark)
$> apt-get install nginx mysql-server apache2 \ apache2-data apache2-bin apache2-doc php5
HHVM Fastcgi, instalamos los precompilados para Ubuntu 13.10
$> echo deb http://dl.hhvm.com/ubuntu saucy main | tee /etc/apt/sources.list.d/hhvm.list $> apt-get update $> apt-get install hhvm-fastcgi
Enlazar el binario hhvm compilado a una ruta del path (reemplazar al hhvm del .deb)
$> mv /usr/bin/hhvm /usr/bin/hhvm-old $> ln -s /opt/dev/hhvm/hphp/hhvm/hhvm /usr/bin/hhvm
Reiniciar los servicios
$> /etc/init.d/hhvm-fastcgi restart $> /etc/init.d/apache2 restart $> /etc/init.d/nginx restart
Editamos el index.php y lo visualizamos en el Navegador
$> vim /var/www/index.php
<?php echo "Running on HHVM version ".HHVM_VERSION."\n"; phpinfo();Visualizamos en Apache desde el navegador
http://localhost
Visualizamos en nginx desde el navegador
http://localhost:8090
Debemos visualizar un mensaje similar a
Running on HHVM version 2.4.0-dev HipHop
Ejecución por consola
$> hhvm /var/www/index.php