Im Bereich der Webentwicklung sterben lokale Webserverpakete wie XAMPP mit der Zeit immer weiter aus. Der Grund liegt neben der schlechten Austauschbarkeit von XAMPP-Komponenten darin, dass die Systemumgebung des Entwicklungsrechners natürlich nicht exakt mit dem Produktivsystem übereinstimmt und somit Probleme bei der Plattformunabhängigkeit von Programmaufrufen auftreten können. Ein Beispiel sei strftime()
in PHP. Im Hintergrund wird hier eine C-Bibliothek aufgerufen, die unter Windows andere Funktionen bietet als unter Unix.
Oft bildet sich folgende Konstellation heraus: Entwickelt wird unter Windows, der Produktivserver läuft unter Linux. Nun wäre es eine feine Sache, wenn jeder Programmierer ein Entwicklungssystem hätte, das exakt der Konfiguration des Produktivsystems entspricht. Ein vielversprechender Ansatz besteht darin, dass jeder Entwickler das Zielsystem als virtuelle Maschine bei sich auf dem eigenen Rechner zur Entwicklung einsetzt.
Es könnte nun also jeder Entwickler hergehen und sich VirtualBox installieren, sich die ISO heraussuchen, die zum Produktivsystem passt, dann alle nötigen Programme installieren und bei jeder Änderung den Code auf die virtuelle Maschine überspielen. Das ist alles ziemlich aufwändig.
Vagrant bietet als Wrapper um Virtualisierungssoftware die Möglichkeit die Konfiguration für ein virtuelles System einmal in einem sogenannten Vagrantfile zu definieren. Jeder Entwickler, der nun dieses System nutzen will, kann dann per Kommandozeile diese „Box“ herunterladen und in genau dieser Konfiguration nutzen. Gängige Konfigurationen hat bereits jemand zusammengestellt, man kann diese „Boxen“ dann einfach selbst mit ein paar Kommandozeilenbefehlen herunterladen und nutzen.
Ich wollte also nun einmal Vagrant ausprobieren: Entwicklung einer Laravel Anwendung unter Windows mit altgedienten Entwicklungsumgebungen und Tools – Ausführung unter Linux. Für Laravel gibt es auch schon eine fertig zusammengestellte Vagrant-Box: Homestead.
Als Hürde empfand ich, dass die Tutorials alle nur detailliert auf eine Entwicklung unter Linux bzw. OSX eingehen – für Windows fehlen oft ein paar Kniffe. Als nicht Windows spezifische Basis empfiehlt sich: https://www.sitepoint.com/quick-tip-get-homestead-vagrant-vm-running/
Project\public
Folderfix.sh
, die im obigen Tutorial genannt ist, würde einige Ordner anlegen und Einstellungen treffen. Es handelt sich um ein Unix-Shell-Skript und kann unter Windows nicht verwendet werden. Daher schildere ich nachfolgend ein paar Konfigurationen für Windows
hosts
Datei unter C:/Windows/System32/drivers/etc/
als Admin bearbeiten.192.168.10.10 homestead.app
Homestead.yaml
Datei bearbeiten
sites: - map: homestead.app to: /home/vagrant/Code/Project/public
index.php
in Project\public
ablegen – z.B. mit dem Inhalt:
echo "Homestead über Vagrant läuft!";
vagrant up
Hiermit fährt man die Kiste hoch.vagrant ssh-config
Hiermit bekommt man die SSH Zugangsdaten angezeigt.vagrant
; als Passwort: vagrant
vagrant halt
in der Windows Eingabeaufforderung hält man die Box wieder an.Ich hoffe ich konnte einen ersten Einblick in Vagrant bieten.
Als erster einen Kommentar schreiben.
Schreibe einen Kommentar