Contao 4.4 LTS - Nutzung auf einem Managed Server

Für den Betrieb von Contao reicht ein Managed Server 1 von Providerdienste.de aus. Alle benötigten Komponenten für den Betrieb von Contao sind bereits vorinstalliert.

Systemvoraussetzungen

  • MySQL >= 5.0.3
  • PHP >= 5.6.0

Managed Server von Providerdienste.de erfüllen die Systemvoraussetzungen für Contao.

Wir konnten Contao sowohl mit PHP 5.6, als auch PHP 7.0, PHP 7.1 und PHP 7.2 erfolgreich installieren und nutzen. Wir empfehlen die Verwendung von PHP 7.1 oder 7.2. Es sollte zuvor geprüft werden, ob alle Erweiterungen die PHP-Version unterstützen. Die PHP-Version kann jederzeit über die pd-admin Oberfläche angepasst werden.

Benötigte PHP-Erweiterungen

Diese PHP-Erweiterungen sind auf allen Managed Servern von Providerdienste.de bereits vorinstalliert und müssen nur in der php.ini aktiviert werden.

Vorbereitung

Angebotseinstellungen

Wir empfehlen mindestens 256MB als Arbeitsspeicherlimit je Prozess. Bei umfangreicheren Contao-Installationen muss das Limit unter Umständen erhöht werden.

PHP-CLI und Composer

Für die hier aufgezeigte Installation wird der Composer verwendet. Zur Einrichtung des Composers befolgen Sie bitte die folgenden Schritte.

  1. Anpassen der PHP-CLI Version
  2. Installation des Composer

Anpassung der php.ini

Für Contao müssen Sie die php.ini anpassen. Dies gelingt am einfachsten über die pd-admin Konfigurationsoberfläche. Im Endkundenmenü unter

Allgemein => php.ini Editor

können folgende Einstellungen angepasst werden. Diese können im Browser mit Strg+F gesucht und angepasst werden:

allow_url_fopen=On
max_input_vars=2000

Zur Aktivierung der PHP-Extensions fügen Sie an beliebiger Stelle folgende Zeilen in die php.ini ein:

extension_dir=""
extension=intl.so
extension=imagick.so
extension=soap.so

Einrichtung einer Datenbank

Legen Sie in pd-admin in der Endkundenansicht unter „Datenbanken“ eine neue Datenbank für Contao an. Wir empfehlen die Einrichtung eines Datenbank-Unterkontos, welches nur Zugriff auf die Contao-Datenbank hat.

Installation mittels Composer

Loggen Sie sich per SSH in Ihrem Endkundenaccount ein und führen folgenden Befehl aus:

composer create-project contao/managed-edition <Ziel-Verzeichnis> 4.4.*

Als <Ziel-Verzeichnis> können Sie z.B. contao nehmen. Contao wird dann unter /home/<Endkunde>/contao installiert. Der Composer wird alle benötigten Abhängigkeiten lösen, die Pakete herunterladen und installieren. Dies kann einige Zeit benötigen.

Ist die Installation abgeschlossen, müssen Sie als nächstes das Zielverzeichnis (Webroot) in pd-admin umstellen. Gehen Sie dazu in die Endkundenansicht, dort auf

Subdomains => Übersicht => Aktion: Ziel

In unserem Beispiel wäre das neue Ziel ~/contao/web

Fehlermeldung

Unter Umständen kann es zu einem Speicherfehler bei Ausführung kommen:

PHP Fatal error:  Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) [...]

In dem Fall muss der Befehl mit COMPOSER_MEMORY_LIMIT=-1 davor ausgeführt werden:

COMPOSER_MEMORY_LIMIT=-1 composer create-project contao/managed-edition <Ziel-Verzeichnis> 4.4.*

Contao Installtool

Das Installtool rufen Sie über die URL www.example.net/contao/install auf. Anstelle von www.example.net verwenden Sie bitte Ihre eigene Domain.

  1. Nach akzeptieren der Lizenzbedingungen müssen Sie ein Passwort für das Installtool festlegen. Dies muss mindestens 8 Zeichen lang und Komplex (Ziffern, Buchstaben, Sonderzeichen) sein. Es empfiehlt sich dafür ein Passwortgenerator zu verwenden.
  2. Als nächstes geben Sie die Daten für den Datenbankzugriff ein und aktualisieren im darauf folgenden Schritt die Datenbank.
  3. Zum Schluss wird ein Administratorkonto angelegt. Der Benutzername kann frei gewählt werden. Es empfiehlt sich hier nicht einen üblichen Benutzernamen wie admin oder administrator zu wählen. Das Passwort muss wieder mindestens 8 Zeichen lang sein, sollte ebenfalls komplex und nicht identisch mit dem Passwort des Installtools sein.

