Webentwicklung mit Vagrant und Virtualbox

Und warum sollte man sich selber einen Server auf dem Rechner schaffen, wenn man doch schon irgendwo einen stehen hat? Da gibt es viele Antworten. Mit das wichtigste ist, dass die Dateien alle lokal vorhanden sind. Ich kann schnell Suchen und Navigieren, meine Tests ausführen oder auch mal neue Konfigurationen (PHP 7, HHVM oder MariaDB) testen. Ebenso spart man sich das ständige Deployment.

Grundlagen

Als Grundlage dient immer Vagrant und VirtualBox in der jeweils aktuellsten Version. Beides wird mit den Standardeinstellungen installiert, danach sind keine weiteren Einstellungen notwendig.

Allgemeine PHP Projekte

Für allgemeine PHP Projekte greife ich auf eine generierte Box von phansible.com zurück. Je nach Anforderungen wechsle ich zwischen MySQL und MariaDB, sowie PHP und HHVM.

Unter „Basic Options“ empfiehlt es sich unter Mac OS X und Linux den „Synced Folder Type“ auf NFS zu setzen.
Als Webserver kommt ausschließlich Nginx zum Einsatz.

phansible.com Konfiguration
phansible.com Konfiguration

Lädt man nun die Zip Datei herunter, erhält meine eine fertige Vagrantfile inklusive aller Rollen für Ansible.

Laravel

Für Laravel Projekte gibt es bereits eine komplette Konfiguration für Vagrant und Virtualbox. Die Installation und Verwendung wird sehr gut in der Laravel Dokumentation beschrieben.
Zu beachten ist, dass hier bereits PHP 7 zum Einsatz kommt, was wohl für den ein oder anderen etwas früh ist.

Ansible

Ansible ist ein Orchestration Tool, welches erlaubt Server aus der Ferne aufzusetzen, zu aktualisieren oder zu ändern. Unter Linux und OS X kann Ansible einfach über apt bzw. brew installiert werden. Für Windows ist Ansible so nicht verfügbar, aber da gibt es einen Trick.

Bekommt man eine Vagrantfile von phansible.com, dann beinhaltet diese auch ein windows.sh Skript. Dieses stößt Ansible innerhalb der Maschine an, nachdem diese gestartet wurde. So wird das Playbook abgespielt und alle Rollen werden installiert. Im Playbook stehen alle Rollen, die der Server erhalten soll. Aus einem Unix basierten OS kann das Playbook direkt abgespielt werden und braucht den Umweg über das Skript nicht. Für die obige Konfiguration würde das ungefähr so aussehen

Das Playbook kann allerdings erst abgespielt werden, wenn die Maschine gestartet wurde.

Virtuelle Maschine starten

Der Befehl ist für homestead als auch für phansible Konfigurationen gleich

Beim ersten Start wird die Box aus der Vagrantcloud geladen und danach gestartet. Unter Windows wird das Playbook nun automatisch abgespielt, in einem Unix OS ist es an der Zeit mit  ansible-playbook  es nun selber zu starten.

Ab jetzt ist die Maschine unter 192.168.12.12 (siehe Screenshot oben) erreichbar.

Viel Spaß beim lokalen Entwickeln!

Jan Emrich

"Das ist doch dieses Internet. Ich glaube das setzt sich durch!" - emmi Seit Jahren begeisterter Mac und PC Nutzer, Spieler, Programmierer, Entwickler, Designer und geek-tools-Liebhaber. Von allem ein wenig, aber nix richtig.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.