Zum Inhalt

Laravel mit Windows und XAMPP aufsetzen

Setup

Um Laravel auf Windows mit XAMPP zum Laufen zu bringen benötigen wir zunächst XAMPP. Zusätzlich wird Composer benötigt, um die verschiedenen Abhängigkeiten zu laden. Und letztlich wird auch GitHub benötigt, da Composer mit Github arbeitet.

Installiere also zunächst ( falls noch nicht geschehen ) die folgenden Programme:

 - XAMPP https://www.apachefriends.org/de/download.html

 - GitHub https://git-for-windows.github.io/

 - Composer https://getcomposer.org/download/

Stelle sicher, dass für GitHub und Composer jeweils die Path-Variable entsprechend konfiguriert ist. 

Setup Testen

Bevor wir weitermachen sollte das Setup einmal getestet werden.

XAMPP

Starte Apache und Mysql und stelle sicher, dass beide auf Running stehen

Composer

Öffne eine Konsole und tippe "composer about" ein. Stelle sicher, dass der Befehl gültig ist.

GitHub

Öffne eine Konsole und tippe "git --version" ein. Stelle sicher, dass der Befehl gültig ist.

Laravel Installer

Am einfachsten lässt sich Laravel über den Laravel Installer aufsetzen. Öffne dazu zunächst die Konsole und lade den Installer.

composer global require "laravel/installer"

Danach ist das Kommando laravel new verfügbar, über welches du ein neues Laravel Projekt initialisieren kannst.

laravel new blog

Vergiss nicht vorher in den entsprechenden Ordner zu navigieren. Solltest du XAMPP standardmäßig auf C: installiert haben wäre das wie folgt zu lösen:

cd C:/xampp/htdocs
laravel new blog

Composer lädt nun alle benötigen Abhängigkeiten und platziert diese in dem Ordner blog (für das gegebene Beispiel)

Virtual Host

Nach der Installation sollte sichergestellt werden, dass der Webroot unseres localhosts auf den public Ordner unseres Laravel Projektes zeigt. Da wir eventuell mehrere Projekte auf dem localhost laufen lassen wollen, ist es nicht zu empfehlen, den localhost direkt auf diesen Ordner zeigen zu lassen.

Eine gute Alternative ist ein Virtual Host. Dieser läuft letztlich auch über den localhost, bietet uns jedoch die Möglichkeit eine Host zu simulieren. Dadurch können wir später z.B. über http://blog.dev auf unsere Anwendung zugreifen.

Hosts anpassen

Zunächst musst du in der Systemdatei hosts einen Eintrag hinzufügen. Öffne dazu 

C:/Windows/System32/drivers/etc

Dort befindest sich die hosts Datei. Diese muss nun im Administratormodus bearbeitet werden. Verwende am besten ein Programm wie Notepad++ welches beim Speichern erkennt, dass der Admin Modus nötig.

# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 localhost
127.0.0.1 blog.dev

Füge einen neuen Eintrag hinzu um deinen localhost 127.0.0.1 mit deiner lokalen, virtuellen Domain zu verknüpfen (blog.dev). In dem oben gegebenen Beispiel ist lediglich der Eintrag 127.0.0.1 blog.dev neu hinzugekommen. Das # wird zum auskommentieren verwendet. Sollten die gezeigten Zeilen bei dir nicht auskommentiert sein, solltest du das noch tun.

Apache Konfiguration anpassen

Als nächstes müssen wir den Virtual Host in unserem Apache konfigurieren. Gehe dazu in folgendes Verzeichnis

C:/xampp/apache/conf/extra/

Dort befindet sich die Datei httpd-vhosts.conf. Öffne diese mit einem Editor deiner Wahl (z.B: Notepad++). Füge dort folgenden Eintrag hinzu:

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/blog/public"
    ServerName blog.dev
    ServerAlias blog.dev
    DirectoryIndex index.html index.php
    <Directory "C:/xampp/htdocs/blog/public">
        Options Indexes FollowSymLinks Includes ExecCGI
        Order allow,deny
        Allow from all
        AllowOverride All
    </Directory>
