HHVM on Virtualmin

Hi everyone!

I’m using Virtualmin with Apache as webserver on an Ubuntu 14.04 server. I recently installed HHVM and it works, however virtualmin doesn’t recognize it. When I go to Server Configuration -> PHP Versions it says “Your system only has PHP version 5.5.9 installed, so selecting a different version for each directory is not possible.”

Any hints on how to get it reccognized?

I was only able to set it up manually by edition the fcgi part within the webservers nginx.conf.

Virtualmin’s next update has been posted to include PHP7 which has similar advances found in HHVM. Search here for latest posts.

An advantage of using PHP7 is that it will likely have greater attention paid to backward compatibility and is the mainstream for Virtualmin-Webmin adoption. (why try to fix what is not broken). The only advantage I see in trying to install either PHP7 or HHVM ahead of the general availability in the Virtualmin environment is to get practice at fixing things yourself… ; ^).

Is it implemented now for 16.04 ubuntu? How to make fastest server with virtualmin with nginx (fastest then apache) and fastest db and this HHVM or PHP7 if the same for Wordpress?
I found and put up so far Nginx https://tjosm.com/4937/install-virtualmin-nginx-php-7-mariadb-ubuntu-16-04/

Didnt had so couldnt remove

DAV Login


Subversion repositories

Why AWstats reporting needs to be removed for nginx?

I have only on fresh system now as of today installed only theese plugins

BIND DNS domain
Mail for domain
Apache website
Webalizer reporting
SSL website
Log file rotation
MySQL database
PostgreSQL database
ProFTPD virtual FTP
Spam filtering
Virus filtering
Webmin login
AWstats reporting
Nginx SSL website
Nginx website
Protected web directories

On system info Status showing up

Postfix Mail Server
Dovecot IMAP / POP3 Server
ProFTPD FTP Server
SSH Server
MySQL Database Server
Nginx Webserver

Here is a comparison of PHP7 and HHVM.
Discussions of NGINX and PHP7-8 roadmaps: https://www.nginx.com/blog/future-nginx-nginx-plus/

Since this article was written there have been improvements to PHP7 that are said to improve performance an additional 10%-20%. HHVM may have improved as well but they probably remain close in performance.

The way performance is improved starts with the server stack setup and tuning to suit the applications expected to be more often run or that are most important to achieve optimal performance. Most of the focus tends to be on the web and mobile apps because snappy response has become expected. After that point, there can be more gains made by using compression, caching and other applications specific methods such as automatic combining of scripts, caching and then sending the combined script blocks. Use of CDNs can make sense for images, video and other static content. Another method that has become increasingly used by many high-volume websites is the use of ‘lazy load’ of content - only the first visible ‘page’ of text blocks and images more are initially loaded with additional content loaded afterward. Content is not loaded until the user scrolls to it. Some sites dynamically alter how much content is pre-loaded into the page depending on their server load. The use of application optimization and CDN may shift what and how the server is configured. For example, this may reduce the number of session calls to the server significantly while improving the throughput of each user.

The roadmap of PHP8 includes a JIT, just-in-time compiler contributed by ZEND. If that happens, then PHP7-8 would gain the advantage of HHVM while retaining the advantage of broad support. There is going to be some confusion in how this shapes up because NGINX also talks about a JIT scripting language capability.

The roadmap for NGINX/NGINX Plus includes improvements in virtualization including load balancing, a compiled script language. The NGINX and other websites talk about “flawless application delivery”: this includes a lot of things and is by no means a firm roadmap. I think what it means is similar to the path that virtualization, mobile networks, and computing environments are generally pursuing: to provide a framework which has the component resources to be optimized for different types of applications from those that require very low latency responses, such as voice and video messaging apps, to those that are server resource intensive. If the apps serve wide geographies, the performance can depend partly on load-balancing across a geo-distributed network.

PHP7+NGINX is a good starting point in my opinion. The differences between PHP7 and HHVM are not that much. The application optimization, as mentioned, may deliver good performance. Of course, it all depends on your/your company’s resources and specific needs.

Since this has been revived, and I saw a new post from the HHVM team today, I thought I’d follow up. We have no plans to directly implement HHVM in Virtualmin. PHP7 provides the performance benefits, and the HHVM team has begun to plan to diverge from PHP as the language they implement (instead focusing on Hack).


Since Hack is not in common usage currently, and the HHVM folks are recommending PHP7 for new PHP deployments, there’s no good argument for implementing HHVM support directly. Of course, nothing stops someone from implementing it themselves using Server Templates and a small custom post-create script. If you’re savvy enough to be using a niche language like Hack, you’re probably savvy enough to add some custom directives to the Server Templates and write a small shell script.

We are working on better proxy rule support for users of any application server that isn’t directly supported, which will be a nice feature to have, but isn’t necessary to implement any app server in Virtualmin today.