Virtuellen Server für Laravel mit Homestead installieren

aktualisiert am 27. Januar 2019, erstellt am 20. Juni 2016 von Dirk Helbert in Entwicklungsumgebung
Laravel Homestead

Laravel Homestead wird früher oder später Einzug in deine Laravel Entwicklung halten. Ein virtueller Server ist irgendwann unverzichtbar. Am Anfang reicht auch php artisan serve um mit dem built-in Webserver von PHP zu arbeiten. Mit Valet auf dem Mac ist man dann auf der nächsten Stufe. Siehe dazu auch Blitzschnelles Prototyping mit Laravel Valet und Mac OS.

Doch irgendwann benötigt man einfach eine Serverumgebung. Zum Beispiel wenn Varnish, Redit oder Memcache getestet werden soll.

Hol dir jetzt mein kostenloses E-Book
Geben Sie Ihre Email Adresse ein und klicken Sie auf den Knopf "Sofort Zugang erhalten".
Ich stimme zu, dass meine Daten beim Newsletter Provider Mailchimp gespeichert werden. ( Datenschutzerklärung und Datenschutz Mailchimp )
Mit der Anforderung des eBooks meldest du dich zu meinem kostenlosen E-Mail Newsletter mit relevanten Informationen zur Webentwicklung sowie meinen Büchern und Leistungen an.

Und genau hier setzen wir jetzt auf Homestead in Verbindung mit VirtualBox und Vagrant.

Was bringt Laravel Homestead

Zuerst mal einen lauffähigen virtuellen Server, der unabhängig ist. Geht irgendwas schief, kann man ihn ganz einfach wieder in seinen Ausgangsstand zurück bringen. Zudem kann hier die neueste PHP Version getestet werden ohne ein wichtiges System zu stören. Außerdem kann man super einfach Elasticsearch installieren und testen.

Installation VirtualBox und Vagrant

Als erstes installiere ich VirtualBox. Eine Voraussetzung damit Vagrant überhaupt funktioniert. Natürlich könnte ich auch VMWare benutzen, aber ich arbeite schon seit Jahren mit VirtualBox.

Die Installation von VirtualBox und Vagrant ist für jedes Betriebssystem selbsterklärend. Daher gehe ich hier nicht näher darauf ein.

Homestead Box Image installieren

Vagrant arbeitet mit Images. Also Abbildungen von Betriebssystemen. Im Vagrant Universum auch Box genannt.

Für Homestead muss ich die Box jetzt noch runterladen:

vagrant box add laravel/homestead

Auf der Konsole werde ich jetzt gefragt ob ich die Box für parallels (1), virtualbox (2) oder vmware_desktop (3) laden möchte. Ich entscheide mich hier, wie bereits besprochen, für VirtualBox.

Das dauert jetzt eine Weile. So ein Image kann schon mal ein Gigabyte und größer sein. Schliesslich ist da ein komplettes Betriebssystem drauf. Meistens sind auch schon die wichtigsten Komponenten vorinstalliert. Bei mir hat der Download ca. 5 Minuten gedauert. Das Warten lohnt sich wirklich.

Auf meinem Mac habe ich den Befehl git bereits verfügbar. Auf meinem Windows PC installiere ich mir noch schnell Git for Windows.

Jetzt klone ich das Homestead Projekt lokal auf meinen Rechner mit:

git clone https://github.com/laravel/homestead.git Homestead
cd Homestead

Mac OS / Linux:

bash init.sh

Windows:

bash.bat

Dann erscheint:

Homestead initialized!

In der ~/.homestead/Homestead.yaml nehmen wir jetzt die Einstellung für unser erstes Projekt vor.

Wichtig für uns sind hier der folders und der sites Bereich.

folders:
    - map: ~/Code
      to: /home/vagrant/Code

sites: 
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public
    - map: hometest.app
      to: /home/vagrant/Code/hometest

Im Verzeichnis ~/Code sollten jetzt alle Projekte liegen, die mit Homestead zusammenarbeiten sollen. Dieses Verzeichnis wird in die virtuelle Maschine gemappt und ist dort dann unter /home/vagrant/Code verfügbar und wird synchronisiert.

Wir müssen jetzt noch die hosts Datei anpassen, damit wir http://hometest.app im Browser aufrufen können. Dazu einfach einen neuen Eintrag in /etc/hosts auf dem Mac oder unter Windows in \Windows\System32\drivers\etc\hosts den Host einfügen mit

192.168.10.10  hometest.app 

Virtuellen Laravel Homestead Server starten

Bevor ich jetzt starte, muss ich noch den Ordner ~/Code anlegen. Ansonsten gibt es eine Fehlermeldung, wenn das Verzeichnis nicht vorhanden ist.

Im Homestead Verzeichnis kann ich jetzt den virtuellen Server starten:

vagrant up

Der erste Start dauert jetzt ein paar Minuten.

In der Zwischenzeit erstelle ich in ~/Code/hometest die Testdatei index.php mit folgendem Inhalt:

<?php
phpinfo();

Wenn der Homestead Server gestartet ist, kann ich jetzt mit http://hometest.app im Browser das Projekt aufrufen und sollte nun die Ausgabe von phpinfo(); sehen.

Du hast jetzt eine perfekte Entwicklungsumgebung

Ich hoffe alles hat auch bei dir geklappt. Wenn alles gut gelaufen ist, dann habe ich jetzt einen lauffähigen virtuellen Server mit dem ich mehr Möglichkeiten als mit dem built-in Webserver von PHP. Der Aufwand einer solchen Installation ist sehr überschaubar. Es lohnt sich auf jeden Fall.

Solltest du einen Fehler gefunden haben oder an irgendeiner Stelle feststecken, hinterlasse einfach einen Kommentar. Danke!

Weitere Einstellungen findest du in der englischsprachigen Dokumentation.

Schreibe einen Kommentar

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