Support for HTTP/2 via mod_http2

Virtualmin needs HTTP/2 support. Virtualmin doesn't provide support for Apache mod_http2 on CentOS 7. Attempting to add support via third party repositories doesn't work either since Apache usually isn't compiled to serve content from /home.

I realized first hand the performance differences between HTTP/2 and HTTP when using TinyTiny RSS on a virtualmin server vs a cpanel server that supports HTTP/2. The performance boost is considerable.

You can see the performance differences yourself by going here: HTTP/2 Demo

Status: 
Active

Comments

Howdy -- thanks for contacting us!

As you saw, we don't offer any HTTP/2 support, as most of the distributions we support don't offer that. We don't provide Apache, that's offered by the various distributions Virtualmin runs on.

As I look into this, It does appear that HTTP/2 can be enabled in Ubuntu 18.04 and Debian 9 though, so we'll start the process of reviewing what needs done to fully support that.

I can't offer an ETA (it may still be a little ways off), but we'll start looking into that.

Note though that it's unlikely we'd ever support it on CentOS 7, but seeing that on other distros that already include support for it is what we'd be targeting.

Joe points out that Nginx has supported HTTP/2 longer than Apache... so while we're unlikely to support HTTP/2 in Apache on CentOS 7, it's plausible that we could at some point support HTTP/2 on Nginx on CentOS 7.

It should be possible with CENTOS and for example this REPO. https://codeit.guru/en_US/2018/08/apache-httpd-2-4-34-2-brotli-alpn-http2-openssl-1-1-0-red-hat-centos-rhel/

But if issues Support Virtualmin???

We'll work on a way to provide HTTP/2 support -- we're just saying we aren't going to provide packages for CentOS 7, most likely.

Once Virtualmin has HTTP/2 support, you could always manually install packages from a repo like that one you mentioned.

DEMO from above HTTP2 <>1

HTTP/2 Latency: 15ms Load time: 6.40s

HTTP/1.1 Latency: 19ms Load time: 4.25s

German INternet provider latest Firefox Windows 10 Pro

Second load:

HTTP/2 Latency: 15ms Load time: 5.95s HTTP/1.1 Latency: 49ms Load time: 8.57s

Here i'm following topics about HTTP2 support but not mean to push... ;)

Is there any update about this? I feel disadvantaged as a web host unable to provide http/2. It’s crazy to think something highly recommended by google and others is not being provided. Thanks.

Wich OS are you on while? Note though that it's unlikely we'd ever support it on CentOS 7, but seeing that on other distros that already include support for it is what we'd be targeting.

You can however switch to unsuported like the codeit guru repo for CENTOS 7

We are running ( only few small sites for over 1.5 years now with that HTTP2 and Virtualmin 6x) Now testing new fresh install virtualmin with again codeit guru repo is still working.

Les BUGS in Virtualmin 6 then back in august 2017 where email and some more was a .... ;) Only a few things now as i wrote here in forum GPL virtualmin and usermin.

I don't know the pollicy for virtualmin for Hosters and online Websites, only that Virtualmin is used for just more then that and therefore i presume having not "always" the newest stuff up todate more edgy things and so on.

It is a choice you have te deal with if using Virtualmin for Hosting! You always can install and change things yourself as SYSADMIN ofcourse and so on. For us the main reason for not using pro version while no support for such third party repo's. sorry guys Therefore i hope you are ok? in exchange i spend some time to write some Dutchy texts here in forum.?

Centos 7

About this though: "Note though that it's unlikely we'd ever support it on CentOS 7"

But why though? Is it not possible to add in even though Centos dont? Its just quite unbelievable to be honest years after http/2 comes out that its not supported. Google recommend it, your site is marked down if you dont have it. Its just highly highly recommended to have in websites.

Because Centos dont provide it means Centos is now no longer recommended for web servers due to missing such important web hosting features.

if you could add it in Virtualmin or provide a process then I think you need to seen as such a recommended feature of web hosting.

I have about 8 Centos servers with hundreds of websites, its not practical for me to just switch to a new distro for all those.

I have seen repos that claim to have it. The problem is I have no idea about the quality of these repos of people behind it, I am reluctant to just go add some strangers repo which installs software on my server. If there was a trustworty well known repo then I think it would be OK.

Is the codeit guru trusted and well known and well used?

"You always can install and change things yourself as SYSADMIN of course and so on" -> um no not really with many servers and hundreds of sites - but yes to new websites. Although its not really the attitude virtualmin should take, telling people to go use an alternative system. Thats a sure way to get your product killed!

Thanks

It's not that we don't want it to work on CentOS 7.

The issue is that the Apache version provided by RHEL/CentOS for CentOS 7 is older than what is needed for HTTP2 to work.

We don't provide the Apache packages -- the Apache package Virtualmin uses is the one provided by RHEL/CentOS (with one minor change, to point the suexec path to /home rather than /var).

Essentially, CentOS 7 is just too old for http2.

Your only real options are --

  1. Talk to the RHEL/CentOS 7 developers, who provide the Apache package for their distro

  2. Wait for CentOS 8

  3. Move to another distro

  4. Build your own Apache package containing the features you need

Each one of the above contains it's own benefits and drawbacks.

Personally, I'd go with #3, moving to another distro, if support for HTTP2 were that important -- but if that's not an option, and HTTP2 is necessary, than exploring one of those other options may be necessary.

For codit don't follow this manual you have to exclude and remove / replace some virtualmin packages if not installed with those excluded repo packages from scratch fresh install virtualmin!

But for trusted their repo is named here https://www.w3school-learn.com/2017/12/how-to-install-latest-apache-serv...

YUP you have to do or the /home in /var or rebuild with that docroot /home

And taking care for excluding in virtualmin repo while update..................

With al that you loose your Virtualmin pro Support i supose . ( partly or???? )

Hi is there any timeline for HTTP/2 support for the operating systems that already have support for that like Ubuntu 18.04? I tried different tutorials activating HTTP/2 support with virtualmin but without any success.

Thanks

It should be possible to enable HTTP2 support in a Linux distribution that has a new enough Apache version.

Just to try it out, I was going to try it on one of my personal servers, and for that I was going to use these instructions here:

https://helgeklein.com/blog/2018/11/enabling-http-2-in-apache-on-ubuntu-...

I haven't tried it yet, but that's the plan at some point in the future.

If you're having trouble with it, my suggestion would be to start a new Forum thread, and there, describe what you've setup so far and what trouble you're seeing.

This point is common to forget if doing so . ;) Switching Apache’s PHP Module from MPM Prefork to Event

I have followed that tutorial but after restarting apache it says something about PHP to be recompiled for mpm-event. I have a multi version install of PHP from add-apt-repository ppa:ondrej/php

If you have any additional questions, it's no problem to get support, but you'd want to do so using the Forums.

We'd encourage you to start a new Forum thread, and getting some input there. Thanks!