Planet

Unser Planet sammelt interessante Artikel aus verschiedenen Quellen und fasst sie zu einem Feed zusammen. Die dann auf unserer Website gelesen werden können.

Weiterlesen »

Community

Herzlich willkommen in der deutschsprachigen Community für alle, die sich für Webentwicklung und Linux interessieren.

Weiterlesen »

Laravel Homestead + Vagrant + Virtualbox

Laravel Homestead - ist ein praktischer und sehr funktionaler lokaler Webserver für alle PHP Projekte.

Homestead - verwendet Vagrant und Virtualbox, wodurch wir sehr schnell und einfach eine neue Instanz für einen neuen Projekt erstellen können. Dazu müssen wir lediglich eine YAML-Datei anpassen und einen Konsolenbefehl der Vagrant-Anwendung ausführen, den Rest mach Vagrant für uns.

Im Homestead ist bereits vorinstalliert:

  • Ubuntu
  • Versionskontrollsystem Git
  • PHP Interpret
  • Nginx Webserver
  • MySQL Server MariaDB
  • Paketmanager Composer
  • Node (PM2, Bower, Grunt, and Gulp)
  • Caching-System Redis
  • Caching-System Memcached
  • Und vieles mehr...

Im Folgenden Artikel wird ausführlich beschrieben, was man alles machen muss, damit Homestead unter Ubuntu-Linux und macOS funktioniert.

Vorbereitung und installation

Zuerst müssen wir Virtualbox installieren:

Linux:

sudo apt-get install virtualbox virtualbox-qt virtualbox-dkms

macOS:

brew cask install virtualbox

Danach, installieren wir Vagrant:

Linux:

sudo apt-get install vagrant

Wenn Vagrant sich nicht starten lässt, liegt es wahrscheinlich daran, dass die Version veraltet ist (die aus dem Ubuntu Repository kommt). Die Lösung wäre: man deinstalliert Vagrant, lädt den deb Packet von der offiziellen Website herunter und installiert Vagrant erneut.

macOS:

brew cask install vagrant

Wenn wir noch kein Git installiert haben, müssen wir es noch dazu installieren:

Linux:

sudo apt-get install git

macOS:

brew cask install git

Jetzt können wir unseren Terminal aufmachen und folgende Befehl ausführen:

vagrant box add laravel/homestead

Damit fügen wir eine neue Vorkonfigurierte Vagrant Box hinzu.

Bei den Frage, welchen Provider wir verwenden möchten, wählen wir: "virtualbox" (3).

Nach dem wir das gemacht haben, müssen wir in den Home Ordner des Benutzer wechseln:

cd ~

Und das Homestead Repository mit Git klonen:

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

Anschließend wechseln wir in den Verzeichnis Homestead:

cd Homestead

und starten den Initialisierungsskript:

bash init.sh

Bei macOS erstellt der Skript automatisch einen neuen Ordner .homestead", in dem die Homestead Konfiguration Datei gespeichert wird.

Damit ist die Homestead Installation abgeschlossen!

Einstellung und Benutzung

Nun können wir mit der Einstellung beginnen:

Wenn wir macOS verwenden, müssen wir davor noch in den Ordner wechseln:

cd ~/.homestead

Wir öffnen die Datei "Homestead.yaml" mit dem Vim-Editor:

vim Homestead.yaml

Und ersetzen „Folders“ und "Sites“ mit:

folders:
    - map: ~/PhpstormProjects
      to: /home/vagrant/www
sites:
    - map: homestead.local
      to: /home/vagrant/www/Laravel/public
databases:
    - homestead

Statt „PhpstormProjects“ können wir einen Ordner eingeben, wo sich alle unsere Projekte befinden. Bei mir liegen alle Projekte in dem Ordner „PhpstormProjects“ und der Ordner selbst liegt in den Home-Verzeichnis des Benutzers.

Der Ordner „PhpstormProjects“ ist mit einem virtuellen Ordner des Virtualbox verlinkt und befindet sich unter "/home/vagrant/www".

In „sites“ müssen wir noch den Namen des Projekts eingeben und einen relativen Pfad zu dem Oderner „www“ eingen. So, wie wir es oben definiert haben.

In "databases" geben wir an, welche Datenbanken Homestead für uns erstellen soll.

Am ende kann es zB. so aussehen:

folders:
    - map: ~/PhpstormProjects
      to: /home/vagrant/www
sites:
    - map: homestead.app
      to: /home/vagrant/www/Laravel/public
    - map: aptenodytes.local
      to: /home/vagrant/www/aptenodytes
databases:
    - homestead
    - aptenodytes

Wenn wir macOS verwenden, müssen wir jetzt zum dem Homestead-Ordner wechseln:

cd ~/Homestead

und unseren neuen lokalen Server startet:

vagrant up

Und die Einstellungen übernehmen:

vagrant provision

Der Einfachheit halber können wir noch die /etc/hosts Datei bearbeiten und folgenden Inhalt einfügen:

127.0.0.1       homestead.local
127.0.0.1       aptenodytes.local

Jetzt ist unsere Website unter folgende Adresse verfügbar:

http://aptenodytes.local:8000

Um den Webserver herunterzufahren, reicht folgenden Befehl aus:

vagrant suspend

Wenn Ihr Fragen habt, schreibt gerne in die Kommentare :)

Schreibe einen Kommentar

  • BogusCurry
    BogusCurry schrieb:

    Moin, dachte lavarel wäre ein Framework oder ist das ein komplett anderes Projekt, aber demselben Namen? Tschö Bogus

    • dignity
      dignity schrieb:

      Hey :-) Richtig, "Laravel" ist ein PHP-Framework. Aber "Laravel Homestead" ist eine Skript Sammlung für schnelles aufsetzen von lokalen dev server (vereinfacht gesagt) für Laravel und andere PHP Projekte. Kommt aber alles von einen Projekt.


Einen neuen Kommentar hinzufügen