In diesem Artikel wird erklärt, wie eine lokale Entwicklungs-Umgebung für Web-Projekte und ein dazugehöriger Deployment-Prozess aufgesetzt wird. Zu diesem Zweck werden verschiedene Tools verwendet:

Vorbereitungen

Zuerst müssen die nötigen Tools installiert werden. VirtualBox und Vagrant können vom Anbieter kostenlos geladen und per GUI installiert werden. Hierzu sind keine speziellen Einstellungen vonnöten. Sobald die beiden Tools installiert wurden, geht es im Terminal weiter. Als nächstes wird eine sogenannte Vagrant Box installiert. Für Craft bietet sich die Box laravel/homestead an.

Installation der Komponenten

Um eine sogenannte Box für Vagrant zu installieren, wird das Terminal geöffnet und folgender Befehl ausgeführt:

vagrant box add laravel/homestead

Während der Installation erscheint eine Frage nach dem Provider, welche mit 1) virtualbox beantwortet wird. Nach der Installation der Box, wird composer installiert. Dies kann über folgenden Befehl im Terminal bewerkstelligt werden:

php -r "readfile('https://getcomposer.org/installer');" > composer-setup.php
php -r "if (hash('SHA384', file_get_contents('composer-setup.php')) === 'fd26ce67e3b237fffd5e5544b45b0d92c41a4afe3e3f778e942e43ce6be197b9cdc7c251dcde6e2a52297ea269370680') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); }"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Nach der Erfolgs-Meldung kann Homestead installiert werden, ebenfalls über das Terminal. Als Vorbereitung hierfür muss jedoch noch der Pfad zu Composer festgelegt werden, dass dieser direkt über “composer” im terminal erreichbar ist:

export PATH=$PATH:$HOME/bin
 PATH=$PATH:~/.composer/vendor/bin
 export PATH

Danach sollte folgender Befehl ausführbar sein (ohne Fehler- oder Erfolgsmeldung)

composer global require “laravel/homestead=~2.0"

Sollte das nicht klappen, kann alternativ auch über folgenden Befehl versucht werden:

php composer.phar global require “laravel/homestead=~2.0"

Nachdem dieser Schritt ausgeführt wurde, wird homestead initialisiert. Dies geschieht über folgenden Befehl im Terminal:

homestead init

Dies sollte eine Homestead.yaml Datei generieren. Sie befindet sich normalerweise im Verzeichnis /user/markus/.homestead/.

Generierung der ssh keys

Sollten noch keine ssh-keys vorhanden sein, können diese relativ einfach über das Terminal generiert werden:

ssh-keygen -t rsa -C “markus.straessle@me.com”

Hierbei werden neue keys generiert und im Benutzerverzeichnis abgelegt. (/users/markus/keys.pub)

Settings der virtuellen Maschine

Der Inhalt der vorher generierten Homestead.yaml Datei muss nun in folgender Art und Weise angepasst werden:

authorize: /users/mstraessle/.ssh/id_rsa.pub
keys:
 - /users/mstraessle/keys.pub
folders:
 - map: /users/mstraessle/sites/slottracks
 to: /home/vagrant/sites/slottracks
sites:
 - map: slottracks.dev
 to: /home/vagrant/sites/slottracks/public
databases:
 - db_slottracks

Hierbei müsste authorize bereits korrekt eingetragen sein. keys zeigt auf die vorher generierten ssh Keys, welche normalerweise direkt im Benutzerverzeichnis liegen. Nun wird der Inhalt im Dateisystem auf die Vagrant Box gemappt. -map zeigt hierbei auf das lokale Verzeichnis, auf welchem der Code besteht, oder bestehen wird. to zeigt auf das entsprechende Verzeichnis innerhalb der Vagrant Box. Sites dient dazu, die lokale URL für die Seite zu definieren. Der lokale Pfad to zeigt hierbei auf den “public” bereich im Dateisystem. Mithilfe von databases werden nun noch allfällig nötige Datenbanken eingerichtet. Hier muss lediglich ein Datenbankname eingegeben werden. Die Datenbank wird dann entsprechend erstellt. Nach dem Editieren wird das File dann noch gespeichert.

Craft DB-Settings vornehmen

Als nächstes werden diese Einstellungen Craft ebenfalls mitgeteilt. Dazu wird die Datei /craft/config/db.php aus dem lokalen Verzeichnis von CraftCMS geöffnet und angepasst. database ist hierbei der vorher gewählte Datenbank-Name im Homestead.yaml file. Standardmässig lautet der user homestead und das Passwort secret. Der Table-Prefix kann frei gewählt werden. Danach wird das File gespeichert.

Hosts Datei anpassen

Damit die Seite auf dem lokalen Browser über eine sprechende URL erreichbar wird, wird noch das hosts file entsprechend angepasst. Im Terminal kann das hosts File über folgenden Befehl im Editor (nano) geöffnet werden:

sudo nano /etc/hosts

Die Editierung der hosts Datei benötigt das Admin-Passwort. Nachdem dieses eingegeben wurde, kann das File editiert werden. Als Beispiel wird unter den vorhandenen Zeilen einfach eine neue Zeile hinzugefügt, die dann ungefähr wie folgt aussieht:

192.168.10.10    slottracks.dev

Die IP-Adresse entspricht hierbei der IP Adresse ganz oben der Homestead.yaml. Die URL hinten entspricht der gewählten URL im selben File. Die hosts Datei kann dann über Ctrl+X und anschliessender Bestätigung per Y und danach Enter gespeichert und geschlossen werden.