Apache/Apache+HTTP2+PHP-FPM+TLS1.3: Unterschied zwischen den Versionen

aus www.kruedewagen.de, Homepage von Ralf und Judith Krüdewagen (Kruedewagen)
Zur Navigation springen Zur Suche springen
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


Hinweis: AppArmor
===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

Worker

HTTP/2

TLS 1.3

PHP