PHP 5.6 auf Rocky Linux 9 aus dem Quellcode installieren

PHP (Hypertext Preprocessor) ist eine weit verbreitete serverseitige Skriptsprache, die sich besonders für die Webentwicklung eignet. Die Version 5.6 bringt verschiedene Leistungsverbesserungen, Kompatibilität mit älteren Erweiterungen sowie Unterstützung für dynamische Module. Damit lassen sich dynamische Webseiten entwickeln, Daten verarbeiten und Datenbanken wie MySQL, Valkey und PostgreSQL nahtlos einbinden.

In dieser Anleitung wird gezeigt, wie man PHP 5.6 auf Rocky Linux 9 installiert. Obwohl diese Version das End-of-Life erreicht hat, setzen einige Anwendungen sie noch voraus und benötigen bestimmte Module. Sie lernen hier, wie man PHP 5.6 installiert und PHP-FPM so konfiguriert, dass es mit Backend-Diensten verbunden werden kann.

Voraussetzungen

Bevor Sie starten, stellen Sie sicher, dass Sie Folgendes haben:

  • Zugang zu einem Rocky Linux 9 Server als Nicht-Root-Benutzer mit Sudo-Rechten

Benötigte Abhängigkeiten für PHP 5.6 installieren

PHP 5.6 ist weder in den Standard-Repositories noch in Drittanbieterquellen für Rocky Linux 9 enthalten. Für den Betrieb wird OpenSSL 1.0.2 benötigt. Im Folgenden installieren Sie die Abhängigkeiten und bauen PHP 5.6 aus dem Quellcode.

Aktuelle OpenSSL-Version prüfen

Die Ausgabe sollte etwa so aussehen:

OpenSSL 3.2.2 4 Jun 2024 (Library: OpenSSL 3.2.2 4 Jun 2024)

Paketindex aktualisieren

PHP- und OpenSSL-Abhängigkeiten installieren

$ sudo dnf install -y gcc gcc-c++ make bison autoconf libxml2-devel bzip2-devel curl-devel libjpeg-devel libpng-devel libXpm-devel freetype-devel gmp-devel  libmcrypt-devel readline-devel libxslt-devel libicu-devel libxml2-devel bzip2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel libxslt-devel perl-core zlib-devel

OpenSSL 1.0.2 installieren

Zum Quellverzeichnis wechseln

OpenSSL herunterladen und entpacken

$ sudo wget https://www.openssl.org/source/openssl-1.0.2u.tar.gz
$ sudo tar -xvzf openssl-1.0.2u.tar.gz
$ cd openssl-1.0.2u

OpenSSL konfigurieren und kompilieren

$ sudo ./config --prefix=/usr/local/openssl-1.0.2 --openssldir=/usr/local/openssl-1.0.2 shared zlib
$ sudo make -j$(nproc)
$ sudo make install

OpenSSL-Umgebungsvariablen setzen

$ echo 'export LDFLAGS="-Wl,-rpath,/usr/local/openssl-1.0.2/lib"' >> ~/.bashrc
$ echo 'export CPPFLAGS="-I/usr/local/openssl-1.0.2/include"' >> ~/.bashrc
$ echo 'export PKG_CONFIG_PATH="/usr/local/openssl-1.0.2/lib/pkgconfig"' >> ~/.bashrc
$ echo 'export PATH="/usr/local/openssl-1.0.2/bin:$PATH"' >> ~/.bashrc
$ source ~/.bashrc

OpenSSL-Version überprüfen

Erwartete Ausgabe: OpenSSL 1.0.2u 20 Dec 2019

PHP 5.6 aus dem Quellcode bauen und installieren

PHP-Quellcode herunterladen

$ cd /usr/local/src
$ sudo wget https://museum.php.net/php5/php-5.6.40.tar.gz
$ sudo tar -xzf php-5.6.40.tar.gz
$ cd php-5.6.40

PHP-Kompilierungsoptionen konfigurieren

$ sudo ./configure --prefix=/usr/local/php-5.6.40 --with-openssl=/usr/local/openssl-1.0.2 --enable-mbstring --with-pdo-mysql --with-mysqli --enable-fpm --with-openssl=/usr/local/openssl-1.0.2

