Kürzlich wurde ich gefragt, ob man eine alte auf Joomla! basierende Seite wieder zum Leben erwecken könnte. Nach der Umstellung auf PHP 7 waren viele alte Internetseiten nicht mehr erreichbar. Gerade durch den Wegfall der MySQL Erweiterung stellte das einige private Betreiber von Internetseiten vor schier unlösbare Probleme. Zwar kamen die Informationen der Provider rechtzeitig und wurden zum Teil sogar einige Monate nach hinten verschoben, dennoch haben es viele – was man nicht einmal zum Vorwurf machen kann – ignoriert. Solche Umstellungen sind durchaus sehr technische Themen und die Tragweite ist oft stark unterschätzt. Betreiber von V-Serveren hatten es hier durchaus einfacher. Sie konnten sich selbst entscheiden gar nicht erst zuaktualisieren, oder haben die MySQL Erweiterung für PHP 7 einfach nachinstalliert und weitere Funktionen angepasst.

In diesem Fall wurde eine Webserver Installation mit PHP 5.x und MySQL benötigt. Wie kann man dieses Problem lösen? – Ein Ansatz ist das Aufsetzen einer virtuellen Maschine mit einem betagteren Linux. Im Falle von PHP 5 und MySQL bietet sich hier bspw. eine CentOS6 Installation an. Sie bringt nahezu alles mit, was benötigt wird. Schon bei der Installation kann der Benutzer den „Webserver“ als Installationsoption auswählen.

Benötigt man jedoch weitere Pakete muss das Base Repository von CentOS angepasst werden

Die Einstellungen der Repository Daten finden sich in der Datei: /etc/yum.repos.d/CentOS-Base.repo. Der Inhalt der Datei kann gegen den folgenden ersetzt werden. Damit ist es wieder möglich Pakete für die 6er Distribution herunterzuladen und nach der Installation fehlenden Updates zu installieren.

[C6.10-base]
name=CentOS-6.10 - Base
baseurl=http://vault.centos.org/6.10/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1
metadata_expire=never

[C6.10-updates]
name=CentOS-6.10 - Updates
baseurl=http://vault.centos.org/6.10/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1
metadata_expire=never

[C6.10-extras]
name=CentOS-6.10 - Extras
baseurl=http://vault.centos.org/6.10/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1
metadata_expire=never

[C6.10-contrib]
name=CentOS-6.10 - Contrib
baseurl=http://vault.centos.org/6.10/contrib/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=0
metadata_expire=never

[C6.10-centosplus]
name=CentOS-6.10 - CentOSPlus
baseurl=http://vault.centos.org/6.10/centosplus/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=0
metadata_expire=never

Ein anschließendes „yum update“ bietet dann sofort einige Updates an.

root@vmcentos6:/etc/yum.repos.d # yum update

Suche ich jetzt bspw. via „yum search“ weitere PHP Erweiterungen, kann ich die in der Auflistung angbebotenen nachinstallieren.

root@vmcentos6:/etc/yum.repos.d # yum search php
Geladene Plugins: fastestmirror, security
Loading mirror speeds from cached hostfile

========================================= N/S Matched: php =========================================
cups-php.x86_64 : Common Unix Printing System - php module
graphviz-php.x86_64 : PHP extension for graphviz
php.x86_64 : PHP scripting language for creating dynamic web sites
php-bcmath.x86_64 : A module for PHP applications for using the bcmath library
php-cli.x86_64 : Command-line interface for PHP
php-common.x86_64 : Common files for PHP
php-dba.x86_64 : A database abstraction layer module for PHP applications
php-devel.x86_64 : Files needed for building PHP extensions
php-embedded.x86_64 : PHP library for embedding in applications
php-fpm.x86_64 : PHP FastCGI Process Manager
php-gd.x86_64 : A module for PHP applications for using the gd graphics library
php-imap.x86_64 : A module for PHP applications that use IMAP

[...]

Als Virtual Machine Host unter Linux kann ich guten Gewissens VirtualBox empfehlen. Wichtig ist nur, um die 64 BIT Funktionalitäten nutzen zu können, im Vorfeld die CPU Virtualisierung im Bios zu aktivieren.