Das MongoDB Modul ist bei den PHP-Version von Plesk nicht in den Repositorys von Plesk enthalten. Um unter den verschiedenen PHP-Versionen von Plesk das PHP Modul für MongoDB zu bereitzustellen ist es notwendig dies mit Pecl zu installieren.
Für das Tutorial setzen wir ein CentOS 6 oder 7 und eine aktuelle Version von Plesk vorraus. In diesem Falls ist es ein CentOS 7 und Plesk in der Version 17.
Je nachdem, für welche der PHP-Version das MondoDB Modul installiert werden soll benötigen wir die nötigen devel-Paket für PHP aus dem Plesk-Repository und einen den gcc Compiler und die devel-Paket openssl.
Diese installieren wir wie üblich mit dem Paketmanager yum.
1
2
3
4
5
6
7
8
9
10
# php71
yum install gcc openssl-devel plesk-php71-devel
# php70
yum install gcc openssl-devel plesk-php70-devel
# ...
Anschließend rufen wir das pecl-Binary in der passenden PHP Version von Plesk und installieren das MongoDB Modul.
Seit einiger Zeit ist es möglich mit dem Plesk Autoinstaller weitere PHP-Versionen bereitzustellen. Dabei brauchen wir nicht umständlich andere Repos einbinden oder gar die gewünschte PHP-Version selbst kompilieren.
Das Tutorial zeigt wie man ganz einfach PHP 7 oder andere Versionen mit Hilfe von Plesk installiert. Vorrausgesetzt wird ein bereits installiertes CentOS 7 (oder CentOS 6) und eine aktuelle Version von Plesk. Zur Installation von Plesk habe ich bereits ein Tutorial verfasst, dies findet man hier: Plesk manuell installieren.
PHP 7 mit Plesk installieren
Nachdem wir uns als root am Server angemeldet haben können wir den Autoinstaller von Plesk mit folgenden Befehl starten:
1
/usr/local/psa/admin/bin/autoinstaller
Nach dem Start des Autoinstallers können wir den ersten Dialog durcharbeiten und landen dann im Hauptmenu.
Bittewählen Sie die zu installierenden Komponenten aus:
1.[=]Plesk Web hosting
2.[=]ProFTPD
3.[]Support forTomcat Java Servlets
4.[=]Webalizer
5.[=]AWStats
6.[]ModSecurity
7.[]Phusion Passenger server
8.[.]<+>Apache// 2 of 4 components selected
9.[.]<+>PHP interpreter versions// 4 of 7 components selected
10.[=]<+>Nginx web server andreverse proxy server// 1 of 1 components selected
(A)Alle auswählen,(D)Auswahl aufheben,
(L)Zurück zur Liste mit den primären Komponenten,(Q)Installation abbrechen
Geben Sie die Nummer ein,um die Komponente umzuschalten oder die Gruppe anzuzeigen;
Geben Sie die Nummer oder das entsprechende Zeichenfürdie gewünschte Aktion[L]an:
Dort wählen wir dann die gewünschten Versionen aus. Es ist sogar noch möglich eine alte PHP-Version wie 5.2 oder 5.3 auszuwählen. Allerdings rate ich von deren Benutzung ab!
Bittewählen Sie die zu installierenden Komponenten aus:
1.[=]PHP7.0
2.[=]PHP5.6
3.[=]PHP5.5
4.[]PHP5.4
5.[]PHP5.3
6.[]PHP5.2
7.[=]PHP5from OS vendor
(A)Alle auswählen,(D)Auswahl aufheben,
(L)Zurück zur Liste mit den primären Komponenten,(Q)Installation abbrechen
Um eine Komponente auszuwählen oder die Auswahl aufzuheben,geben Sie die entsprechende Nummer an;
Geben Sie die Nummer oder das entsprechende Zeichenfürdie gewünschte Aktion[L]an:
Nachdem nun die Auswahl getroffen ist und auch PHP 7 ausgewählt wurde beenden wir den Dialog und Plesk installiert uns selbstständig die gewählen PHP-Versionen aus dem eigenen Repository.
Diese Tutorial bezieht sich auf CentOS 7. Voraussetzung ist ein aktiviertes Epel Repository. Die Einrichtung unterscheidet sich nicht großartig von denen anderer Distributionen und kann auch dort als Beispiel dienen.
Die Einrichtung wird am Beispiel der Domain tutorial.der-linux-admin.de erklärt. Diese muss dann natürlich durch die passende Domain ersetze werden.
Installation von NGINX
Zuerst installieren wir den Webserver NGINX. Falls wir den aktuellen NGINX aus den NGINX-Repository installieren wollen gibt es eine passende Anleitung im meinem Artikel NGINX aus dem NGINX-Repository installieren.
1
yum install nginx
Nun aktivieren wir NGINX für den automatischen Start und Starten den Dienst.
1
2
systemctl enable nginx
systemctl start nginx
Falls firewalld auf unserem System läuft können wir mit folgenden Befehlen die Ports 80 und 443 in der Firewall freischalten.
1
2
3
4
5
firewall-cmd--add-service=http
firewall-cmd--permanent--add-service=http
firewall-cmd--add-service=https
firewall-cmd--permanent--add-service=http
NGINX sollte nun von extern erreichbar sein und eine Default-Webseite ausliefern.
Die umask von PHP-FPM ist in der Standardkonfiguration von CentOS 7 auf 022 eingestellt und lässt sich in der Konfigurationsdatei nicht mehr verändern.
Falls eine andere umask benötigt wird, wie in diesem Beispiel 002, muss dies wie hier beschrieben konfigurieren.
Wir erstellen eine eigenen systemd Service. Dazu erstellen wir die Datei /etc/systemd/system/php-fpm.service.d/php-fpm.service.conf falls diese noch nicht vorhanden ist.
CentOS 6 wird per default mit der PHP-Version 5.3.3 ausgeliefert. CentOS 7 bereits mit der PHP-Version 5.4.16. Die systemweite PHP-Version von CentOS zu ändern ist möglich, bringt aber vor allem bei der gleichzeitigen Verwendung vom Plesk zahlreiche Probleme.
Eine weitaus besser Variante ist es weitere aktuellere PHP-Versionen zusätzlich bereitzustellen. Das Tutorial zeigt wie bei CentOS 6 bzw CentOS 7 jeweils die PHP-Versionen PHP 5.4 und PHP 5.5 zusätzlich bereitgestellt werden.
Installation multipler PHP-Versionen unter CentOS
Wir installieren die optionalen PHP-Versionen aus den Red Hat Software Collections (SCLs). Dazu binden wir zunächst die nötigen Repositorys ein. Für jede zusätzlich PHP-Version sowie CentOS-Version gibt es ein eigenes Repository. Nach dem Einbinden des Repository können wir die einzelnen aktuelleren PHP-Versionen installieren. Das funktioniert wie folgt.
PHP-Versionen (PHP 5.4 / PHP 5.5) unter für CentOS 6
Installation des Software Collections Repository für PHP 5.5: