Vagrant ist DER Begriff für alle Webentwickler unserer Zeit. Damit man sich eine immer gleiche, virtuelle Umgebung erzeugen kann, welche mit einer einzigen Datei konfiguriert werden kann, wird nun nicht mehr etwa Virtual Box oder VM Ware genutzt, sondern Vagrant, welches im Prinzip auf VM Software aufsetzt.

vagrant herunterladen

Normale Installation von vagrant via Shell

cd /einen-pfad-fuer-die-vm
vagrant box add laravel/homestead
vagrant init laravel/homestead;   #homestead ist der name

Der Name der VM kann nach belieben gewählt werden. Ich beschränke mich hier auf den offiziellen Namen der Entwicklertoolbox für Laravel, namens „homestead“.

Manuelle Installation für schwache Internetleitungen oder vagrant Installation hinter Proxy Server

Sollte die automatische Installation fehlschlagen, gibt es noch einen weiteren Weg. Hierzu müssen wir zunächst einen Ordner erstellen zB “LaravelTest01” und in diesen Ordner wechseln. Danach erfolgt der Download der aktuellsten vagrant Version (hier herausfinden). Im Link ersetzen wir die Version (siehe X.X.X wird zu 0.6.2 usw.) und Download der hc-download durch folgenden Link:

https://atlas.hashicorp.com/laravel/boxes/homestead/versions/X.X.X/providers/virtualbox.box

Nach dem Download erstellen wir eine neue Vagrant Maschine. Hierzu nutzen wir diesen Befehl:

vagrant box add laravel/homestead /Users/nemc10004/Downloads/hc-download

Nach diesem Befehl lassen wir Vagrant eine Konfiguration initiieren, welche nachher in der ./Vagrantfile zu finden ist.

vagrant init

Um die Maschine zu starten genügt der Befehl vagrant up und unsere Box ist gestartet. Um nun auf die VM zu verbinden, schieben wir noch den Befehl für eine SSH Verbindung hinterher:

vagrant ssh

Befehle vagrant

Die wichtigsten Befehle für den Start mit Vagrant

vagrant up --provider virtualbox    # Starten
vagrant halt    # Beenden
vagrant ssh  # Im VZ der VM machen
vagrant reload # Neustarten
nano Vagrantfile # config

Quelle: http://laravel.io/forum/05-06-2015-how-to-download-vagrant-box-manually

Laravel einrichten mit nginx oder apache2

  1. Per Befehl vagrant neustarten und mit ssh verbinden. Ich arbeite auf homestead immer mit nginx, da dieser Server eine gute Performance bietet.
  2. Auf eine Config je nach Server zugreifen und bearbeiten 
    1. /etc/apache2/sites-enabled/LaravelTest01.conf
    2. /etc/nginx/sites-enabled/LaravelTest01.app
  3. Die jeweilige Config mit aktueller PHP Version (fpm or not, 5.0, 6.0 etc..) anpassen und ggf. andere Änderungen vornehmen
    (aktuelle PHP Version zu finden in /var/run/php)
  4. Webserver neustarten
    1. sudo service nginx restart
    2. sudo /etc/init.d/apache2 restart
  5. Checken ob composer installiert, falls nicht einfach nachholen (siehe unten).
  6. Ordner /Code erstellen und dorthin wechseln.
  7. composer global require "laravel/installer" 
    

    ausführen. Es werden einige wenige Abhängigkeiten heruntergeladen.

  8. composer create-project --prefer-dist laravel/laravel Laravel

    ausführen, wobei Laravel für den jeweiligen Projektnamen steht (gleichnamiger Ordner unter /Code) und laravel/laravel für das zu verwendende Composer Package.
    Hier werden weitaus mehr Abhängigkeiten heruntergeladen und installiert.
    Zuletzt wird automatisch mittels

    php artisan key:generate

    ein Application Key erstellt.

  9. Ordnerstruktur unter /Code/Laravel sollte nun ähnlich sein:

    app  bootstrap  composer.lock database  package.json public resources    storage 
     vendor artisan composer.json config   gulpfile.js   phpunit.xml readme.md   server.php  
     tests
  10. Apache oder nginx neustarten (siehe Punkt 4)
  11. Rechte checken (vagrant statt root) und ggf. in /Code/Laravel mit

    chown vagrant:vagrant -R *


    updaten

Composer installieren

Sollte der composer nicht installiert sein, so kann man dies mit einem einzigen Befehl nachholen:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Composer wird heruntergeladen und installiert und global (also auf dem ganzen virtuellen System) unter dem Befehl composer erreichbar sein. Um die Installation zu überprüfen, genügt die Eingabe des Befehls

composer

Die Ausgabe sollte wie folgt beginnen:

   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/