HTTP / 2 unter CentOS 7 unter Apache mit PHP7

7

Nach einigen Recherchen kann ich keine Antwort finden für: So aktualisieren Sie Apache / httpd auf die neueste Version, um das HTTP / 2-Protokoll auf meinem VPS zu verwenden. Ich verwende PHP7 und meinen Server basierend auf Apache - CentOS 7.

Keine Paketaktualisierungen unter CentOS Standard-Repo.

[root@vps270238 ~]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov 19 2015 21:43:13

Ich möchte wirklich meine tatsächlichen Einstellungen und virtuellen Hosts behalten.

Damian Bartelmus
quelle

Antworten:

10

Sie benötigen Apache 2.4.18 oder höher, um HTTP / 2 zu aktivieren. Einige empfehlen jedoch mindestens Apache 2.4.23, da seitdem viele Änderungen an mod_http2 vorgenommen wurden (weiter unten beschrieben). Dies erfordert auch Software von Drittanbietern (nghttp2 und eine aktuelle Version von openssl).

Die Standard-Repos von Centos basieren auf Red Hat, bei dem Stabilität Vorrang vor den neuesten Funktionen hat. Daher bleiben sie in Versionen häufig zurück (obwohl sie mit Sicherheitspatches auf dem neuesten Stand gehalten werden - obwohl sie die Versionsnummer dafür gleich lassen).

Außerdem wird das mod_http2-Modul immer noch stark geändert ( fast täglich, wenn man sich die Releases ansieht !), So dass es immer noch auf dem neuesten Stand ist - obwohl es seit Monaten, in denen ich es ausgeführt habe, keine Stabilitätsprobleme gab.

Aus diesem Grund denke ich persönlich, dass der beste Weg, http / 2 unter Apache zu verwenden, darin besteht, die neueste Version aus dem Quellcode zu kompilieren. Dies ist natürlich nicht ohne Risiken. Zunächst verlieren Sie den Schutz der oben genannten einfach zu aktualisierenden Sicherheitspatches und müssen möglicherweise häufiger aktualisieren, um auf dem neuesten Stand zu bleiben (meiner Meinung nach keine schlechte Sache). Außerdem sollten Sie den Quellcode vor der Installation überprüfen (insbesondere für eine Anwendung wie Apache, die zumindest anfänglich als Root ausgeführt wird). Es ist also keine leichte Entscheidung.

Wenn Sie fortfahren möchten, ist die Installation aus dem Quellcode nicht so schwierig, wie es sich anhört. Ich habe einen Blog-Beitrag darüber, wie es geht und benutze auch Centos. Ich benutze kein PHP, bin mir also nicht sicher, ob du dafür zusätzliche Kompilierungsoptionen benötigst.

Beachten Sie auch, dass Apache standardmäßig in / usr / local / apache2 installiert wird. Dies ist gut, da Sie damit Ihre ursprüngliche Installation beibehalten können (falls Sie ein Rollback durchführen müssen), aber Sie müssen jede Konfiguration in / usr / local / apache2 / conf kopieren und den alten Apache stoppen (einschließlich aller Startskripte). und starten Sie den neuen Apache vom neuen Speicherort aus neu.

Barry Pollard
quelle
Danke für die Antwort. Ich kann bestätigen, dass Red Hat die Apache-Version enthält, soweit ich darüber gelesen habe. Ich dachte nur, dass es eine Möglichkeit gibt, PHP trotzdem mit einem anderen Repository zu aktualisieren. Vielleicht warte ich nur auf die offizielle Veröffentlichung. In Sachen Stabilität ist PHP mit Releases aufgrund von Schwachstellen weit voraus. Trotzdem nochmals vielen Dank, ich besitze dich.
Damian Bartelmus
0

Kurzer Tipp. Verwenden Sie nginx als Reverse-Proxy und aktivieren Sie httpd / 2. Und du wirst alle deine vhosts und htaccess behalten.

x86fantini
quelle
1
Mag Nginx nicht wirklich, es scheint schwieriger in der Konfiguration zu sein als Apache (oder es ist nur meine alte Schule)
Damian Bartelmus