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 Nutzer sudo 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:

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:

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:

PHP-Installation testen

Erstelle im Webroot-Verzeichnis eine Datei namens test.php mit folgendem Inhalt:

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.

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren:

Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

OpenCart auf Ubuntu 20.04 mit LEMP und SSL installieren

Tutorial, Ubuntu
OpenCart unter Ubuntu 20.04 mit LEMP Stack installieren OpenCart ist eine beliebte Open-Source-eCommerce-Lösung, die leistungsstarke Funktionen, eine benutzerfreundliche Verwaltung und eine zentrale Steuerung über ein einziges Backend bietet. Mit OpenCart…