PHP 7.3 unter Arch Linux mit Apache oder Nginx installieren
Systemvoraussetzungen
- Ein Server mit aktueller Arch-Linux-Installation
- Ein aktiver Webserver (Apache oder Nginx)
- Zugriffsrechte mit sudo
- Befehle, die mit Root-Rechten ausgeführt werden müssen, sind mit
#
markiert. Es wird empfohlen, als normaler Nutzersudo
voranzustellen - Ein installierter Texteditor (z. B. vi, vim, nano, emacs) und grundlegende Kenntnisse im Umgang damit
PHP und FastCGI installieren
Zur Einrichtung von PHP zusammen mit dem FastCGI-Prozessmanager führe folgenden Befehl aus:
# pacman -S php-fpm
Zeitzone für PHP konfigurieren
Besuche die offizielle Zeitzonenliste von PHP. Wähle z. B. „America/New_York“ und passe die Datei /etc/php/php.ini
wie folgt an:
date.timezone = America/New_York
PHP FastCGI aktivieren und beim Systemstart starten
Aktiviere den PHP-FastCGI-Dienst und stelle sicher, dass er beim Booten automatisch startet:
# systemctl enable --now php-fpm
PHP für Apache konfigurieren
Eigene Konfigurationsdatei für PHP-FPM anlegen
Erstelle die Datei /etc/httpd/conf/extra/php-fpm.conf
mit folgendem Inhalt. Achte darauf, keine Leerzeichen um das Pipe-Symbol zu setzen:
DirectoryIndex index.php index.html
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php-fpm/php-fpm.sock|fcgi://localhost/"
</FilesMatch>
Apache für FastCGI vorbereiten
Bearbeite /etc/httpd/conf/httpd.conf
und ergänze am Ende der LoadModule-Liste folgende Zeilen:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
PHP für gehostete Websites aktivieren
Um PHP global für alle Apache-Websites zu aktivieren, füge Folgendes am Ende der Datei /etc/httpd/conf/httpd.conf
hinzu:
Include conf/extra/php-fpm.conf
Falls du mit virtuellen Hosts oder getrennten HTTP/HTTPS-Verzeichnissen arbeitest, füge die Zeile innerhalb des jeweiligen <VirtualHost>
-Blocks ein.
Apache neu starten
Starte Apache neu, um die Änderungen zu übernehmen:
# systemctl restart httpd
PHP für Nginx konfigurieren
FastCGI-Konfiguration anlegen
Lege die Datei /etc/nginx/php.conf
an und trage folgenden Inhalt ein:
# Korrekte Behandlung von URLs wie /test.php/foo/blah.php oder /test.php/
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
try_files $uri $document_root$fastcgi_script_name =404;
# Schutz vor httpoxy-Schwachstellen
fastcgi_param HTTP_PROXY "";
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
Nginx-Serverblöcke anpassen
Bearbeite /etc/nginx/nginx.conf
oder die jeweilige Virtual-Host-Datei und füge in jedem relevanten Server-Block Folgendes ein:
location ~ \.php$ {
root /usr/share/nginx/html/;
include php.conf;
}
Nginx neu starten
Aktiviere die Konfiguration, indem du den Nginx-Dienst neu startest:
# systemctl restart nginx
PHP-Installation testen
Erstelle im Webroot-Verzeichnis eine Datei namens test.php
mit folgendem Inhalt:
<?php phpinfo(); ?>
Rufe http://DEINE-SERVER-ADRESSE-ODER-IP/test.php
in deinem Browser auf. Du solltest eine Seite mit Informationen zur PHP-Konfiguration sehen.
Lösche danach die test.php
-Datei, um sensible Informationen nicht öffentlich zugänglich zu machen.
Fazit
Mit diesen Schritten hast du erfolgreich PHP 7.3 samt FastCGI auf einem Arch-Linux-Server mit Apache oder Nginx eingerichtet. Die Funktionalität wurde mit einem Testskript geprüft. Achte darauf, Testdateien zu entfernen und deine Software regelmäßig zu aktualisieren, um ein sicheres und stabiles System zu gewährleisten.