Heimstätte


Laravel Homestead

Einführung

Laravel setzt sich dafür ein, die gesamte PHP-Entwicklungserfahrung, einschließlich Ihrer lokalen Entwicklungsumgebung, angenehmer zu gestalten. Vagrant bietet eine einfache und elegante Möglichkeit, virtuelle Hosts zu verwalten und zu konfigurieren.

Laravel Homestead ist eine offizielle vorgefertigte Vagrant-Box, die Ihnen eine perfekte Entwicklungsumgebung bietet. Sie müssen weder PHP noch einen Webserver oder andere Serversoftware auf Ihrem lokalen Computer installieren. Sie müssen sich nie wieder Sorgen machen, dass Ihr Betriebssystem kaputt geht! Vagrant-Boxen sind Einwegartikel. Wenn etwas schief geht, können Sie die Box in wenigen Minuten zerstören und neu erstellen!

Homestead kann auf jedem Windows-, Mac- oder Linux-System ausgeführt werden und umfasst Nginx-Webserver, PHP 7.3, PHP 7.2, PHP 7.1 und MySQL , PostgreSQL, Redis, Memcached, Node und alles, was Sie zum Entwickeln mit Laravel benötigen.

{note} Wenn Sie Windows verwenden, müssen Sie möglicherweise die Hardwarevirtualisierung (VT-x) über das BIOS aktivieren. Wenn Sie UEFI auf einem Hyper-V-System verwenden, müssen Sie möglicherweise auch Hyper-V deaktivieren, um auf die integrierte Software von VT-x zuzugreifen 18.04

Git

PHP 7.3

PHP 7.2
PHP 7.1

Nginx
    Apache (Optional)
  • MySQL
  • MariaDB (Optional)
  • Sqlite3
  • PostgreSQL
  • Composer
  • Node (With Garn, Bower, Grunt und Gulp)
  • Redis
  • Memcached
  • Beanstalkd
  • Mailhog
  • Neo4j (Optional)
  • MongoDB (Optional)
  • Elasticsearch (Optional)
  • ngrok
  • wp-cli
  • Zend Z-Ray
  • Go
  • Minio
  • Installation & Einrichtung

Schritt 1

Bevor Sie die Homestead-Umgebung starten, müssen Sie VirtualBox, VMWare, Parallels oder Hyper installieren -V und Vagrant. Alle oben genannten Programme bieten benutzerfreundliche visuelle Installationspakete für verschiedene Betriebssysteme.
Um den VMware-Anbieter zu nutzen, müssen Sie VMware Fusion/Workstation und das VMware Vagrant-Plug-in erwerben. Obwohl es nicht kostenlos ist, kann VMware eine schnellere Leistung für freigegebene Ordner bieten.

Um den Parallels-Anbieter nutzen zu können, müssen Sie das Parallels Vagrant-Plug-in installieren. Es ist kostenlos.

Aufgrund von Vagrant-Einschränkungen ignoriert der Hyper-V-Anbieter alle Netzwerkeinstellungen.

Homestead Vagrant Box installieren

Sobald VirtualBox / VMware und Vagrant installiert sind, können Sie den folgenden Befehl im Terminal ausführen, um die

-Box zur installierten Vagrant-Box hinzuzufügen In. Das Herunterladen der Box kann einige Minuten dauern, da dies von der Geschwindigkeit Ihrer Internetverbindung abhängt:

vagrant box add laravel/homestead

Wenn dieser Befehl fehlschlägt, stellen Sie sicher, dass Sie die neueste Version von Vagrant installiert haben.

Homestead installieren

Sie können Homestead installieren, indem Sie den Code klonen. Es wird empfohlen, den Code in den Ordner Homestead in Ihrem „Home“-Verzeichnis zu klonen, damit die Homestead-Box als Host für alle Ihre Laravel-Projekte dienen kann:

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

Denn der Hauptzweig von Homestead ist nicht stabil , sollten Sie getaggte Stable-Releases verwenden. Die neueste stabile Version finden Sie auf der GitHub-Release-Seite::