Hiermit wird das Installationsverzeichnis festgelegt, Erweiterungen wie mbstring und MySQL eingebunden und OpenSSL 1.0.2 integriert. Treten Fehler auf, prüfen Sie, ob Abhängigkeiten fehlen.

PHP kompilieren und installieren

$ sudo make -j$(nproc)
$ sudo make install

Nach erfolgreichem Bau und Installation sehen Sie Ausgaben wie:

  • Installation von Shared Extensions
  • Installation der PHP-CLI- und FPM-Binaries
  • Generierung von phar.phar und weiteren PHP-Komponenten

PHP-Version prüfen

$ /usr/local/php-5.6.40/bin/php -v

Beispielausgabe:

PHP 5.6.40 (cli) (built: Mar 19 2025 20:03:18)
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

PHP 5.6 FPM auf Rocky Linux 9 installieren und konfigurieren

PHP-FPM (FastCGI Process Manager) ist im Quellcode von PHP 5.6 enthalten und verbessert die Performance, indem es PHP-Prozesse effizienter verwaltet. Die folgenden Schritte zeigen, wie man PHP-FPM 5.6 installiert und als Dienst auf Rocky Linux 9 einrichtet.

PHP-FPM Konfiguration einrichten

Standard-Produktionskonfiguration kopieren:

$ sudo cp /usr/local/src/php-5.6.40/php.ini-production /usr/local/php-5.6.40/lib/php.ini

FPM-Konfigurationsvorlagen kopieren:

$ sudo cp sapi/fpm/php-fpm.conf.in /usr/local/php-5.6.40/etc/php-fpm.conf
$ sudo mkdir -p /usr/local/php-5.6.40/etc/php-fpm.d
$ sudo cp sapi/fpm/www.conf.in /usr/local/php-5.6.40/etc/php-fpm.d/www.conf

PHP 5.6 Binaries zum System-PATH hinzufügen und Shell-Konfiguration neu laden:

$ echo 'export PATH="/usr/local/php-5.6.40/bin:$PATH"' >> ~/.bashrc
$ source ~/.bashrc

Nicht-login Service-Benutzer für PHP-FPM erstellen:

$ sudo useradd -r -s /sbin/nologin www-data

PHP-FPM Konfigurationsdateien bearbeiten

Hauptkonfigurationsdatei anpassen:

$ sudo nano /usr/local/php-5.6.40/etc/php-fpm.conf

Folgende Werte eintragen:

pid = /run/php56-fpm/php56-fpm.pid
user = www-data
group = www-data

Anschließend die Standard-Pool-Konfiguration bearbeiten:

$ sudo nano /usr/local/php-5.6.40/etc/php-fpm.d/www.conf

Werte anpassen:

user = www-data
group = www-data
listen = 127.0.0.1:9000
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

FPM Laufzeit- und Log-Verzeichnisse vorbereiten

Erforderliche Verzeichnisse mit passenden Rechten erstellen:

$ sudo mkdir -p /run/php56-fpm
$ sudo chown -R www-data:www-data /run/php56-fpm
$ sudo chmod 755 /run/php56-fpm
$ sudo mkdir -p /usr/local/php-5.6.40/var/log
$ sudo chown -R www-data:www-data /usr/local/php-5.6.40/var/log
$ sudo chmod -R 755 /usr/local/php-5.6.40/var/log

PHP-FPM Konfiguration validieren

Prüfen Sie die Konfigurationsdateien auf Syntaxfehler:

$ sudo /usr/local/php-5.6.40/sbin/php-fpm -t

Erwartete Ausgabe:

[18-Apr-2025 20:34:37] NOTICE: configuration file /usr/local/php-5.6.40/etc/php-fpm.conf test is successful

PHP 5.6 FPM als Systemd-Dienst einrichten

Systemdienst-Datei erstellen

Öffnen Sie eine neue systemd-Dienstdatei für PHP 5.6 FPM:

$ sudo nano /etc/systemd/system/php56-fpm.service

Fügen Sie folgenden Inhalt ein:

[Unit]
Description=PHP 5.6 FastCGI Process Manager
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/php-5.6.40/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php-5.6.40/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
Restart=always
PrivateTmp=true
User=www-data
Group=www-data
WorkingDirectory=/usr/local/php-5.6.40

[Install]
WantedBy=multi-user.target

PHP-FPM Dienst aktivieren und starten