</VirtualHost>

DocumentRoot und Directory sollten dabei jeweils auf den public Ordner deines Laravel Projektes zeigen. Servername und Serveralias sollten dem Wert entsprechen, den du bereits in der hosts Datei gesetzt hast.

Außerdem musst du folgende Zeile entweder einmalig einfügen, oder (da bereits vorhanden) das #, welches in die Anweisung auskommentiert entfernen

NameVirtualHost *:80

Zu guter Letzt solltest du noch den standard localhost konfigurieren.

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
ServerAlias localhost </VirtualHost>

Wenn das geschafft ist, speichere deine Änderungen. Es ist nun wichtig Apache & Mysql in dem XAMPP-Control Panel neu zu starten.

Datenbank & Umgebungsvariablen

Nachdem Host und Laravel aufgesetzt sind, muss nun die Datenbank erstellt und mit Laravel verknüpft werden.

Öffne dazu phpmyadmin auf deinem localhost (http://localhost/phpmyadmin) Erstelle eine neue Datenbank. Optional kann hier auch direkt ein neuer Nutzer speziell für diese Datenbank angelegt werden.

Im Anschluss öffne die .env Datei in deinem Laravel Projekt. Sie liegt direkt im Projekt Root. Hier können Umgebungsvariablen für die Laravel Applikation gesetzt werden (Datenbank, Mailserver, Sessionhandling etc.).

Pflege hier nun deine Datenbank Daten ein.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=<db name>
DB_USERNAME=<db username>
DB_PASSWORD=<db password>

Zusätzlich solltest du die APP_URL pflegen

APP_URL=http://blog.dev

CACHE_DRIVER und SESSION_DRIVER lassen wir vorerst auf File. Solltest du weder Redis, noch Mail verwenden, kannst du diese vorerst aus der .env Datei entfernen.

APP_ENV=local
APP_DEBUG=true

Sorgen dafür, dass Fehlermeldung sichtbar angezeigt werden (inklusive Stacktrace). Dadurch müssen nicht ständig logs nachgelesen werden.

Testen

Damit ist vorerst alles Notwendige aufgesetzt. Du kannst nun testen, dass alles wie erwartet funktioniert.

Anwendung Abrufen

Öffne http://blog.dev (oder die Äquivalente URL, welche du als Virtual Host definiert hast) und stelle sicher, dass der Default Laravel Screen zu sehen ist.

Datenbank testen

Öffne eine Konsole und navigiere in dein Projekt. Rufe

php artisan migrate

auf um sicherzustellen, dass du die Nutzertabelle migrieren kannst. Diese ist standardmäßig vorhanden.

Nächste Schritte

Du kannst nun anfangen deine Anwendung zu entwickeln. Eine kleine Einleitung zur Entwicklung mit Laravel wird in einem anderen Tutorial dazu kommen.

Gute Tutorials für Laravel findest du hier: laracasts.com

Solltest du mit LESS oder SCSS arbeiten, musst du zu den bereits installierten Anwendungen auch noch Node.js installieren. Laravel verwendet Grunt um Less zu kompilieren, Scripts zu minifien und für vieles mehr.

Solltest du Node.js isntalliert haben musst du lediglich 

npm install

in deinem Projekt ausführen. Im Anschluss solltest du den Befehl 

grunt

ausführen können.

Veröffentlicht inTutorials

2 Kommentare

  1. Moin,

    schön, dass es doch noch aktive Laravel Blogger gibt. Leider sind es einfach viel zu wenige.

    Viele Grüße
    Dirk

  2. Julian Julian

    Hervorragend detailliert beschrieben, funktioniert auch 2019 noch wunderbar.

Schreibe einen Kommentar

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