cd ~/Homestead// 克隆期望的发行版本...git checkout v8.0.1

Sobald das Klonen des Homestead-Codes abgeschlossen ist, verwenden Sie den Befehl bash init.sh im Homestead-Verzeichnis, um den <🎜 zu erstellen > Konfigurationsdatei. Homestead.yaml Dateien werden im Homestead-Verzeichnis abgelegt: Homestead.yaml

// Mac / Linux...bash init.sh// Windows...init.bat

Homestead konfigurieren

Anbieter festlegen

Der Parameter Homestead.yaml in der Datei bestimmt, welchen Vagrant-Anbieter Sie verwenden: provider, virtualbox, vmware_fusion, vmware_workstation und parallels. Sie können sie nach Ihren Wünschen einrichten:hyperv

provider: virtualbox

Freigegebene Ordner konfigurieren

Das Ordnerattribut der Homestead.yaml-Datei listet alle mit der Homestead-Umgebung freigegebenen Ordner auf Ordner. Wenn sich die Dateien in diesen Ordnern ändern, bleiben sie zwischen dem lokalen Computer und der Homestead-Umgebung synchron. Sie können beliebig viele freigegebene Ordner konfigurieren:

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

Diese allgemeine Zuordnung funktioniert gut, wenn Sie nur wenige Websites erstellen. Da jedoch die Anzahl der Websites weiter zunimmt, kann es zu Leistungsproblemen kommen. Dieses Problem kann auf leistungsschwachen Rechnern oder Projekten mit einer großen Anzahl von Dateien sehr auffällig sein. Wenn dieses Problem auftritt, versuchen Sie, jedes Projekt einem eigenen Vagrant-Ordner zuzuordnen:

folders: 
   - map: ~/code/project1
      to: /home/vagrant/code/project1  
    - map: ~/code/project2
      to: /home/vagrant/code/project2

Um

NFS zu aktivieren, müssen Sie nur eines zur Konfiguration des freigegebenen Ordners hinzufügen. Einfache Flags:

folders:    - map: ~/code
      to: /home/vagrant/code
      type: "nfs"

{note} Wenn Sie NFS verwenden, verwenden Sie besser

vagrant-winnfsd Erweiterungs-Plugin. Dieses Plugin kümmert sich für Sie um Datei- oder Verzeichnisberechtigungsprobleme in der Homestead-Box.

Sie können Vagrants

Freigegebene Ordneroptions auch auflisten, indem Sie eine der in unterstützten Optionen auflisten:

folders:    - map: ~/code
      to: /home/vagrant/code
      type: "rsync"
      options:
          rsync__args: ["--verbose", "--archive", "--delete", "-zz"]
          rsync__exclude: ["node_modules"]

Nginx-Site konfigurieren

Sie sind nicht mit Nginx vertraut? Es spielt keine Rolle. sites Mit der Funktion können Sie ganz einfach einen „Domainnamen“ einem Ordner auf Homestead zuordnen. Ein einfaches Beispiel für die Site-Konfiguration ist in der Datei Homestead.yaml enthalten. Ebenso können Sie Ihrer Homestead-Umgebung so viele Sites hinzufügen, wie Sie benötigen. Homestead kann eine praktische Virtualisierungsumgebung für jedes Laravel-Projekt bereitstellen, das Sie entwickeln:

sites:    - map: homestead.test
      to: /home/vagrant/code/my-project/public

Wenn Sie die sites-Optionen nach der Konfiguration der virtuellen Homestead-Maschine ändern, müssen Sie den Befehl vagrant reload --provision erneut ausführen Nginx-Konfiguration auf der virtuellen Maschine.

Hosts Datei

