HHVM/Vagrant
< HHVM
This page is obsolete. It is being retained for archival purposes. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date. |
MediaWiki-Vagrant now serves wikis using PHP by default. The notes below are left as a historical record of the process for older MediaWiki-Vagrant installs.
With the latest version of MediaWiki-Vagrant, it should be possible to enable HHVM automatically by running vagrant enable-role hhvm
and then reprovisioning.[1]
If you need to do it manually for some reason, the following steps install HHVM in Vagrant and configure it to work with the web server. (Add sudo
as necessary.)
- Install the prebuilt HHVM package for Ubuntu 12.04 using the instructions at https://github.com/facebook/hhvm/wiki/Prebuilt-Packages-on-Ubuntu-12.04.
- Make HHVM start automatically at boot time with
sudo update-rc.d hhvm defaults
. - Install
libapache2-mod-fastcgi
usingsudo apt-get install libapache2-mod-fastcgi
.- You may need to add the
multiverse
repository to/etc/apt/sources.list
. For example:
- You may need to add the
deb http://archive.ubuntu.com/ubuntu precise main multiverse universe
deb http://archive.ubuntu.com/ubuntu precise-updates main multiverse universe
deb http://security.ubuntu.com/ubuntu precise-security main universe multiverse
- Create the directory
/var/www/fastcgi
and make it writeable by the web server. (I just didchmod 777 fastcgi
. There is probably a better way to do this, but since Vagrant is a local VM there isn't much security risk.) - Add the following to
/etc/apache2/httpd.conf
(modified from https://github.com/facebook/hhvm/wiki/FastCGI#apache-22):
<IfModule mod_fastcgi.c>
Alias /hhvm.fastcgi /var/www/fastcgi/hhvm.fastcgi
FastCGIExternalServer /var/www/fastcgi/hhvm.fastcgi -host 127.0.0.1:9000 -pass-header Authorization -idle-timeout 300
<Directory "/var/www/fastcgi">
<Files "hhvm.fastcgi">
Order deny,allow
</Files>
</Directory>
AddHandler hhvm-hack-extension .hh
AddHandler hhvm-php-extension .php
Action hhvm-hack-extension /hhvm.fastcgi virtual
Action hhvm-php-extension /hhvm.fastcgi virtual
</IfModule>
- Disable the PHP module in Apache (otherwise it seems to shadow HHVM) using
sudo a2dismod php5
. - Enable
mod_actions
usingsudo a2enmod actions
. - Restart the Vagrant box and navigate to http://localhost:8080/wiki/Special:Version. The version for PHP under Installed software should contain the string "hiphop".