Die Installation ist abgeschlossen und man kann sich am Backend von Contao anmelden.

Verwaltung von Erweiterungen

via Composer

Die Verwaltung von Erweiterungen mittels Composer gestaltet sich sehr simpel. Hierfür müssen Sie sich wieder per SSH auf Ihrem Managed Server von Providerdienste.de einloggen und in das Verzeichnis der Contao Installation wechseln. In unserem Beispiel ist dies /home/<Endkunde>/contao.

Suche nach Paketen

Zur Suche nach Paketen verwenden Sie folgenden Befehl:

composer search <Begriff>

Möchte man z.B. nach rockslide Paketen suchen sähe dies wie folgt aus:

composer search rockslide

Pakete/Erweiterungen installieren

Wir nehmen beispielhaft die Erweiterung madeyourday/contao-rocksolid-custom-elements, welche wir für Contao installieren möchten. Dies geschieht mit folgendem Befehl:

composer require madeyourday/contao-rocksolid-custom-elements

Es können dabei auch mehrere Pakete mit Leerzeichen getrennt hintereinander angefügt werden. Der Composer löst alle Abhängigkeiten und installiert die Pakete.

Im Anschluss muss das Installtool aufgerufen und ausgeführt werden, damit die Datenbank angepasst wird.

Aktualisierung von Paketen/Erweiterungen

Die Aktualisierung von Paketen/Erweiterungen erfolgt mit folgendem Befehl:

composer update

Pakete/Erweiterungen entfernen

Möchte man die o.g. Erweiterung madeyourday/contao-rocksolid-custom-elements wieder entfernen geht dies ganz einfach über folgenden Befehl

composer remove madeyourday/contao-rocksolid-custom-elements

Auch hier muss im Anschluss das Installtool ausgeführt werden, damit die Datenbank angepasst wird.

via Contao Manager

Für die Installation müssen Sie sich per SSH bei Ihrem Endkundenaccount einloggen und folgende Zeilen ausführen

cd ~/contao/web
wget https://download.contao.org/contao-manager.phar
mv contao-manager.phar contao-manager.phar.php

Der Pfad ~/contao/web kann bei Ihnen abweichen, wenn Sie Contao in einem anderen Verzeichnis installiert haben.

Der Contao Manager ist herunter geladen und über http://www.example.net/contao-manager.phar.php aufrufbar. Als Domainnamen müssen Sie hier Ihren eigenen angeben.

Als nächstes müssen Sie einen Nutzer für den Contao Manager anlegen. Der Contao Manager prüft nun die PHP Konfiguration. Klicken Sie auf „Konfiguration“ und wählen „Anderer“. Nun müssen Sie den korrekten Pfad für die PHP-Binary angeben. Verwenden Sie dazu bitte das zuvor angelegt PHP Skript:

/home/<Endkunde>/bin/php

Achtung!

Wird der Contao Manager verwendet, muss im Angebot des Endkunden das Speicherlimit auf mindestens 1024MB und die CPU-Zeit auf mindestens 60 Sekunden erhöht werden. Bei unseren Tests kam es mit geringeren Werten zu Abbrüchen und Fehlern des Contao Managers.

Hohe Werte bei der CPU-Zeit sollten vermieden werden. Wir empfehlen daher die Verwaltung von Paketen/Erweiterungen via Composer.

Performance-Verbesserung

Auf allen Managed Servern von Providerdienste.de sind bereits verschiedene PHP Versionen vorinstalliert. Für eine optimale Performance empfehlen wir die Nutzung von PHP 7.1 oder 7.2 in Verbindung mit Opcache.

Caching aktivieren

Unter Layout -> Seitenstruktur kann man in den Einstellungen der jeweiligen Seite unter Cache-Einstellungen das Caching aktivieren.

Man kann die Cache-Zeit einmal für den Server und einmal für den Client festlegen. Für rein statische Seiten kann der Wert auf 24 Stunden gestellt werden. Bei dynamischen Seiten sollte ein geringerer Wert verwendet werden.