Sie müssen den auf der Nginx-Site hinzugefügten Domänennamen zu Ihrer lokalen hosts-Datei hinzufügen. Die hosts-Datei leitet Anfragen an Ihre Homestead-Site an Ihre virtuelle Homestead-Maschine weiter. Diese Datei befindet sich unter /etc/hosts auf Mac und Linux und unter C:WindowsSystem32driversetchosts unter Windows. Das Format zum Hinzufügen einer neuen Site lautet wie folgt:

192.168.10.10  homestead.test

Stellen Sie sicher, dass die Überwachungs-IP-Adresse mit der übereinstimmt, die Sie in der Datei Homestead.yaml festgelegt haben. Sobald Sie Ihren Domainnamen zur hosts-Datei hinzugefügt und Vagrant Box gestartet haben, können Sie über Ihren Browser auf die Website zugreifen:

http://homestead.test

Starten Sie Vagrant Box

Bearbeiten Sie es entsprechend Ihren Anforderungen Homestead.yaml, führen Sie den Befehl vagrant up in Ihrem Homestead-Ordner aus. Vagrant startet die virtuelle Maschine und konfiguriert automatisch Ihre freigegebenen Ordner und die Nginx-Site.

Um eine virtuelle Maschine zu löschen, führen Sie einfach den Befehl vagrant destroy --force aus.

Pro Projekt installieren

Zusätzlich zur globalen Installation von Homestead und der gemeinsamen Nutzung derselben Homestead-Box für alle Projekte können Sie eine Homestead-Instanz pro Projekt konfigurieren. Durch das Erstellen von Vagrantfile unter dem Projekt können andere Projektmitglieder durch einfaches Ausführen von vagrant up über dieselbe Entwicklungsumgebung verfügen.

Um Homestead direkt im Projekt zu installieren, müssen Sie den Composer-Befehl verwenden:

composer require laravel/homestead --dev

Nach der Installation von Homestead verwenden Sie den Befehl make, um Vagrantfile- und Homestead.yaml-Dateien zu generieren im Projektstammverzeichnis. Der Befehl make konfiguriert automatisch die Anweisungen Homestead.yaml und sites in der Datei folders.

Mac/Linux:

php vendor/bin/homestead make

Windows:

vendor\bin\homestead make

Führen Sie als Nächstes den Befehl vagrant up in der Befehlszeile aus und greifen Sie dann in Ihrem Browser auf http://homestead.test zu. Denken Sie daran, dass Sie Ihren /etc/hosts-Eintrag oder einen anderen Domänennamen noch zur homestead.test-Datei hinzufügen müssen, bevor Sie darauf zugreifen können.

MariaDB installieren

Wenn Sie lieber MariaDB anstelle von MySQL verwenden möchten, können Sie es im <🎜 hinzufügen > Datei Eine Option für Homestead.yaml. Diese Option entfernt MySQL und installiert MariaDB. MariaDB ist nur ein Nebenersatz für MySQL, Sie können also weiterhin den Datenbanktreiber mariadb in der Datenbankkonfiguration Ihrer Anwendung verwenden: mysql

box: laravel/homestead
ip: "192.168.10.10"memory: 2048cpus: 4provider: virtualbox
mariadb: true

MongoDB installieren

Wenn Sie MongoDB Community Edition installieren müssen, können Sie dies tun

Ändern Sie die Konfiguration in der Datei wie folgt: Homestead.yaml

mongodb: true

Die Standardinstallationsmethode von MongoDB setzt den Datenbankbenutzernamen auf

und das Standardkennwort auf homestead. secret

Elasticsearch installieren

Wenn Sie Elasticsearch installieren möchten, können Sie

im Homestead.yaml hinzufügen Dateioption und geben Sie unterstützte Versionsnummern an. Es kann nur die Hauptversion enthalten oder eine bestimmte Versionsnummer (major.minor.patch) sein. Die Standardinstallation erstellt einen Cluster mit dem Namen „homestead“. Beachten Sie, dass Sie Elasticsearch niemals mehr als die Hälfte des Speichers des Betriebssystems geben sollten. Stellen Sie daher sicher, dass Ihr Homestead mindestens doppelt so viel Speicher wie Elasticsearch zuweist: elasticsearch

