Installation bei 1&1 (mit Hürden)

  • 1&1 Backend
    • Verzeichnis für die Installation anlegen. Bsp.: c4/web
    • Subdomain anlegen und auf web zeigen lassen
    • PHP Version konfigurieren (hier 7.1; damit steht php7.1-cli auf der Konsole zur Verfügung)
  • contao-manager.par von contao.org herunterladen, in contao-manager.par.php umbenennen und in web hochladen
  • subdomain/contao-manager.par.php aufrufen und "follow the instructions"
  • Wenn der Contao-Manager irgendwann mit Fehler abbricht (Timeout), dann per ssh einloggen, in das vom Contao Manager angelegte Installationsverzeichnis gehen (web/../install-5a688cdd7b97c) und dort php7.1-cli composer.phar install ausführen (die composer.phar muss selbst dort abgelegt werden; s.u.)
  • Wenn diese Installation ohne Timeout erfolgreich durchgelaufen ist, den Inhalt des Installationsordners "eine Ebene nach oben" verschieben
  • Fertig!

Contao-Manager

Die Anwendung Contao-Manager funktioniert, wenn man sie verwenden will um Pakete zu installieren bekommt man aber auf Grund der dürftigen Serverressourcen Probleme mit Laufzeit oder Arbeistspeicher. Der Contao-Manager kann daher hier nicht vernünftig eingesetzt werden.

Konsole

Weiter geht's also auf der Konsole! Im Installationsverzeichnis (eine Ebene oberhalb von web) liegt die composer.json der Contao-Installation. Hier können zu installierende Erweiterungen eingetragen werden.

Bsp.: Bootstrap für Contao. Im Abschnitt require fügen wir folgendes hinzu

        "contao-bootstrap/core": "~2.0"

und rufen php7.1-cli composer.phar update auf. Auch hier bekommen wir wieder Probleme mit mangelndem Arbeitsspeicher ("Cannot allocate memory"). Also weiter auf dem lokalen Entwicklungsrechner :-(

Lokaler Entwicklungsrechner

Hier haben wir genügend Ressourcen -- wir können sie uns ja selbst zuteilen -- und können mit dem Contao-Manager oder auf der Konsole arbeiten.

Das Ergebnis -- die lokale composer.json und composer.lock -- übertragen wir dann auf den 1&1-Server und führen dort wie oben

php7.1-cli composer.phar install

aus. Das sollte (bzgl. Arbeitsspeicher) erfolgreich sein, denn zuvor haben wir damit ja Contao installiert.

Das Ergebnis können wir im Backend betrachten oder im Contao-Manager sehen, der nun die neuen Bundles anzeigt.

Composer

Um Composer auf der Kommandozeile ausführen zu können muss die Datei composer.phar irgendwo auf dem Server abgelegt sein. Bei unseren Beispielen haben wir sie der Einfachheit halber direkt dort abgelegt, wo wir sie benötigen.

Automatisierung: Lokale Entwicklung und Deployment auf den Produktionsserver