Lokale Server-Entwicklungsumgebung mit Valet

Eine Server-Entwicklungsumgebung ist in der Webentwicklung zwingend notwendig, um Systeme lokal auf dem Computer zu entwickeln und testen. Als tägliche Arbeitsgrundlage muss diese diversen Anforderungen an den Leistungsumfang gerecht werden sowie performant und zuverlässig laufen. Eine res­sour­cen­scho­nende und unaufdringliche Alternative zu GUI-Anwendungen, Container-Diensten und virtuellen Maschinen bietet das Kommandozeilentool Valet.

Alternative zu GUI-Anwendungen, Container-Diensten und virtuellen Maschinen

Tools mit grafischer Benutzeroberfläche ermöglichen die einfache und schnelle Einrichtung einer lokalen Serverumgebung. Dem Komfort der Einfachheit stehen jedoch verschiedene Kompromisse gegenüber.

Auf der Suche nach Alternativen haben wir Valet ausprobiert. Die minimalistische Entwicklungsumgebung aus dem Hause Laravel konfiguriert den Rechner so, dass im Hintergrund stets ein Nginx-Server läuft. Dann leitet Valet mithilfe des Dienstes DnsMasq alle Anfragen an eine gewünschte Top-Level-Domain auf lokale Webprojekte weiter. Die Software ist schlank, flexibel, res­sour­cen­scho­nend und schnell. In unserem Arbeitsalltag ein optimales Werkzeug.

Valet installieren

Vorraussetzungen für die Installation von Valet ist das Betriebssystem MacOS sowie die Paketverwaltung Homebrew. Für Windows und Linux existieren Forks, die analog zu der folgenden Anleitung installiert, an einzelnen Stellen jedoch davon abweichen können.

Zunächst öffnet ihr den Terminal und installiert PHP und Composer mit Homebrew:

brew install php
brew install composer

Anschließend könnt ihr mit der Eingabe von composer überprüfen, ob Composer korrekt im System installiert ist. Wenn alles in Ordnung ist, seht ihr so etwas in eurem Terminal-Fenster:

Information im Terminal nach erfolgreicher Composer-Installation.

Sobald Composer einsatzbereit ist, könnt ihr Valet damit als globales Paket installieren und abschließend den Installationsbefehl ausführen. Dadurch werden Valet sowie DnsMasq konfiguriert und installiert. Außerdem werden die Hintergrundprozesse, von denen Valet abhängt, so eingerichtet, dass sie beim Systemstart ebenfalls gestartet werden.

composer global require laravel/valet
valet install

Ob die Installation erfolgreich war, könnt ihr im Terminal mit dem Befehl ping -c 1 foobar.test überprüfen. Valet ist einsatzbereit, wenn die Auflösung der Domain ohne Fehler erfolgt.

Terminal nach erfolgreich durchgeführtem Ping Test

Lösungen für »command not found valet«

Je nach Konfiguration eures Computers kann es vorkommen, dass Composer oder damit installierte Anwendungen nicht direkt funktionieren. Das ist insbesondere dann der Fall, wenn ihr schon sehr viel ausprobiert habt bzw. Build-Prozesse o.ä. bereits eingerichtet sind.

Im Falle von Problemen bei der Benutzung der Befehle composer oder valet, müsst ihr prüfen, ob Composer inkl. Abhängigkeiten von euch ausgeführt werden kann.

Lösungsansatz 1

Mit der Eingabe von chmod +x /usr/local/bin/composer im Terminal (ggf. mit sudo ausführen) stellt ihr sicher, dass euer Systemnutzer Composer ausführen kann.

Lösungsansatz 2

Ihr solltet bei Fehlern überprüfen, ob Composer im Pfad eures Benutzerkontos bekannt ist. Sollte es in der Datei unter /Users/my-username/.composer/vendor/bin (wobei my-username euer Nutzername ist) keinen Eintrag geben, könnt ihr diesen im Terminal mit echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.zshrc && source .zshrc hinzufügen. Wenn ihr eine andere Shell als Z-Shell (zsh) benutzt, muss das Beispiel entsprechend angepasst werden.

Valet benutzen

Serververzeichnis einbinden

Valet bietet zwei Befehle, mit denen Verzeichnisse eingebunden werden können: park und link. Der Befehl park registriert ein vollständiges Verzeichnis, wobei Valet die Unterverzeichnisse jeweils nach dem Schema subfolder.tld ausliefert.

Erstellt einen neuen Ordner, der als Server-Verzeichnis dienen soll. In diesem Beispiel nennen wir den Ordner »Valet-Umgebung«. Wechselt anschließend per Terminal in das Verzeichnis (cd ~/Valet-Umgebung) und verknüpft es via valet park mit Valet.

Ansicht im Terminal, nachdem das Verzeichnis »Valet-Umgebung« erfolgreich mit Valet verknüpft wurde.

Projektordner erstellen

Jeder Unterordner innerhalb von »Valet-Umgebung«, z.B. »kulturbanause-projekt«, erzeugt dann eine eindeutige Adresse. Im Browser ist die Seite anschließend unter https://kulturbanause-projekt.test erreichbar.

Verzeichnisstruktur des Beispiels mit Unterordner und PHP-Testdatei.
Ansicht des Beispiels im Browser unter der Testadresse »kulturbanause-projekt.test«

Soll nur ein bestimmtes Verzeichnis registriert werden, kann dies mit dem Befehl link erfolgen.

Valet beenden und starten

Wenn Valet gestoppt oder wieder gestartet werden soll, schreibt im Terminal

valet stop
valet start

Top-Level-Domain ändern

Valet verwendet standardmäßig die Top-Level-Domain ».test«. Das könnt ihr aber nach Belieben anpassen. Die folgende Eingabe in der Kommandozeile ändert die benutzte TLD von test zu kb, so dass unser Beispiel, das vorher unter https://kulturbanause-projekt.test erreichbar war, nun unter https://kulturbanause-projekt.kb ausgeliefert wird.

valet domain kb

Verschlüsselung aktivieren

Standardmäßig liefert Valet Websites über HTTP aus. Mit dem Befehl secure könnt ihr aber die Verschlüsselung für einzelne Websites aktivieren.

valet secure kulturbanause-projekt
Mit SSL gesicherter Valet-Projektordner

PHP-Version wechseln

Zwischen PHP-Versionen könnt ihr mit dem Befehl valet use php@version wechseln. Wird keine spezifische Version angegeben, wird die aktuelle Version benutzt. Valet installiert die angegebene Version über Homebrew, wenn sie nicht bereits installiert ist.

valet use php@7.4 # spezifische PHP-Version
valet use php # aktuellste PHP-Version

WordPress mit Valet einrichten

Wie ihr WordPress oder eine andere Datenbank basierte Software mit Valet betreiben könnt, haben wir in unserem ergänzenden Artikel Lokale WordPress-Entwicklungsumgebung mit Valet einrichten beschrieben.

Geschrieben von:

Konstantin Hanke

Benutzerbild

Konstantin arbeitet als Webentwickler bei kulturbanause. Seine Hauptaufgabe ist die technische Umsetzung von klaren, soliden und effizienten Webauftritten und Website-Komponenten. Darüber hinaus kümmert er sich um die Wartung, Optimierung und Weiterentwicklung von bestehenden Websites. Sein besonderes Interesse gilt der Idee von quelloffener, freier Software.

Jonas Hellwig

Benutzerbild

Jonas ist Gründer der Agentur kulturbanause und des kulturbanause Blogs. Er arbeitet an der Schnittstelle zwischen UX/UI Design, Frontend und Redaktion und hat zahlreiche Fachbücher und Video-Trainings veröffentlicht. Jonas Hellwig ist regelmäßig als Sprecher auf Fachveranstaltungen anzutreffen und unterstützt mit Seminaren und Workshops Agenturen und Unternehmen bei der Planung, der Gestaltung und der technischen Umsetzung von Web-Projekten.

Jonas Hellwig bei Xing

Raimund Büchner

Benutzerbild

Raimund ist oft die erste Ansprechperson bei kulturbanause. Er kümmert sich hauptsächlich um die Betreuung und Beratung unserer bestehenden als auch künftigen Kundschaft. Ein weiterer Schwerpunkt seiner Tätigkeit liegt im Design nicht unmittelbar sichtbarer Dinge: Struktur und Inhalte. Projekte unterstützt er daher vor allem in der Anfangsphase in Bereichen wie Informationsarchitektur, UX-Design und Content Strategy.

Feedback & Ergänzungen – 2 Kommentare

  1. Philby
    schrieb am 11.01.2023 um 08:01 Uhr:

    Danke für den Post, der auch meine Erfahrungen spiegelt (wobei ich LocalWP nicht nutze, weil deren Stack nur teilweise für Apple Silicon native läuft und zumindest aktuell merklich langsamer ist als Valet).

    Eine Ergänzung: gerade Apple-User sind bekanntlich häufig nicht übermässig Shell-affin – so auch ich. Deswegen war ich heute ebenso überrascht wie erfreut, als ich die kleine Valet GUI-App PHP Monitor entdeckt habe: https://laravel-news.com/php-monitor-app. Ändert an sich nichts an Valet, macht aber das Arbeiten mit Valet deutlich Mac-freundlicher.

    Antworten
    • Jonas Hellwig
      schrieb am 12.01.2023 um 18:43 Uhr:

      Vielen Dank für diesen äußerst hilfreichen Tipp!

      Antworten

Kommentar zu dieser Seite

Wir freuen uns über Anregungen, Ergänzungen oder Hinweise zu Fehlern. Wir lesen jeden Eintrag, veröffentlichen aber nur, was den Inhalt sinnvoll ergänzt.

Projekte mit kulturbanause

Wir wissen wovon wir reden. Wir realisieren komplette Projekte oder unterstützen punktuell in den Bereichen Design, Development, Strategy und Content.

Design + Code

Schulungen von kulturbanause

Wir bieten Seminare und Workshops zu den Themen Konzept, Design und Development. Immer up-to-date, praxisnah, kurzweilig und mit dem notwendigen Blick über den Tellerrand.

Schulung + Beratung