box: laravel/homestead
ip: "192.168.10.10"memory: 4096cpus: 4provider: virtualbox
elasticsearch: 6

{tip} Sie können sich die Elasticsearch-Dokumentation ansehen Erfahren Sie, wie Sie es selbst machen. Definieren Sie Ihre Konfiguration.

Neo4j installieren

Neo4j ist ein Diagrammdatenbank-Verwaltungssystem. Um Neo4j Community Edition zu installieren, müssen Sie die Homestead.yaml-Konfigurationselemente wie folgt aktualisieren:

neo4j: true

Die Standardinstallation von Neo4j setzt den Datenbank-Benutzernamen auf homestead und das entsprechende Passwort auf secret. Um Neo4j anzuzeigen, können Sie http://homestead.test:7474 in Ihrem Browser aufrufen. Neo4j bietet drei externe Ports: 7687 (Bolt), 7474 (HTTP), 7473 (HTTPS) für den Zugriff vom Client.

Alias ​​​​

Sie können einen Bash-Alias ​​für die virtuelle Homestead-Maschine hinzufügen, indem Sie das aliases bearbeiten Datei im Homestead-Verzeichnis. :

alias c='clear'alias ..='cd ..'

Aktualisiertaliases Um sicherzustellen, dass der neue Alias ​​auf der Maschine verfügbar ist, sollten Sie die virtuelle Homestead-Maschine mit dem Befehl vagrant reload --provision neu starten.

Täglicher Gebrauch

Weltweit verfügbar Homestead

Manchmal möchten Sie möglicherweise den Befehl vagrant up von einem beliebigen Pfad im Dateisystem aus ausführen, um die virtuelle Homestead-Maschine zu starten. Bash-Funktionen können in der Bash-Konfigurationsdatei ( ~/.bash_profile ) auf Mac-/Linux-Systemen hinzugefügt werden. Unter Windows können Sie „Batch“-Dateien zu PATH hinzufügen. Mit diesen Skripten können Sie einen Vagrant-Befehl von überall auf Ihrem System ausführen und den Befehl automatisch auf den Homestead-Installationspfad verweisen:

Mac/Linux

function homestead() { 
   ( cd ~/Homestead && vagrant $* )
   }

Stellen Sie sicher, dass Sie dies tun Fügen Sie diese Funktion ein. Der ~/Homestead-Pfad wird an den tatsächlichen Homestead-Installationspfad angepasst. Auf diese Weise können Sie Befehle wie homestead up oder homestead ssh überall auf Ihrem System ausführen.

Windows

Erstellen Sie an einer beliebigen Stelle im System eine Batchdatei homestead.bat mit folgendem Inhalt:

@echo off

set cwd=%cd%
set homesteadVagrant=C:\Homestead
cd /d %homesteadVagrant% && vagrant %*
cd /d %cwd%
set cwd=
set homesteadVagrant=

Stellen Sie sicher, dass Sie <🎜 in die Datei einfügen script >Passen Sie den Pfad an den tatsächlichen Installationspfad von Homestead an. Fügen Sie nach dem Erstellen der Datei den Dateipfad zu C:Homestead hinzu. Anschließend können Sie Befehle wie PATH oder homestead up an einer beliebigen Stelle im System ausführen. homestead ssh

Verbindung über SSH herstellen

Sie können eine SSH-Verbindung herstellen, indem Sie den Terminalbefehl

im Homestead-Verzeichnis ausführen die virtuelle Maschine. vagrant ssh

Möglicherweise müssen Sie jedoch häufig eine Verbindung zur Homestead-VM herstellen. Erwägen Sie daher, die oben genannte „Funktion“ zum Host hinzuzufügen, um schnell eine SSH-Verbindung zur Homestead-VM herzustellen.

Mit der Datenbank verbinden

