It can be done. Here is my example Ubuntu web server:
HHVM - Apache. FastCGI, . , HHVM script, . ...
sudo /usr/share/hhvm/install_fastcgi.sh
, HHVM , ... ()
sudo update-rc.d hhvm defaults
HHVM Apache
script HHVM, Apache. , 404 . hhvmproxyfcgi.conf ProxyPassMatch, .
sudo emacs /etc/apache2/mods-available/hhvm_proxy_fcgi.conf
PHP/Hack FastCGI, , - HHVM. - -, , , .
HHVM , . ProxyPassMatch -, HHVM. ( , , ).
sudo nano /etc/apache2/sites-available/hhvm.example.com.conf
# HHVM - hhvm.example.com
<VirtualHost *:80>
ServerName hhvm.example.com
DirectoryIndex index.php
DocumentRoot /var/www/sites/hhvm.example
ProxyPassMatch ^/(.+\.(hh|php)(/.*)?)$ fcgi://127.0.0.1:9000/var/www/sites/hhvm.example/$1
</VirtualHost>
<VirtualHost *:443>
ServerName hhvm.example.com
DirectoryIndex index.php
DocumentRoot /var/www/sites/hhvm.example
SSLEngine On
SSLCertificateFile /etc/ssl/certs/hhvm.crt
SSLCertificateKeyFile /etc/ssl/private/hhvm.key
SSLCACertificateFile /etc/ssl/certs/hhvm.ca.crt
ProxyPassMatch ^/(.+\.(hh|php)(/.*)?)$ fcgi://127.0.0.1:9000/var/www/sites/hhvm.example/$1
</VirtualHost>
, HHVM, A/B . /etc/apache2/ports.conf
Listen 8080
ProxyPassMatch , HHVM.
<VirtualHost *:80>
...
</VirtualHost>
<VirtualHost *:8080>
...
ProxyPassMatch ^/(.+\.(hh|php)(/.*)?)$ fcgi://127.0.0.1:9000/var/www/$1
</VirtualHost>
Apache HHVM
Apache HHVM . ...
sudo service apache2 restart
sudo service hhvm restart