Viele kennen die Probleme, die beim Aufsetzen einer Entwicklungsumgebung für ein neues TYPO3 Projekt auftreten können. Für den Betrieb von TYPO3 sind zunächst einige Grundvoraussetzungen zu schaffen. Man benötigt z.B. einen Webserver wie Apache oder NGINX, eine MySQL Datenbank oder Alternativen wie z.B. MariaDB, PHP 7 mit einer ganzen Reihe an zusätzlichen Modulen sowie optimaler weise Imagemagick oder Graphicsmagick für die Bildverarbeitung. Ggf. kommt noch ein Mailserver hinzu, wenn gewünscht ist, dass E-Mails über Kontakt- oder Bestellformulare versenden werden zu können. All diese Dienste müssen dann natürlich konfiguriert werden, damit sie den Voraussetzungen einer TYPO3 Installation entsprechen. Nicht zu vergessen ist die Installation von TYPO3 selbst, die sich dank Composer zwar enorm vereinfacht hat, aber dennoch an dieser Stelle erwähnt werden sollte. Idealerweise läuft dann das Projekt noch in einer virtuellen Maschine oder einem Container (z.B. Docker) um unabhängig von der Systemkonfiguration des Arbeits-PCs zu sein.
Wie man erkennen kann entwickelt sich der ganze Prozess sehr schnell zu einem kleinen Abenteuer und nimmt unter Umständen enorm viel Zeit in Anspruch. Wer möchte aber schon bei jedem neuen TYPO3 Projekt einen Teil seiner kostbaren Zeit allein mit dem Aufsetzen der Entwicklungsumgebung verbringen? Im Netz existieren zwar unzählige Beiträge und Anleitungen, wie man eine TYPO3 Installation optimal einrichten kann, aber die notwendigen Arbeitsschritte hat man in der Regel dennoch selbst auszuführen. Eine Automatisierung sämtlicher Prozesse die für die Einrichtung der Entwicklungsumgebung notwendig sind, wäre daher sehr wünschenswert und genau hier setzt das TYPO3 Bootstrap Projektan.
Auch wenn der Name im ersten Moment vielleicht vermuten lässt, dass es sich hierbei um eine weitere TYPO3 Extension handelt, welche Twitter Bootstrap in TYPO3 integrieren möchte, so handelt es sich bei TYPO3 Bootstrap stattdessen um ein Werkzeug zur automatisierten Einrichtung einer voll funktionsfähigen TYPO3 Installation per Knopfdruck.
Link zum Github Repository: https://github.com/dachande/typo3-bootstrap
Voraussetzungen
Grundvoraussetzung für den Einsatz von TYPO3 Bootstrap ist ein Linux System oder Mac OS. Der Einsatz unter Windows wäre prinzipiell zwar möglich, wurde aber bisher nie von mir getestet. Ich kann somit derzeit keine Garantie geben, dass TYPO3 Bootstrap auch unter Windows reibungslos funktioniert. Wer somit auf den Einsatz von Windows angewiesen ist, der ist vorerst auf sich alleine gestellt.
Des weiteren werden für den Betrieb von TYPO3 Bootstrap die folgenden Software-Pakete benötigt:
- VirtualBox – https://www.virtualbox.org/
- Vagrant – https://www.vagrantup.com/
- Ansible – https://www.ansible.com/
- Git – https://git-scm.com/
Unter Mac OS lässt sich die Software bequem über den Paketmanager Homebrew (https://brew.sh) installieren.Unter Linux können Ansible und Git in der Regel über die standard Paketquellen installiert werden. Für VirtualBox und Vagrant existieren entsprechende Pakete zum Installieren auf den Websites der Hersteller.
Damit die TYPO3 Installation bequem über einen Hostnamen aufrufbar sein wird, empfehle ich außerdem die Installation des vagrant-hostmanager Plugins. Dieses kann nach der Installation von Vagrant einfach über folgenden Konsolenbefehl nachinstalliert werden:
vagrant plugin install vagrant-hostmanager
Erste Schritte
Bevor man loslegen kann muss das Github Repository von TYPO3 Bootstrap geklont werden. Hierzu legt man sich als Erstes einen Projektordner an und führt innerhalb des Ordners folgenden Befehl über das Terminal aus:
git clone https://github.com/dachande/typo3-bootstrap.git .
Dabei darf man den Punkt am Ende nicht vergessen, da Git ansonsten noch einmal einen Unterordner anlegt.
Konfiguration
Ohne Konfiguration geht es dann doch nicht ganz, denn obwohl man bereits mit der mitgelieferten Standardkonfiguration eine funktionsfähige TYPO3 Installation erhält, macht es durchaus Sinn, zunächst die Konfiguration seinen Wünschen und Voraussetzungen entsprechend anzupassen.
Über die Konfigurationsdatei configuration.yml lassen sich diverse Einstellungsmöglichkeiten vornehmen. Hierunter fallen u.a:
- Hostname und IP-Adresse der virtuellen Maschine
- Datenbank-Einstellungen
- Mail-Konfiguration
- Zugangsdaten für den Administrator Account
- zu aktivierende Core-Extensions
- zu installierende Community Extensions (z.B. realurl, news, etc.)
Zudem sind noch viele weitere Einstellungsmöglichkeiten gegeben, die bei Bedarf angepasst werden können.
Los geht’s
Hat man die Konfiguration wie gewünscht überarbeitet, startet man den “Bootstrap” Prozess einfach durch Ausführen des folgenden Befehls:
vagrant up
Daraufhin beginnt das Tool seine Arbeit und meldet sich wenige Minuten und einen Kaffee (oder Tee) später mit einer einsatzbereiten Entwicklungsumgebung zurück.
Die durch TYPO3 Bootstrap aufgesetzte virtuelle Maschine enthält nun die folgenden Komponenten:
- TYPO3 8.7
- Apache 2.4
- MariaDB 10.0
- PHP 7.1
- GraphicsMagick 1.3
- MailHog 1.0.0
- PhpMyAdmin 4.5.4
- Node.js 6.x
Die TYPO3 Installation lässt sich anschließend über den zuvor in der Konfiguration festgelegten Hostnamen oder über die der virtuellen Maschine zugewiesenen IP-Adresse im Browser aufrufen.
Wurden hier keine Einstellungen verändert ist TYPO3 also unter den folgenden URLs erreichbar:
Frontend: https://typo3-bootstrap.test
Backend: https://typo3-bootstrap.test/typo3
Die TYPO3 Installation selbst befindet sich, sofern der Projektordner in der Konfiguration nicht geändert wurde, in /site/typo3-website/web. Hier findet man die bereits bekannte Verzeichnisstruktur von TYPO3 vor, u.a. mit den Ordern fileadmin, typo3conf, typo3temp, etc.
Wie geht es weiter?
Nun kann mit der Entwicklung des neuen TYPO3 Projekts begonnen werden. Falls weitere Extensions benötigt werden, können diese bequem über Composer installiert werden. Da es sich hierbei um eine auf Composer basierende TYPO3 Installation handelt, ist die Installation von Extensions über den Extension-Manager nicht mehr möglich. Man loggt sich daher per SSH in die virtuelle Maschine ein, wechselt in das Projektverzeichnis, in dem sich die Datei composer.json befindet und führt an dieser Stelle Composer mit den entsprechenden Parametern aus:
user@host$ vagrant ssh vagrant@vm$ cd /var/www/typo3-website vagrant@vm$ composer require vendor/extension-name
Hierbei ersetzt man dann vendor/extension-name durch die gewünschte Extension. Beispiel:
composer require georgringer/news
Ist Composer auch auf dem Host System installiert, kann man sich das Einloggen per SSH auf die virtuelle Maschine natürlich sparen und führt Composer stattdessen im Verzeichnis /site/typo3-website auf dem Host System aus.
Weitere Details zum Umgang mit TYPO3 und Composer findet man im TYPO3 Wiki unter https://wiki.typo3.org/Composer.
Die Dokumentation von TYPO3 Bootstrap (https://github.com/dachande/typo3-bootstrap/blob/master/README.md) bietet zudem noch weitere Informationen über die Installierten Dienste wie z.B. Mailhog.
Fazit
Mit TYPO3 Bootstrap bekommt man ein Werkzeug an die Hand, das es einem ermöglicht, wertvolle Zeit bei der Entwicklung von TYPO3 Websites einzusparen und bekommt somit die Möglichkeit geboten, im Handumdrehen neue Entwicklungsumgebung aufzusetzen, die immer nach demselben Schema aufgebaut sind. Über die Konfiguration lassen sich jedoch individuelle Anforderungen abbilden, die an die TYPO3 Installation gestellt werden.
Dies ist ein Gast-Beitrag von Daniel Schultheis.