Systemd neu laden und den Dienst aktivieren:

$ sudo systemctl daemon-reload
$ sudo systemctl enable php56-fpm
$ sudo systemctl start php56-fpm

Status des PHP-FPM Dienstes prüfen

Überprüfen, ob der Dienst aktiv ist:

$ sudo systemctl status php56-fpm

Erwartete Ausgabe:

● php56-fpm.service - PHP 5.6 FastCGI Process Manager
Loaded: loaded (/etc/systemd/system/php56-fpm.service; enabled; preset: disabled)
Active: active (running) since Wed 2025-03-19 20:28:17 UTC; 19s ago
Main PID: 223702 (php-fpm)
Tasks: 3 (limit: 23116)
Memory: 2.5M
CPU: 32ms
CGroup: /system.slice/php56-fpm.service
├─223702 "php-fpm: master process (/usr/local/php-5.6.40/etc/php-fpm.conf)"
├─223703 "php-fpm: pool www"
└─223704 "php-fpm: pool www"

Der Dienst läuft erfolgreich, was durch den Status „active (running)“ bestätigt wird.

PHP 5.6 auf Rocky Linux 9 testen und ausführen

Um sicherzustellen, dass PHP 5.6 korrekt funktioniert, führen Sie die folgenden Schritte aus.

PHP-Version überprüfen

Erwartete Ausgabe:

PHP 5.6.40 (cli) (built: Apr 18 2025 14:44:08)
Zend Engine v2.6.0, Copyright (c) 1998–2016 Zend Technologies

PHP-Skript erstellen und ausführen

Neues Skript in Ihrem aktuellen Verzeichnis anlegen:

Folgenden Code in die Datei einfügen:

<?php

echo "Greetings from centron! \n";

?>

Skript ausführen:

Ausgabe:

Greetings from centron!

PHP 5.6 mit Nginx auf Rocky Linux 9 einsetzen

Um dynamische Inhalte mit PHP 5.6 FPM und Nginx bereitzustellen, gehen Sie wie folgt vor.

Nginx installieren und starten

$ sudo dnf install -y nginx
$ sudo systemctl start nginx

Nginx-Status prüfen

$ sudo systemctl status nginx

Beispielausgabe:

● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded
Active: active (running)

Nginx Virtual Host Konfiguration erstellen

Neue Serverblock-Konfigurationsdatei anlegen:

$ sudo nano /etc/nginx/conf.d/app.example.conf

Folgende Konfiguration einfügen (ersetzen Sie app.example.com durch Ihre Domain):

server {
    listen 80;
    server_name app.example.com;
    root /var/www/app.example.com;

    index index.php index.html index.htm;

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Nginx validieren und neu starten

$ sudo nginx -t
$ sudo systemctl restart nginx

Web-Root und PHP Info-Seite einrichten

$ sudo mkdir -p /var/www/app.example.com
$ sudo nano /var/www/app.example.com/info.php

Inhalt für info.php hinzufügen:

Damit werden PHP-Umgebungsinformationen im Browser angezeigt.

SELinux und Firewall konfigurieren

Nginx die Verbindung zu PHP-FPM erlauben und HTTP-Zugriff in der Firewall öffnen:

$ sudo setsebool -P httpd_can_network_connect 1
$ sudo firewall-cmd --add-service=http --permanent
$ sudo firewall-cmd --reload

Dienste neu starten

$ sudo systemctl restart php56-fpm
$ sudo service nginx restart

Setup im Browser prüfen

Rufen Sie http://app.example.com im Browser auf. Die PHP-Info-Seite sollte erscheinen und bestätigt die erfolgreiche Integration von Webserver und PHP-FPM.

Sicherheitshinweis

Achtung: PHP 5.6 wird nicht mehr gepflegt und erhält keine Sicherheitsupdates. Verwenden Sie es nur für Altsysteme, die nicht auf neuere Versionen migriert werden können.

Fazit

Sie haben PHP 5.6 und PHP-FPM erfolgreich auf Rocky Linux 9 installiert. Damit können Sie ältere Anwendungen weiterhin betreiben. Für bessere Sicherheit und Performance sollten Sie jedoch auf eine unterstützte PHP-Version umsteigen. Weitere Informationen und Migrationstipps finden Sie in der offiziellen PHP-Dokumentation.

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: