Apache/Apache+HTTP2+PHP-FPM+TLS1.3: Unterschied zwischen den Versionen
Rkr (Diskussion | Beiträge) K (→Apache) |
Rkr (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
Diese Seite beschreibt, wie man [[Apache]] so einrichtet, dass es '''HTTP/2''' beherrscht. Dabei wird gleich auch '''TLS 1.3''' und für PHP-Anwendungen '''PHP-FPM''' eingerichtet. Die Beispiele sind unter [[openSUSE]] entstanden. | Diese Seite beschreibt, wie man [[Apache]] so einrichtet, dass es '''HTTP/2''' beherrscht. Dabei wird gleich auch '''TLS 1.3''' und für PHP-Anwendungen '''PHP-FPM''' eingerichtet. Die Beispiele sind unter [[openSUSE]] entstanden. | ||
==PHP FPM== | ==Info zu HTTP/2== | ||
*https://en.wikipedia.org/wiki/HTTP%2F2 | |||
==PHP-FPM== | |||
PHP-FPM wird benötigt, da Apache für HTTP/2 nicht im Prefork-Modus laufen kann, sondern ein anderes Multi-Processing-Modul wie "event" verwendet werden muss (siehe unten). Das Standard-PHP-Modul für Apache funktioniert jedoch nicht mehr mit "event", so dass für PHP-Anwendungen eine andere Lösung implementiert werden muss. PHP-FPM läuft als eigenständiger Dienst und kann sowohl per TCP als auch per Unix Socket angesprochen werden. | |||
===Info=== | ===Info=== | ||
*https://wiki.apache.org/httpd/PHP-FPM | *https://wiki.apache.org/httpd/PHP-FPM | ||
===Konfiguration=== | |||
Datei ''/etc/php7/fpm/php-fpm.conf'': Default-Datei kann verwendet werden. | |||
Datei ''/etc/php7/fpm/php-fpm.d/www.conf'' (Erste Variante für TCP, zweite für Unix Socket - geht aber nicht parallel): | |||
<syntaxhighlight lang="php"> | |||
user = wwwrun | |||
group = www | |||
listen = 127.0.0.1:9000 | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="php"> | |||
listen = /run/php-fpm/php-fpm.sock | |||
listen.owner = wwwrun | |||
listen.group = www | |||
listen.mode = 0660 | |||
</syntaxhighlight> | |||
===Dienst einrichten und starten=== | |||
systemctl enable php-fpm | |||
systemctl start php-fpm | |||
Prüfen: | |||
*Prozesse laufen als ''wwwrun'': | |||
ps -ef|grep php-fpm | |||
*Socket-Datei (Rechte): | |||
ls -la /run/php-fpm/php-fpm.sock | |||
srw-rw---- 1 wwwrun www 0 10. Nov 15:47 /run/php-fpm/php-fpm.sock | |||
*Für TCP: | |||
netstat -an|grep 9000 | |||
===Fallstricke=== | |||
*php.ini einbinden | |||
*AppArmor | |||
==Apache== | ==Apache== |
Version vom 11. November 2020, 06:53 Uhr
Diese Seite beschreibt, wie man Apache so einrichtet, dass es HTTP/2 beherrscht. Dabei wird gleich auch TLS 1.3 und für PHP-Anwendungen PHP-FPM eingerichtet. Die Beispiele sind unter openSUSE entstanden.
Info zu HTTP/2
PHP-FPM
PHP-FPM wird benötigt, da Apache für HTTP/2 nicht im Prefork-Modus laufen kann, sondern ein anderes Multi-Processing-Modul wie "event" verwendet werden muss (siehe unten). Das Standard-PHP-Modul für Apache funktioniert jedoch nicht mehr mit "event", so dass für PHP-Anwendungen eine andere Lösung implementiert werden muss. PHP-FPM läuft als eigenständiger Dienst und kann sowohl per TCP als auch per Unix Socket angesprochen werden.
Info
Konfiguration
Datei /etc/php7/fpm/php-fpm.conf: Default-Datei kann verwendet werden.
Datei /etc/php7/fpm/php-fpm.d/www.conf (Erste Variante für TCP, zweite für Unix Socket - geht aber nicht parallel):
user = wwwrun
group = www
listen = 127.0.0.1:9000
listen = /run/php-fpm/php-fpm.sock
listen.owner = wwwrun
listen.group = www
listen.mode = 0660
Dienst einrichten und starten
systemctl enable php-fpm systemctl start php-fpm
Prüfen:
- Prozesse laufen als wwwrun:
ps -ef|grep php-fpm
- Socket-Datei (Rechte):
ls -la /run/php-fpm/php-fpm.sock srw-rw---- 1 wwwrun www 0 10. Nov 15:47 /run/php-fpm/php-fpm.sock
- Für TCP:
netstat -an|grep 9000
Fallstricke
- php.ini einbinden
- AppArmor
Apache
Info
- Apache HTTP Server unterstützt HTTP/2
- Apache HTTP/2 Modul mod_http2
- Apache HTTP/2 guide / HowTo
- how to h2 in apache
- How to enable HTTP/2 support in Apache