homestead Standardmäßig wurden MySQL- und PostgreSQL-Datenbanken in der virtuellen Maschine konfiguriert. Der Einfachheit halber konfiguriert die Datei .env in Laravel das Framework so, dass es diese Datenbank standardmäßig verwendet.

Um vom Datenbank-Client des Hosts aus eine Verbindung zu MySQL oder PostgreSQL herzustellen, sollten Sie eine Verbindung zu 127.0.0.1, Port 33060 (MySQL) oder 54320 (PostgreSQL) herstellen. Der Benutzername und das Passwort lauten jeweils homestead / secret.

{note} Diese nicht standardmäßigen Ports können nur verwendet werden, wenn eine lokale Verbindung zur Hoemstead-Datenbank hergestellt wird. Wenn Laravel in einer virtuellen Maschine ausgeführt wird, sollten Sie weiterhin die Standardports 3306 und 5432 für Datenbankverbindungen verwenden.

Datenbanksicherung

Wenn Ihre Vagrant-Box zerstört wird, kann Homestead Ihre Datenbank automatisch sichern. Um diese Funktion nutzen zu können, müssen Sie Vagrant 2.1.0 oder höher verwenden. Wenn Sie alternativ eine ältere Version von Vagrant verwenden, müssen Sie das vagrant-triggers-Plugin installieren. Um automatische Datenbanksicherungen zu aktivieren, fügen Sie die folgende Zeile zu Ihrer Homestead.yaml-Datei hinzu:

backup: true

Nach der Konfiguration exportiert Homestead Ihre Datenbank nach vagrant destroy und mysql_backup Inhaltsverzeichnis. Wenn Sie die Installationsmethode pro Projekt verwenden, finden Sie diese Verzeichnisse in Ihrem geklonten Homestead oder in Ihrem Projektstammverzeichnis. postgres_backup

Zusätzliche Websites hinzufügen

Sobald Ihre Homestead-Umgebung konfiguriert ist und ausgeführt wird, können Sie Ihrem Laravel zusätzliche Websites hinzufügen Die Anwendung fügt zusätzliche Nginx-Sites hinzu. Möglicherweise möchten Sie mehrere Laravel-Installationen in einer einzigen Homestead-Umgebung ausführen. Um weitere Sites hinzuzufügen, fügen Sie Sites zur Datei

hinzu: Homestead.yaml

sites:
    - map: homestead.test
      to: /home/vagrant/code/my-project/public
    - map: another.test
      to: /home/vagrant/code/another/public

Wenn Vagrant Ihre „Hosts“-Datei nicht automatisch verwalten kann, müssen Sie möglicherweise auch neue Sites zur Datei hinzufügen:

192.168.10.10  homestead.test
192.168.10.10  another.test

Sobald die Site hinzugefügt wurde, führen Sie den Befehl

in Ihrem Homestead-Verzeichnis aus. vagrant reload --provision

Site-Typen

Homestead unterstützt viele Arten von Sites, sodass Sie problemlos Projekte ausführen können, die nicht darauf basieren Laravel. Beispielsweise können wir ganz einfach eine Symfony-Anwendung zu Homestead hinzufügen, indem wir den Site-Typ

verwenden: symfony2

sites:
    - map: symfony2.test
      to: /home/vagrant/code/my-symfony-project/web
      type: "symfony2"

Die verfügbaren Site-Typen sind:

, apache, apigility, expressive (Standard). ) , laravel, proxy, silverstripe, statamic, symfony2 und symfony4. zf

Site-Parameter

Sie können Ihrer Site über die params-Site-Direktive zusätzliche Nginx-fastcgi_param-Werte hinzufügen. Beispielsweise fügen wir einen BAR-Parameter mit dem Wert Foo hinzu:

sites:
    - map: homestead.test
      to: /home/vagrant/code/my-project/public
      params:
          - key: FOO
            value: BAR

Environment Variables

Sie Dies kann durch Hinzufügen des folgenden Werts zu Homestead.yaml erfolgen Datei zum Festlegen globaler Umgebungsvariablen:

