Heute gibt es eine Kurzanleitung, wie man Vagrant unter Windows installiert.
Folgende Software benötigt man für die Arbeit mit Vagrant:
- Git
- VirtualBox
- Ruby
- Vagrant
Git installieren
Genau genommen kommt man ohne Git aus. Sollte es jemanden geben, der Git nicht verwendet, dann möchte ich die Installation zumindest ans Herz legen. Es gibt nämlich jede Menge Vagrant-Konfigurationen auf Github und co, die man sich als Startpunkt holen kann. Außerdem sollten die Vagrant- und Provisiong-Files als Teil des Software-Configuration-Managements wie der Rest der Anwendung versioniert werden.
Git ist für Windows als MSysGit verfügbar. Für die Installation holt man sich von dort die aktuelle Setup-Datei. Als ich diesen Artikel geschrieben habe, war die aktuelle Version 1.8.3.
Das Setup ist im Prinzip selbsterklärend. Die endgültige Konfiguration hängt von der eigene Umgebung und der beabsichtigen Einsatzweise ab.
Ich habe z.B. erfolgreich diese Einstellungen verwendet:
- Schritt „Adjusting your PATH Environment“:
„Run Git from the Windows Command Prompt“ - Schritt „Choosing the SSH executable“:
„Use OpenSSH“ oder „Use (Tortoise)Plink“ - Schritt „Configuring the line ending conversions“:
„Checkout-as-is, commit Unix-style line endings“
VirtualBox installieren
VirtualBox gibt es ebenfalls als Windows-Installations-Paket. Auf der Download-Seite sucht man sich das Windows-Paket heraus. Aktuell ist die Version 4.2.14.
Allerdings erzeugt 4.2.14 gemeinsam mit Vagrant 1.2.2 eine Fehlermeldung („Project object failure: RPC_S_SERVER_UNAVAILABLE“), weswegen man sich lieber von der Old-Builds-Seite die Vorgängerversion 4.2.12 holt. Zum Setup gibt es auch hier nicht viel zu sagen.
Ruby installieren
Damit man Ruby schmerzfrei unter Windows installieren kann, gibt es den RubyInstaller for Windows. Auch hier kann man sich – Überraschung – die aktuelle Setup-Datei ziehen. Im Moment ist das Version 2.0.0-p195.
Die Option „Add Ruby executables to your PATH“ sollte ausgewählt sein.
Vagrant installieren
Schließlich kommen wir zum eigentlichen Tool, Vagrant. Die Download-Datei gibt es hier. Mit 02.07.2013 ist die aktuelle Version 1.2.2.
Nächste Schritte
Wenn der Software-Gott gnädig ist, hat alles gut geklappt und man kann nun die ersten Tests fahren, zum Beispiel mit einer Testbox von Vagrant oder einer bei PuPHPet zusammengestellten Konfiguration.
Hallo Matthias!
Zum Thema Performance gibts ein nettes Plugin KLICK. Da die Dateien nicht direkt eingebunden, sondern nur synchronisiert werden kann man die volle „native-performance“ von Vagrant auskosten 🙂
Ab Version 1.5 ist es übrigens fix in Vagrant implementiert KLICK
lg aus Innsbruck
Hallo Andreas,
spitze – danke für den Hinweis! Wenn das mit Windows-Hosts gut funktioniert, wäre das ein Traum. 😉
Hallo Matthias,
danke, den Link zu den Performance Problemen mit PuPHPet hatte ich noch nicht gesehen. Ich werde es testen, aber es deckt sich mit meinen Beobachtungen: Ich konnte trotz der langen Ladezeiten keine Last auf den Prozessen in der VM feststellen. Einfache HTML Seiten wurden problemlos ausgeliefert. Wie gesagt, ich werde testen und berichten. 😉
Auch ich bin seit einiger Zeit dabei mir eine brauchbare Entwicklungsumgebung unter Windows mit Hilfe von Vagrant aufzubauen, zu optimieren und meine Abläufe als Frontend-Entwickler darauf abzustimmen.
Dabei kämpfe ich noch mit einigen offenen Punkten und Fragen:
– Wie bewerkstelligt ihr den File-Transfer zwischen der IDE unter Windows (in meinem Fall PhpStorm) und Vagrant? Ich nutze dafür momentan die Shared Folders, was aber unter Windows grade bei größeren Projekten (Magento Shops) nicht unbedingt die beste Wahl zu sein scheint. NFS steht leider nicht zur Verfügung. Wie macht ihr das? Samba Freigaben? SSHFS?
– PuPHPet hat mir auf Anhieb super gefallen – einfacher kann es wohl kaum sein. Allerdings habe ich mit den damit Erstellten Konfigurationen große Probleme mit der Performance von PHP (ein einfaches phpinfo() dauert 1-2 Minuten). Bei anderen fertigen Vagrant Umgebungen, z.B. https://github.com/BjoernSchotte/commerce-dev-environment habe ich diese Probleme nicht. Hat wer eine Idee, woran es liegen kann?
Nur soviel vorab: wir evaluieren gerade, ich habe das aber noch nicht produktiv im Einsatz.
– Das Thema „langsame Shared Folders“ bin ich noch nicht angegangen. Samba-Share wäre eine Möglichkeit. Ein anderer Gedanke, mit dem ich spiele: PhpStorm greift auf die (lokal vorliegenden) Files zu, auf Linux-Seite wird das gesharte Verzeichnis in Echtzeit an eine nicht gesharte Stelle synchronisiert (siehe lsyncd)). Der Webserver greift auf das nicht gesharte Verzeichnis zu. Abstriche muss man bei zweiterem aber machen, wenn der Webserver selbst Dateien erzeugt, die man einsehen möchte.
– Zum Performance-Problem siehe Websites mit VM aus PuPHPet-Vagrant-Konfiguration laden langsam. Vielleicht hilft das.
Ich habe auch mehrere Tage lang mit Vagrant/Puppet/Chef unter Windows gekaempft und mir sogar extra den kostenpflichtigen VMware Provider gekauft weil ich mit VirtualBox nur Probleme hatte. Ergebnis – ich mas das nur mehr am Mac. Unter Windows gabs nur ein Problem nach dem naechsten… Netzwerk, File-Locks in shared folder, usw. Viel Erfolg!
Wozu sollte man sowas machen wollen unter Windows 😡
Um darunter Linux-Maschinen aufsetzen zu können. 😉