variables:
    - key: APP_ENV
      value: local
    - key: FOO
      value: bar

Stellen Sie nach dem Aktualisieren der Homestead.yaml-Datei sicher, dass Sie den Computer neu konfigurieren, indem Sie den Befehl vagrant reload --provision ausführen. Dadurch wird die PHP-FPM-Konfiguration für alle installierten PHP-Versionen aktualisiert und die Umgebung für den vagrant-Benutzer aktualisiert.

Konfigurieren eines geplanten Zeitplans

Laravel bietet eine Möglichkeit, geplante Jobs zu planen, indem ein einzelner schedule:run Artisan geplant wird Befehle werden jede Minute ausgeführt. Der Befehl schedule:run überprüft den Zeitplan, den Sie in der Klasse AppConsoleKernel definiert haben, um zu entscheiden, welcher Job ausgeführt werden soll.

Wenn Sie den Befehl schedule:run für eine Homestead-Site ausführen möchten, können Sie beim Definieren der Site die Option schedule auf true setzen:

sites:
    - map: homestead.test
      to: /home/vagrant/code/my-project/public
      schedule: true

Der Cron-Job für Die Site wird im Verzeichnis /etc/cron.d der virtuellen Maschine definiert.

Mailhog konfigurieren

Mit Mailhog können Sie ausgehende E-Mails einfach erfassen und überprüfen, ohne dass tatsächlich keine Nachrichten gesendet werden an die Empfänger. Aktualisieren Sie zunächst Ihre .env-Datei mit den folgenden E-Mail-Einstellungen:

MAIL_DRIVER=smtp
MAIL_HOST=localhost
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

Sobald Mailhog konfiguriert ist, können Sie unter http://localhost:8025 auf das Mailhog-Kontrollfeld zugreifen.

Minio konfigurieren

Minio ist ein Open-Source-Objektspeicherserver mit einer API, die mit Amazon S3 kompatibel ist. Um Minio zu installieren, aktualisieren Sie Ihre Homestead.yaml-Datei mit den folgenden Konfigurationsoptionen:

minio: true

Standardmäßig ist Minio auf Port 9600 verfügbar. Sie können auf das Minio-Kontrollfeld zugreifen, indem Sie http://homestead:9600 aufrufen. Der Standardzugriffsschlüssel ist homestead und der Standardschlüssel ist secretkey. Beim Zugriff auf Minio sollten Sie immer us-east-1 verwenden.

Um Minio verwenden zu können, müssen Sie die S3-Festplattenkonfiguration in Ihrer config/filesystems.phpKonfigurationsdatei anpassen. Sie müssen die Option use_path_style_endpoint zur Festplattenkonfiguration hinzufügen und den Schlüssel url in endpoint ändern:

's3' => [
    'driver' => 's3',
    'key' => env('AWS_ACCESS_KEY_ID'),    
    'secret' => env('AWS_SECRET_ACCESS_KEY'),    
    'region' => env('AWS_DEFAULT_REGION'),    
    'bucket' => env('AWS_BUCKET'),    
    'endpoint' => env('AWS_URL'),    
    'use_path_style_endpoint' => true
    ]

Stellen Sie abschließend sicher, dass Ihre .env-Datei die folgende Option hat:

AWS_ACCESS_KEY_ID=homestead
AWS_SECRET_ACCESS_KEY=secretkey
AWS_DEFAULT_REGION=us-east-1
AWS_URL=http://homestead:9600

Um den Bucket zu konfigurieren, fügen Sie ein buckets zur Homestead-Konfigurationsdatei hinzu Direktive:

buckets:
    - name: your-bucket
      policy: public
    - name: your-private-bucket
      policy: none

Zu den unterstützten policy-Werten gehören: none, download, upload und public.

Ports

Standardmäßig werden die folgenden Ports an Ihre Homestead-Umgebung weitergeleitet:

  • SSH: 2222 -> Weiterleiten an 22
  • ngrok UI: 4040 -> Weiterleiten an 4040
  • HTTP: 8000 -> 80
  • HTTPS: 44300 -> Weiterleiten an 443
  • MySQL: 33060 -> 3306
  • PostgreSQL: 54320 -> Weiterleiten an 5432
  • MongoDB: 27017 -> 27017
  • Mailhog: 8025 -> Weiterleiten an 8025
  • Minio: 9600 -> 9600

Zusätzliche Ports weiterleiten

Sie können zusätzliche Ports an Vagrant weiterleiten, wenn Sie möchten Boxen, auch mit Angabe ihrer Protokolle:

ports:
    - send: 50000
      to: 5000
    - send: 7777
      to: 777
      protocol: udp

Teilen Sie Ihre Umgebung

Manchmal möchten Sie den Inhalt Ihrer aktuellen Arbeit mit Kollegen oder Kunden teilen. Vagrant verfügt über eine integrierte Möglichkeit, dies über vagrant share zu unterstützen. Dies funktioniert jedoch nicht, wenn die Datei Homestead.yaml mehrere Site-Konfigurationen enthält.

Um dieses Problem zu lösen, enthält Homestead einen eigenen share-Befehl. Stellen Sie zunächst über vagrant ssh eine SSH-Verbindung zu Ihrem Homestead-Computer her und führen Sie share homestead.test aus. Dadurch wird die Homestead.yaml-Site aus Ihrem homestead.test-Profil geteilt. Natürlich können Sie jede andere konfigurierte Site durch homestead.test ersetzen:

share homestead.test

Nach dem Ausführen dieses Befehls wird ein Ngrok-Bildschirm mit dem Aktivitätsprotokoll und zugänglichen URLs für die freigegebene Site angezeigt. Wenn Sie eine benutzerdefinierte Region, Subdomain oder andere Ngrok-Laufzeitoptionen angeben möchten, können Sie diese zu Ihrem share-Befehl hinzufügen:

share homestead.test -region=eu -subdomain=laravel

{note} Denken Sie daran, dass Vagrant wichtig ist, unsicher ist und exponiert die virtuelle Maschine mit dem Internet verbinden, wenn Sie den Befehl share ausführen.

Mehrere PHP-Versionen

Homestead 6 führt Unterstützung für mehrere PHP auf derselben virtuellen Maschinenversion ein Unterstützung. Sie können die PHP-Version angeben, die für eine bestimmte Site in Ihrer Homestead.yaml-Datei verwendet werden soll. Die verfügbaren PHP-Versionen sind: 『7.1』, 『7.2』 und 『7.3』 (Standard):

sites:
    - map: homestead.test
      to: /home/vagrant/code/my-project/public
      php: "7.1"

Außerdem können Sie jede unterstützte PHP-Version über CLI verwenden:

php7.1 artisan list
php7.2 artisan list
php7.3 artisan list

Web Server

Homestead verwendet standardmäßig den Nginx-Webserver. Wenn jedoch apache als Site-Typ angegeben ist, wird Apache installiert. Obwohl zwei Webserver gleichzeitig installiert sind, können sie nicht gleichzeitig ausgeführt werden. flip Skriptbefehle können verwendet werden, um den Wechsel zwischen Webservern einfach zu handhaben. Der Befehl flip ermittelt automatisch den laufenden Webserver und fährt ihn herunter. Dann starten Sie andere Server. Um diesen Befehl zu verwenden, stellen Sie eine SSH-Verbindung zu Ihrem Homestead-Computer her und führen Sie den Befehl im Terminal aus:

flip

Mail

Homestead enthält den Postfix-Mail-Transfer-Agent, der standardmäßig auf Port 1025 lauscht. Daher können Sie Ihre Anwendung anweisen, den localhost Mail-Treiber am 1025 Port smtp zu verwenden. Alle ausgehenden E-Mails werden von Postfix verarbeitet und von Mailhog erfasst. Um gesendete Nachrichten anzuzeigen, öffnen Sie http://localhost:8025 in einem Webbrowser.

Das

-Attribut in

Netzwerkschnittstelle

Homestead.yamlnetworks konfiguriert die Netzwerkschnittstelle für die Homestead-Umgebung. Sie können nach Bedarf mehrere Schnittstellen konfigurieren:

networks:
    - type: "private_network"
      ip: "192.168.10.20"

Um eine überbrückte -Schnittstelle zu aktivieren, konfigurieren Sie die bridge-Einstellungen und ändern Sie den public_network Netzwerktyp:

networks:
    - type: "public_network"
      ip: "192.168.10.20"
      bridge: "en1: Wi-Fi (AirPort)"

, um ihn zu aktivieren DHCP, entfernen Sie es einfach aus Ihrer Konfigurationip Optionen:

networks:
    - type: "public_network"
      bridge: "en1: Wi-Fi (AirPort)"

Homestead erweitern

Sie können Homestead mit dem after.sh-Skript im Homestead-Stammverzeichnis erweitern . In dieser Datei können Sie alle Shell-Befehle hinzufügen, die zum ordnungsgemäßen Konfigurieren und Anpassen der virtuellen Maschine erforderlich sind.

Beim Anpassen von Homestead fragt Ubuntu Sie möglicherweise, ob Sie die ursprüngliche Konfiguration des Pakets beibehalten oder mit einer neuen Konfigurationsdatei überschreiben möchten. Um dies zu vermeiden, sollten Sie bei der Installation des Pakets den folgenden Befehl verwenden, um zu vermeiden, dass zuvor von Homestead geschriebene Konfigurationen überschrieben werden:

sudo apt-get -y \
    -o Dpkg::Options::="--force-confdef" \
    -o Dpkg::Options::="--force-confold" \    
    install your-package

Updating Homestead

Sie können Homestead aktualisieren, indem Sie einige einfache Schritte befolgen. Zuerst sollten Sie die Vagrant-Box mit dem Befehl vagrant box update aktualisieren:

vagrant box update

Als nächstes müssen Sie den Homestead-Quellcode aktualisieren. Wenn Sie das Repository geklont haben, können Sie die folgenden Befehle an dem Ort ausführen, an dem Sie das Repository ursprünglich geklont haben:

git fetchgit checkout v8.0.1

Diese Befehle rufen den neuesten Homestead-Code aus dem GitHub-Repository ab, rufen die neuesten Tags ab und überprüfen ihn dann Holen Sie sich die neueste Tag-Version. Die neueste stabile Version finden Sie auf der GitHub-Releases-Seite.

Wenn Sie Homestead über composer.json Ihres Projekts installiert haben, sollten Sie sicherstellen, dass Ihr composer.json "laravel/homestead": "^8" enthält, und Ihre Abhängigkeiten aktualisieren:

composer update

Schließlich müssen Sie Ihr Projekt zerstören und neu erstellen Homestead-Box, um die neueste Vagrant-Installation zu nutzen. Um dies zu erreichen, in Ihrem Homestead Führen Sie im Verzeichnis den folgenden Befehl aus:

vagrant destroy
vagrant up

Besondere Einstellungen bereitstellen

VirtualBox

natdnshostresolver

Standardmäßig Homestead Setzen Sie die natdnshostresolver-Konfiguration auf on. Dadurch kann Homestead die DNS-Einstellungen Ihres Host-Betriebssystems verwenden. Wenn Sie dieses Verhalten nicht außer Kraft setzen möchten, fügen Sie die folgende Zeile zu Ihrer Homestead.yaml-Datei hinzu:

provider: virtualbox
natdnshostresolver: off

Symbolische Links unter Windows

Wenn symbolische Links auf Ihrem Windows-Computer nicht ordnungsgemäß funktionieren, müssen Sie möglicherweise den folgenden Block zur Vagrantfile-Datei hinzufügen:

config.vm.provider "virtualbox" do |v|
    v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
    end
Dieser Artikel zuerst erschien auf der Website LearnKu.com.