Propriété
- installation & Configuration
- step 1
- configure homestead
- Démarrer Vagrant Box
- Installer selon le projet
- Installer MariaDB
- Installez MongoDB
- Installez Elasticsearch
- Installez Neo4j
- alias
- utilisation quotidienne
- disponible dans le monde entier Homestead
- Connectez-vous via SSH
- Connectez-vous à la base de données
- Sauvegarde de la base de données
- Ajouter un site supplémentaire
- Variables d'environnement
- Configuration du calendrier planifié
- Configuration de Mailhog
- Configuration de Minio
- port
- Partagez votre environnement
- Plusieurs versions de PHP
- Serveur Web
- Interfaces réseau
- Ex entretenu Homestead
- Mettre à jour Homestead
- Spécial paramètres fournisLaravel Homestead
Installer selon le projet
- Installer MariaDB
- Installez MongoDB
- Installez Elasticsearch
- Installez Neo4j
- alias
- Utilisation quotidienne
- Disponible dans le monde entier Homestead
- Connectez-vous à la base de données via SSH
- Sauvegarde de la base de données
- Ajouter d'autres sites
- Variables d'environnement
- Configurer le planificateur Cron
- Configurer Mailhog
- Configurez Minio
- port
- partagez-vous Environnement
- Versions PHP multiples
- Serveur Web
- Interface Web
- Homestead étendu
- Spécial mis à jour paramètres du fournisseur Homestead
- VirtualBox
Introduction
Laravel s'engage à rendre l'ensemble de l'expérience de développement PHP plus agréable, y compris votre environnement de développement local. Vagrant fournit un moyen simple et élégant de gérer et de configurer des hôtes virtuels.
Laravel Homestead est une boîte Vagrant préemballée officielle, qui vous offre un environnement de développement parfait. Vous n'avez pas besoin d'installer PHP, un serveur Web ou d'autres logiciels serveur sur votre machine locale. Vous n'aurez plus jamais à vous soucier de gâcher votre système d'exploitation ! Les boîtes vagabondes sont jetables. Si quelque chose ne va pas, vous pouvez détruire et recréer la boîte en quelques minutes !
Homestead peut fonctionner sur n'importe quel système Windows, Mac ou Linux, il inclut le serveur Web Nginx, PHP 7.3, PHP 7.2, PHP 7.1, MySQL, PostgreSQL, Redis. , Memcached, Node et tout ce dont vous avez besoin pour développer avec Laravel.
{note} Si vous utilisez Windows, vous devrez peut-être activer la virtualisation matérielle (VT-x) via le BIOS. Si vous utilisez UEFI sur un système Hyper-V, vous devrez peut-être également désactiver Hyper-V pour accéder à VT-x
PHP 7.2Apache (Facultatif)MySQL
MariaDB. (Facultatif)- Sqlite3
- PostgreSQL
- Composer
- Noeud (avec Yarn, Bower, Grunt et Gulp)
- Redis
- Memcached
- Beanstalkd
- Mailhog
- Neo4j (Facultatif)
- MongoDB (Facultatif)
- Elasticsearch (facultatif)
- ngrok
- wp-cli
- Zend Z-Ray
- Go
- Minio
- Installation et configuration
- Étape 1
Pour utiliser le fournisseur VMware, vous devez acheter le plug-in VMware Fusion/Workstation et VMware Vagrant. Bien qu'il ne soit pas gratuit, VMware peut fournir des performances de dossiers partagés plus rapides. Pour utiliser le fournisseur Parallels, vous devez installer le plug-in Parallels Vagrant. C'est gratuit.
En raison des limitations de Vagrant, le fournisseur Hyper-V ignore tous les paramètres réseau.Installer Homestead Vagrant BoxUne fois VirtualBox / VMware et Vagrant installés, vous pouvez exécuter la commande suivante dans le terminal pour ajouter la
box à Vagrant pour l'installation. Le téléchargement de la box peut prendre quelques minutes car cela dépend de la vitesse de votre connexion Internet :Si cette commande échoue, assurez-vous d'avoir installé la dernière version de Vagrant.vagrant box add laravel/homestead
Installer Homestead
Vous pouvez installer Homestead en clonant le code. Il est recommandé de cloner le code dans le dossier
Homestead
de votre répertoire "home", afin que la boîte Homestead puisse servir d'hôte à tous vos projets Laravel :Homestead
文件夹中, 这样 Homestead box 就可以作为你的所有 Laravel 项目的主机:git clone https://github.com/laravel/homestead.git ~/Homestead
因为 Homestead 的 master 分支并不是稳定的,你应该使用打过标签的稳定版本。你可以在 GitHub 发行页: 上找到最新的稳定版本:
cd ~/Homestead// 克隆期望的发行版本...git checkout v8.0.1
一旦克隆 Homestead 代码完成以后,在 Homestead 目录中使用
bash init.sh
命令来创建Homestead.yaml
配置文件。Homestead.yaml
文件将被放在 Homestead 目录中:// Mac / Linux...bash init.sh// Windows...init.bat
配置 Homestead
设置提供器
Homestead.yaml
文件中的provider
参数决定了你用的是哪一个 Vagrant 提供器 :virtualbox
,vmware_fusion
,vmware_workstation
,parallels
以及hyperv
。 你可以根据你的喜好来设置他们:provider: virtualbox
配置共享文件夹
Homestead.yaml 文件的 folders 属性里列出了所有与 Homestead 环境共享的文件夹。 这些文件夹中的文件如果发生变更,它们会保持本地机器与 Homestead 环境之间同步。 你可以根据需要配置多个共享文件夹:
folders: - map: ~/code to: /home/vagrant/code
如果你只创建几个网站,这种通用的映射将运行的很好。但是,随着网站数量的不断增加,你可能会开始遇到性能问题。在包含大量文件的低性能机器或项目中,这个问题会非常明显。如果遇到此问题,请尝试将每个项目映射到自己的 Vagrant 文件夹:
folders: - map: ~/code/project1 to: /home/vagrant/code/project1 - map: ~/code/project2 to: /home/vagrant/code/project2
若要开启 NFS, 你只需要在共享的文件夹配置中添加一个简单的标志:
folders: - map: ~/code to: /home/vagrant/code type: "nfs"
{note} 当使用 NFS 时,你最好使用 vagrant-winnfsd 扩展插件。 这个插件会替你处理 Homestead box 中的文件或目录权限的问题。
你也可以通过在
options
folders: - map: ~/code to: /home/vagrant/code type: "rsync" options: rsync__args: ["--verbose", "--archive", "--delete", "-zz"] rsync__exclude: ["node_modules"]
Car la branche master de Homestead n'est pas stable Oui, vous devez utiliser des versions stables étiquetées. Vous pouvez trouver la dernière version stable sur la page des versions de GitHub::sites: - map: homestead.test to: /home/vagrant/code/my-project/public
Une fois le clonage du code Homestead terminé, utilisez-le dans Homestead directorybash init.sh
pour créer le fichier de configurationHomestead.yaml
. Le fichierHomestead.yaml
sera placé dans le répertoire Homestead :192.168.10.10 homestead.test
🎜🎜🎜🎜Configurer Homestead
🎜🎜Définir le fournisseur🎜🎜Provider
dans le fichier Homestead.yaml Le paramètre code> détermine le fournisseur Vagrant que vous utilisez :virtualbox
,vmware_fusion
,vmware_workstation
,parallels
ethyperv
. Vous pouvez les paramétrer selon vos préférences :🎜http://homestead.test
🎜🎜Configurer les dossiers partagés🎜🎜L'attribut dossiers du fichier Homestead.yaml répertorie tous les dossiers liés au Environnement de propriété Dossier partagé. Si les fichiers de ces dossiers changent, ils resteront synchronisés entre la machine locale et l'environnement Homestead. Vous pouvez configurer autant de dossiers partagés que nécessaire : 🎜composer require laravel/homestead --dev
🎜 Ce mappage générique fonctionnera très bien si vous ne créez que quelques sites Web. Cependant, à mesure que le nombre de sites continue d’augmenter, vous pourriez commencer à rencontrer des problèmes de performances. Ce problème peut être très visible sur les machines peu performantes ou sur les projets comportant un grand nombre de fichiers. Si vous rencontrez ce problème, essayez de mapper chaque projet sur son propre dossier Vagrant : 🎜php vendor/bin/homestead make
🎜 Pour activer NFS🎜, il vous suffit d'ajouter un simple indicateur à la configuration du dossier partagé : 🎜vendor\bin\homestead make
🎜{note} Lorsque vous utilisez NFS, vous feriez mieux d'utiliser extension vagrant-winnfsd🎜. Ce plugin gérera pour vous les problèmes d’autorisation de fichiers ou de répertoires dans la boîte Homestead. 🎜
🎜Vous pouvez également répertorier toutes les options prises en charge par les 🎜dossiers partagés🎜 de Vagrant dansoptions
:🎜box: laravel/homestead ip: "192.168.10.10"memory: 2048cpus: 4provider: virtualbox mariadb: true
🎜🎜Configuration du site Nginx
Vous n'êtes pas familier avec Nginx ? Cela n'a pas d'importance. La fonctionnalité
sites
vous permet de mapper facilement un « nom de domaine » à un dossier sur Homestead. Un exemple simple de configuration de site est inclus dans le fichierHomestead.yaml
. De même, vous pouvez ajouter autant de sites à votre environnement Homestead que nécessaire. Homestead peut fournir un environnement de virtualisation pratique pour chaque projet Laravel que vous développez :sites
功能可以让你在 Homestead 上轻松的映射一个 "域名" 到一个文件夹。在Homestead.yaml
文件中包含了一个简单的站点配置示例。同样,您可以根据需要为您的 Homestead 环境添加很多的站点。Homestead 可以为你正在开发的每个 Laravel 项目提供一个方便的虚拟化环境:mongodb: true
如果你在配置 Homestead 虚拟机后更改了
sites
选项,你需要再次运行vagrant reload --provision
命令去更新虚拟机上的 Nginx 配置.Hosts 文件
你必须将 Nginx 站点中所添加的域名添加到你本机的
hosts
文件中。hosts
文件会将把访问你 Homestead 站点的请求重定向到你的 Homestead 虚拟机上。在 Mac 和 Linux 中,该文件的地址在/etc/hosts
,在 Windows 中位于C:WindowsSystem32driversetchosts
。添加新站点的格式如下所示:box: laravel/homestead ip: "192.168.10.10"memory: 4096cpus: 4provider: virtualbox elasticsearch: 6
确保监听的 IP 地址是你在
Homestead.yaml
文件中所设置的。一旦你将将域名添加到hosts
文件中并启动 Vagrant Box 后,你就可以通过浏览器访问该站点了:neo4j: true
启动 Vagrant Box
根据你的需求编辑完成
Homestead.yaml
,在你的 Homestead 文件夹中运行vagrant up
命令。Vagrant 将启动虚拟机并自动配置你的共享文件夹和 Nginx 站点。若要删除虚拟机,只需要运行
vagrant destroy --force
alias c='clear'alias ..='cd ..'
Si vous modifiez l'optionsites
après avoir configuré la machine virtuelle Homestead, vous devez exécutervagrant à nouveau reload -- provision
pour mettre à jour la configuration Nginx sur la machine virtuelle.Fichier HostsVous devez ajouter le nom de domaine au site Nginx Ajoutez-le à votre fichierhosts
local. Le fichierhosts
redirigera les requêtes vers votre site Homestead vers votre machine virtuelle Homestead. Ce fichier se trouve dans/etc/hosts
sur Mac et Linux, et dansC:WindowsSystem32driversetchosts
sous Windows. Le format pour ajouter un nouveau site est le suivant :function homestead() { ( cd ~/Homestead && vagrant $* ) }
🎜 Assurez-vous que l'adresse IP d'écoute est celle que vous avez définie dans le fichierHomestead.yaml
. Une fois que vous avez ajouté votre nom de domaine à votre fichierhosts
et lancé Vagrant Box, vous pouvez accéder au site via votre navigateur : 🎜@echo off set cwd=%cd% set homesteadVagrant=C:\Homestead cd /d %homesteadVagrant% && vagrant %* cd /d %cwd% set cwd= set homesteadVagrant=
🎜 🎜🎜🎜Démarrez Vagrant Box
🎜Modifiez et complétezHomestead.yaml
selon vos besoins, dans votre Run la commandevagrant up
dans le dossier Homestead. Vagrant démarrera la machine virtuelle et configurera automatiquement vos dossiers partagés et votre site Nginx. 🎜🎜Pour supprimer une machine virtuelle, exécutez simplement la commandevagrant destroy --force
. 🎜🎜🎜🎜🎜🎜🎜Installation par projet
En plus d'installer Homestead globalement et de partager la même boîte Homestead sur tous les projets, vous pouvez configurer une instance Homestead par projet. En créant un
Vagrantfile
sous le projet, les autres membres du projet peuvent avoir le même environnement de développement en exécutant simplementvagrant up
.Vagrantfile
,其他的项目成员只需运行vagrant up
就能拥有相同的开发环境。要将 Homestead 直接安装到项目中,需要使用 Composer 命令:
backup: true
Homestead 安装之后, 使用
make
命令在项目根目录中生成Vagrantfile
和Homestead.yaml
文件。make
命令会自动配置Homestead.yaml
文件中sites
和folders
指令。Mac / Linux:
sites: - map: homestead.test to: /home/vagrant/code/my-project/public - map: another.test to: /home/vagrant/code/another/public
Windows:
192.168.10.10 homestead.test 192.168.10.10 another.test
接下来,在命令行中运行
vagrant up
命令,然后在浏览器中访问http://homestead.test
。 记住,在访问之前你仍然需要在/etc/hosts
文件中添加你的homestead.test
记录或者其他的域名。安装 MariaDB
如果你喜欢使用 MariaDB 而不是 MySQL, 你可以在
Homestead.yaml
文件中增加一个mariadb
的选项。这个选项会删除 MySQL 并安装 MariaDB。 MariaDB 只是作为 MySQL 的旁支替代品,因此你还是可以在应用的数据库配置中使用mysql
数据库驱动:sites: - map: symfony2.test to: /home/vagrant/code/my-symfony-project/web type: "symfony2"
安装 MongoDB
如果你需要安装 MongoDB 社区版, 你可以在
Homestead.yaml
文件中将配置修改为:sites: - map: homestead.test to: /home/vagrant/code/my-project/public params: - key: FOO value: BAR
MongoDB 默认的安装方式会把数据库的用户名设置为
homestead
,默认密码为secret
。安装 Elasticsearch
如果你要安装 Elasticsearch,你可以在
Pour installer Homestead directement dans le projet, vous devez utiliser la commande Composer :Homestead.yaml
文件中添加elasticsearch
Mac/Linux :variables: - key: APP_ENV value: local - key: FOO value: bar
Une fois Homestead installé, utilisez la commande
make
pour générer leVagrantfile
et leFichier Homestead.yaml
. La commandemake
configure automatiquement les directivessites
etfolders
dans le fichierHomestead.yaml
.sites: - map: homestead.test to: /home/vagrant/code/my-project/public schedule: true
Windows :MAIL_DRIVER=smtp MAIL_HOST=localhost MAIL_PORT=1025 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null
Ensuite, exécutez la commandevagrant up
à partir de la ligne de commande, puis visitezhttp://homestead.test< dans votre navigateur / code> . N'oubliez pas que vous devez toujours ajouter votre enregistrement
homestead.test
ou un autre nom de domaine dans le fichier/etc/hosts
avant d'y accéder. 🎜🎜🎜🎜Installer MariaDB🎜🎜Si vous préférez utiliser MariaDB au lieu de MySQL, vous pouvez le faire dansAjoutez une option
. Cette option supprimera MySQL et installera MariaDB. MariaDB n'est qu'un remplacement secondaire de MySQL, vous pouvez donc toujours utiliser le pilote de base de donnéesmariadb
au fichier Homestead.yamlmysql
dans la configuration de la base de données de votre application : 🎜minio: true
🎜🎜🎜🎜🎜Installez MongoDB🎜🎜Si vous devez installer MongoDB Community Edition, vous pouvez modifier la configuration dans le fichierHomestead.yaml
pour : 🎜'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 ]
🎜MongoDB default La méthode d'installation définira le nom d'utilisateur de la base de données surhomestead
et le mot de passe par défaut sursecret
. 🎜🎜🎜🎜🎜🎜Installer Elasticsearch🎜🎜Si vous souhaitez installer Elasticsearch, vous pouvez le faire dansHomestead.yaml
Ajoutez l'optionelasticsearch
au fichier et spécifiez le numéro de version pris en charge. Il peut contenir uniquement la version majeure ou il peut s'agir d'un numéro de version spécifique (major.minor.patch). L'installation par défaut crée un cluster nommé « homestead ». Veillez à ne jamais donner à Elasticsearch plus de la moitié de la mémoire du système d'exploitation, alors assurez-vous que votre Homestead est alloué au moins deux fois la mémoire d'Elasticsearch : 🎜AWS_ACCESS_KEY_ID=homestead AWS_SECRET_ACCESS_KEY=secretkey AWS_DEFAULT_REGION=us-east-1 AWS_URL=http://homestead:9600
🎜🎜{tip} Vous pouvez consulter la documentation d'Elasticsearch pour savoir comment personnaliser votre configuration. . 🎜🎜🎜🎜🎜🎜🎜🎜Installer Neo4j
Neo4j est un système de gestion de bases de données graphiques. Pour installer Neo4j Community Edition, vous devez mettre à jour les éléments de configuration
Homestead.yaml
comme suit :Homestead.yaml
配置项如下:buckets: - name: your-bucket policy: public - name: your-private-bucket policy: none
默认安装的 Neo4j 会将数据库用户名设置为
homestead
,对应的密码设置为secret
。 要查看 Neo4j 可以在浏览器中访问http://homestead.test:7474
。 Neo4j 对外提供了三个端口:7687
(Bolt)、7474
(HTTP)、7473
(HTTPS) 用于从客户端访问。别名
你可以通过编辑 Homestead 目录下的
aliases
文件为 Homestead 虚拟机添加 Bash 别名:ports: - send: 50000 to: 5000 - send: 7777 to: 777 protocol: udp
更新完
aliases
文件后, 你应该使用vagrant reload --provision
命令重启 Homestead 虚拟机, 以确保新的别名在机器上可用。日常使用
全局可用的 Homestead
有时你可能想在文件系统的任意路径都能运行
vagrant up
命令启动 Homestead 虚拟机。在 Mac / Linux 系统上可以在 Bash 配置文件(~/.bash_profile
)中添加 Bash 函数 。在 Windows 上, 你可以添加「批处理」文件到PATH
。这些脚本允许你在系统的任何位置运行 Vagrant 命令并自动将该命令指向 Homestead 的安装路径:Mac / Linux
share homestead.test
确保将该函数中的
~/Homestead
路径调整为实际的 Homestead 安装路径。这样你就可以在系统的任意位置运行homestead up
或homestead ssh
等命令。Windows
在系统的任意位置创建一个批处理文件
homestead.bat
,内容如下:share homestead.test -region=eu -subdomain=laravel
一定要将脚本中
C:Homestead
路径调整为 Homestead 的实际安装路径。创建文件后,将文件路径添加到PATH
。然后你就可以在系统任意位置运行homestead up
或homestead ssh
等命令。通过 SSH 连接
你可以通过在 Homestead 目录下运行
vagrant ssh
sites: - map: homestead.test to: /home/vagrant/code/my-project/public php: "7.1"
L'installation par défaut de Neo4j définira le nom d'utilisateur de la base de données surhomestead
et le mot de passe correspondant àsecret
. Pour voir Neo4j, vous pouvez visiterhttp://homestead.test:7474
dans votre navigateur. Neo4j fournit trois ports externes :7687
(Bolt),7474
(HTTP),7473
(HTTPS) pour l'accès depuis le client.AliasVous pouvez modifier le fichieraliases
dans le répertoire Homestead comme Ajoutez des alias Bash à la machine virtuelle Homestead : 🎜php7.1 artisan list php7.2 artisan list php7.3 artisan list
🎜Après avoir mis à jour le fichieraliases
, vous devez utiliser la commandevagrant reload --provision
pour redémarrer la machine virtuelle Homestead afin de garantir que les nouveaux alias sont disponibles sur la machine. 🎜🎜🎜🎜🎜Utilisation quotidienne
🎜🎜🎜🎜🎜Homestead disponible dans le monde entier🎜🎜Parfois, vous souhaiterez peut-être exécuter la commandevagrant up
à n'importe quel chemin du système de fichiers Démarrez la machine virtuelle Homestead. Les fonctions Bash peuvent être ajoutées au profil Bash (~/.bash_profile
) sur les systèmes Mac/Linux. Sous Windows, vous pouvez ajouter des fichiers « batch » àPATH
. Ces scripts vous permettent d'exécuter une commande Vagrant depuis n'importe où sur votre système et de pointer automatiquement la commande vers le chemin d'installation de Homestead : 🎜🎜Mac / Linux h4>
flip
🎜Assurez-vous d'ajuster le chemin~/Homestead
dans cette fonction au chemin d'installation réel de Homestead. Cela vous permet d'exécuter des commandes telles quehomestead up
ouhomestead ssh
depuis n'importe où sur le système. 🎜🎜Windows
🎜Créez un fichier batchhomestead.bat
n'importe où dans le système avec le contenu suivant : 🎜networks: - type: "private_network" ip: "192.168.10.20"
🎜Assurez-vous d'ajuster le cheminC:Homestead
dans le script au chemin d'installation réel de Homestead. Après avoir créé le fichier, ajoutez le chemin du fichier àPATH
. Vous pouvez ensuite exécuter des commandes telles quehomestead up
ouhomestead ssh
n'importe où sur le système. 🎜🎜🎜🎜🎜🎜Connectez-vous via SSH🎜🎜Vous pouvez le faire en exécutantvagrant dans le Homestead directory ssh
Commande de terminal pour se connecter à une machine virtuelle via SSH. 🎜🎜Cependant, vous devrez peut-être vous connecter fréquemment à la machine virtuelle Homestead, alors pensez à ajouter la « fonction » ci-dessus à l'hôte pour rapidement accéder en SSH à la machine virtuelle Homestead. 🎜🎜🎜🎜🎜🎜🎜Connexion à la base de données
homestead
a été configuré par défaut pour les bases de données MySQL et PostgreSQL dans la machine virtuelle. Pour plus de commodité, le fichier.env
dans Laravel configure le framework pour utiliser cette base de données par défaut.homestead
默认已经在虚拟机中为 MySQL 和 PostgreSQL 数据库做好了配置。为了方便起见, Laravel 中的.env
文件将框架配置成默认使用此数据库。要从主机的数据库客户端连接到 MySQL 或 PostgreSQL ,应该连接到
127.0.0.1
,端口33060
(MySQL) 或54320
(PostgreSQL)。用户名和密码分别是homestead
/secret
。{note} 只有从本地连接 Hoemstead 的数据库时才能使用这些非标准的端口。而 Laravel 在虚拟机中 运行时还是应该使用默认的 3306 和 5432 端口进行数据库连接。
数据库备份
当你的 Vagrant 盒子销毁时,Homestead 能自动备份你的数据库。为了利用这个功能,你必须使用 Vagrant 2.1.0 或者更高的版本。或者,如果你使用一个旧版本的 Vagrant,你必须安装
vagrant-triggers
插件。为了开启自动数据库备份,添加如下的行到你的Homestead.yaml
文件:networks: - type: "public_network" ip: "192.168.10.20" bridge: "en1: Wi-Fi (AirPort)"
一旦配置了,当
vagrant destroy
命令被执行时,Homestead 将导出你的数据库到mysql_backup
和postgres_backup
目录。如果你使用 每个项目安装 方法,则可以在克隆的 Homestead 或者在你的项目根目录中找到这些目录。添加额外的站点
一旦你的 Homestead 环境已配置并运行,你可以为你的 Laravel 应用添加额外的 Nginx 站点。你可能希望在单个 Homestead 环境运行多个 Laravel 安装。要添加额外的站点,到
Homestead.yaml
文件中添加站点:networks: - type: "public_network" bridge: "en1: Wi-Fi (AirPort)"
如果 Vagrant 不能自动管理你的『hosts』文件,你可能还需要添加新的站点到该文件中:
sudo apt-get -y \ -o Dpkg::Options::="--force-confdef" \ -o Dpkg::Options::="--force-confold" \ install your-package
一旦这个站点被添加,从你的 Homestead 目录运行
vagrant reload --provision
命令。站点类型
Homestead 支持多种类型的站点,允许你轻松运行不是基于 Laravel 的项目。例如,我们可以使用
symfony2
站点类型轻松地添加一个 Symfony 应用到 Homestead:vagrant box update
可用的站点类型是:
Pour vous connecter à MySQL ou PostgreSQL à partir du client de base de données de l'hôte, vous devez vous connecter auapache
,apigility
,expressive
,laravel
(默认),proxy
,silverstripe
,statamic
,symfony2
,symfony4
,和zf
127.0.0.1
, au port33060
(MySQL) ou54320
(PostgreSQL). Le nom d'utilisateur et le mot de passe sont respectivementhomestead
/secret
.{note} Ces ports non standard ne peuvent être utilisés que lors de la connexion locale à la base de données de Hoemstead. Lorsque Laravel s'exécute sur une machine virtuelle, vous devez toujours utiliser les ports par défaut 3306 et 5432 pour les connexions à la base de données.
🎜🎜Sauvegarde de la base de données🎜🎜Lorsque votre boîte Vagrant est détruite, Homestead peut automatiquement revenir votre base de données. Pour profiter de cette fonctionnalité, vous devez utiliser Vagrant 2.1.0 ou supérieur. Alternativement, si vous utilisez une ancienne version de Vagrant, vous devez installer le pluginvagrant-triggers
. Pour activer les sauvegardes automatiques de base de données, ajoutez la ligne suivante à votre fichierHomestead.yaml
: 🎜git fetchgit checkout v8.0.1
🎜Une fois configuré, Homestead exportera lorsque la commandevagrant destroy
sera exécutée votre base de données vers les répertoiresmysql_backup
etpostgres_backup
. Si vous utilisez la méthode d'installation par projet, vous pouvez trouver ces répertoires dans votre Homestead cloné ou dans la racine de votre projet. 🎜🎜🎜🎜🎜🎜Ajout de sites supplémentaires 🎜🎜Une fois votre environnement Homestead configuré et exécuté, vous possible d'ajouter des sites Nginx supplémentaires à votre application Laravel. Vous souhaiterez peut-être exécuter plusieurs installations de Laravel dans un seul environnement Homestead. Pour ajouter des sites supplémentaires, ajoutez des sites au fichierHomestead.yaml
: 🎜composer update
🎜 Si Vagrant ne peut pas gérer automatiquement votre fichier "hosts", vous devrez peut-être également ajouter de nouveaux sites au fichier : 🎜vagrant destroy vagrant up
🎜 Une fois le site ajouté, exécutez la commandevagrant reload --provision
depuis votre répertoire Homestead. 🎜🎜🎜🎜🎜site-types
🎜Homestead prend en charge plusieurs types de sites, vous permettant Exécutez facilement des projets qui ne sont pas basés sur Laravel. Par exemple, nous pouvons facilement ajouter une application Symfony à Homestead en utilisant le type de sitesymfony2
: 🎜provider: virtualbox natdnshostresolver: off
🎜Les types de sites disponibles sont :apache
,apigility
,expressif
,laravel
(par défaut),proxy
,silverstripe
,statamic
,symfony2
,symfony4
etzf
. 🎜🎜🎜🎜🎜🎜🎜Paramètres du site
Vous pouvez ajouter des valeurs Nginx
fastcgi_param
supplémentaires à votre site via la directive de siteparams
. Par exemple, nous ajoutons un paramètreFoo
avec une valeur deBAR
:params
站点指令添加额外的 Nginxfastcgi_param
值到你的站点。例如,我们添加一个值为BAR
的Foo
参数:config.vm.provider "virtualbox" do |v| v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"] end
环境变量
你能通过添加如下的值到
rrreeeHomestead.yaml
文件来设置全局环境变量:更新
Homestead.yaml
文件之后,确保通过运行vagrant reload --provision
命令重新配置机器。这个将更新所有安装 的 PHP 版本的 PHP-FPM 配置并为vagrant
用户更新环境。配置定时计划
Laravel 提供了一种 计划定时作业 的方式,通过安排单个
schedule:run
Artisan 命令去每分钟运行。schedule:run
命令将检查在你在AppConsoleKernel
类中定义的计划来决定运行哪个作业。如果你想为一个 Homestead 站点的
rrreeeschedule:run
命令运行起来,在定义站点时,你可以设置schedule
选项为true
:站点的 Cron 作业将被定义在虚拟机的
/etc/cron.d
目录中。Configuring Mailhog
Mailhog 允许你轻松地捕获外发的电子邮件并进行检查它,而实际上没有将发送邮件给收件人。开始使用时,使用以下的邮件设置更新你的
rrreee.env
文件:一旦 Mailhog 被配置,你可以在
http://localhost:8025
rrreeeVariables d'environnement
Vous pouvez définir des variables d'environnement globales en ajoutant les valeurs suivantes au fichierHomestead.yaml
:rrreeeMise à jourHomestead .yaml
, assurez-vous de reconfigurer la machine en exécutant la commandevagrant reload --provision
. Cela mettra à jour la configuration PHP-FPM pour toutes les versions PHP installées et mettra à jour l'environnement pour les utilisateursvagrant
. 🎜🎜🎜🎜🎜Configuration des plannings planifiés
🎜Laravel fournit un planning planifié. Les tâches sont programmé pour s'exécuter toutes les minutes en planifiant une seule commande Artisanschedule:run
. La commandeschedule:run
vérifiera la planification que vous avez définie dans la classeAppConsoleKernel
pour déterminer quelle tâche exécuter. 🎜🎜Si vous souhaitez exécuter la commandeschedule:run
pour un site Homestead, vous pouvez définir l'optionschedule
surtrue
lors de la définition du site. :🎜rrreee🎜Le job Cron du site sera défini dans le répertoire/etc/cron.d
de la machine virtuelle. 🎜🎜🎜🎜🎜Configuration de Mailhog
🎜Mailhog vous permet de capturer facilement les messages électroniques sortants et le vérifie sans réellement envoyer le message au destinataire. Pour commencer, mettez à jour votre fichier.env
avec les paramètres de messagerie suivants : 🎜rrreee🎜Une fois Mailhog configuré, vous pouvez y accéder depuishttp://localhost:8025
Mailhog Panneau de contrôle. 🎜🎜🎜🎜🎜🎜🎜Configuration de Minio
Minio est un serveur de stockage d'objets open source avec une API compatible avec Amazon S3. Pour installer Minio, mettez à jour votre fichier
rrreeeHomestead.yaml
avec les options de configuration suivantes :Homestead.yaml
文件:默认情况下,Minio 在端口
9600
上是可用的。你可以访问 Minio 控制面板通过访问http://homestead:9600
。默认访问的键名是homestead
,同时默认的密钥是secretkey
。当访问 Minio 时,你应当总是使用us-east-1
。为了使用 Minio,你将需要在你的
rrreeeconfig/filesystems.php
配置文件中调整 S3 磁盘配置。你将需要添加use_path_style_endpoint
选项到磁盘配置,并将url
键更改为endpoint
:最后,确保你的
rrreee.env
文件有如下的选项:为了配置存储桶,在 Homestead 配置文件中添加一个
rrreeebuckets
指令:支持的
Par défaut, Minio est disponible sur le portpolicy
值包括:none
,download
,upload
和public
rrreee9600
. Vous pouvez accéder au panneau de contrôle Minio en visitanthttp://homestead:9600
. La clé d'accès par défaut esthomestead
et la clé secrète par défaut estsecretkey
. Lorsque vous accédez à Minio, vous devez toujours utiliserus-east-1
. Enfin, assurez-vous que votre < code> Le fichier .env a les options suivantes :rrreeePour configurer les buckets, ajoutez une directivebuckets
au fichier de configuration Homestead :rrreee
policy
pris en charge > Les valeurs incluent :none
,download
,upload
etpublic
.- PortsPar défaut, les ports suivants seront transférés vers votre environnement Homestead :
- SSH : 2222 -> 4040 - > ; Transférer vers 4040
- HTTP : 8000 -> Transférer vers 80
- HTTPS : 44300 ->
- PostgreSQL :54320 - > Transférer vers 5432
- MongoDB : 27017 -> Transférer vers 27017
- Mailhog : 8025 -> service au 9600
rrreee
Partagez votre environnement
Parfois, vous souhaitez partager le contenu de votre travail actuel avec des collègues ou des clients. Vagrant a des méthodes intégrées pour prendre en charge cela via
vagrant share
cependant, cela ne fonctionnera pas s'il y a plusieurs configurations de site dans le fichierHomestead.yaml
;vagrant share
去支持这个;然而,如果在Homestead.yaml
文件中有多个站点配置,这个将不会工作。为了解决这个问题,Homestead 包含它自己的
rrreeeshare
命令。开始时,SSH 通过vagrant ssh
进入你的 Homestead 机器并运行share homestead.test
。这个将从你的Homestead.yaml
配置文件中分享homestead.test
站点。当然,你可以将任何其它配置的站点替换为homestead.test
:运行此命令之后,你将看到一个 Ngrok 屏幕出现,其中包含了活动日志和共享站点的可访问的 URLs。如果你想指定一个自定义的区域,子域,或者其它 Ngrok 运行时选项,你可以添加他们到你的
rrreeeshare
命令:{note} 记住,Vagrant 本质上是不安全的,并且在运行
share
命令时将虚拟机显露到互联网。多版本 PHP
Homestead 6 在同一个虚拟机上引入了对多个 PHP 版本的支持。你可以在你的
rrreeeHomestead.yaml
文件中指定要用于给定站点的 PHP 版本。可用的 PHP 版本是:『7.1』,『7.2』和『7.3』(默认):另外,你可以通过 CLI 使用任何支持的 PHP 版本:
rrreeeWeb 服务器
默认情况下,Homestead 使用 Nginx web 服务器。然而,如果
rrreeeapache
是指定的一个站点类型,它能安装 Apache。同时两个 web 服务器在同时被安装,他们不能同时运行。flip
脚本命令可用来轻松处理 web 服务器之间的切换。flip
命令自动确定正在运行的 web 服务器,将其关闭。然后启动其它服务器。要使用这个命令,SSH 进入到你的 Homestead 机器并在终端运行命令:邮件
Homestead 包括 Postfix 邮件传输代理,默认监听
Pour résoudre ce problème, Homestead inclut sa propre commande1025
端口。因此,你可以指示你的应用程序在localhost
端口1025
上使用smtp
邮件驱动。所有发送的邮件将由 Postfix 处理并由 Mailhog 捕获。要查看已发送的邮件,在 web 浏览器中打开http://localhost:8025
share
. Pour commencer, connectez-vous en SSH à votre machine Homestead viavagrant ssh
et exécutezshare homestead.test
. Cela partagera le sitehomestead.test
à partir de votre fichier de configurationHomestead.yaml
. Bien sûr, vous pouvez remplacer n'importe quel autre site configuré parhomestead.test
:{note} N'oubliez pas que Vagrant It est intrinsèquement non sécurisé et expose la machine virtuelle à Internet lors de l'exécution de la commande
share
. 🎜🎜🎜🎜Plusieurs versions de PHP🎜🎜Homestead 6 sur la même machine virtuelle Introduction de la prise en charge de plusieurs versions de PHP. Vous pouvez spécifier la version PHP à utiliser pour un site donné dans votre fichierHomestead.yaml
. Les versions PHP disponibles sont : 『7.1』, 『7.2』 et 『7.3』 (par défaut) : 🎜rrreee🎜De plus, vous pouvez utiliser n'importe quelle version de PHP prise en charge via la CLI : 🎜rrreee🎜 🎜🎜🎜🎜Serveur Web🎜🎜Par défaut, Homestead utilise le serveur Web Nginx. Cependant, siapache
est spécifié comme type de site, il peut installer Apache. Même si deux serveurs Web sont installés en même temps, ils ne peuvent pas fonctionner en même temps. La commande de scriptflip
peut être utilisée pour gérer facilement la commutation entre les serveurs Web. La commandeflip
détermine automatiquement le serveur Web en cours d'exécution et l'arrête. Ensuite, démarrez d'autres serveurs. Pour utiliser cette commande, connectez-vous en SSH à votre machine Homestead et exécutez la commande dans le terminal : 🎜rrreee🎜🎜🎜🎜🎜mail🎜 🎜Homestead inclut l'agent de transfert de courrier Postfix, qui écoute par défaut sur le port1025
. Par conséquent, vous pouvez demander à votre application d'utiliser le pilote de messageriesmtp
sur le portlocalhost
1025
. Tous les e-mails envoyés seront traités par Postfix et capturés par Mailhog. Pour afficher les messages envoyés, ouvrezhttp://localhost:8025
dans un navigateur Web. 🎜🎜🎜🎜🎜🎜🎜Interface réseau
La propriété
rrreeenetworks
dansHomestead.yaml
configure l'interface réseau pour l'environnement Homestead. Vous pouvez configurer plusieurs interfaces selon vos besoins :Homestead.yaml
中的networks
属性为 Homestead 环境配置网络接口。你可以根据需要配置多个接口:要开启一个 桥接 接口,配置
rrreeebridge
设置并改变public_network
网络类型:要开启 DHCP,仅从你的配置中移除
rrreeeip
选项:扩展 Homestead
你能在 Homestead 根目录下使用
after.sh
脚本扩展 Homestead。在这个文件中,你可以添加正确配置和自定义虚拟机所需的任何 shell 命令。当自定义 Homestead 时,Ubuntu 可能会询问你是否要保留程序包的原始配置或者用一个新的配置文件覆盖它。为了避免这种情况,你应该在安装软件包时使用以下的命令,以避免覆盖之前由 Homestead 编写的任何配置:
rrreee更新 Homestead
你能通过一些简单的步骤更新 Homestead。首先,你应当使用
rrreeevagrant box update
命令更新 Vagrant 盒子:接下来,你需要去更新 Homestead 源代码。如果你克隆过仓库,你能在最初克隆仓库的位置运行如下的命令:
rrreee这些命令从 GitHub 仓库拉取最新的 Homestead 代码,获取最新的标记,然后检出最新的标记版本。你能在 GitHub 版本页面 找到最新稳定的版本。
如果你通过你的项目的
rrreeecomposer.json
安装 Homestead,你应当确保你的composer.json
包含"laravel/homestead": "^8"
并更新你的依赖项:最后,你将需要销毁和重新生成你的 Homestead 盒子去利用最新的 Vagrant 安装。为了实现这个,在你的 Homestead 目录运行如下的命令:
rrreee提供特殊设置
VirtualBox
natdnshostresolver
默认情况下,Homestead 将
Pour activer une interface bridge, configurez le pontnatdnshostresolver
配置设置为on
。这允许 Homestead 去使用你的主机操作系统的 DNS 设置。如果你不想覆盖这个行为,添加如下的行到你的Homestead.yaml
rrreeepublic_network
:rrreeePour activer DHCP < /a>, supprimez simplement l'optionip
de votre configuration : 🎜rrreee🎜🎜🎜🎜Extension de Homestead🎜🎜Vous pouvez utiliser le scriptafter.sh
dans le répertoire racine de Homestead pour étendre Homestead. Dans ce fichier, vous pouvez ajouter toutes les commandes shell nécessaires pour configurer et personnaliser correctement la machine virtuelle. 🎜🎜Lors de la personnalisation de Homestead, Ubuntu peut vous demander si vous souhaitez conserver la configuration d'origine du package ou l'écraser par un nouveau fichier de configuration. Pour éviter cela, vous devez utiliser la commande suivante lors de l'installation du package pour éviter d'écraser toute configuration précédemment écrite par Homestead : 🎜rrreee🎜🎜🎜🎜Mise à jour de Homestead🎜🎜Vous pouvez mettre à jour Homestead en suivant quelques étapes simples. Tout d'abord, vous devez mettre à jour la boîte Vagrant à l'aide de la commandevagrant box update
: 🎜rrreee🎜Ensuite, vous devez mettre à jour le code source de Homestead. Si vous avez cloné le référentiel, vous pouvez exécuter les commandes suivantes à partir de l'emplacement où vous avez initialement cloné le référentiel : 🎜rrreee🎜 Ces commandes extraient le dernier code Homestead du référentiel GitHub, obtiennent les dernières balises, puis extraient les dernières balises. version. Vous pouvez trouver les dernières versions stables sur la page des versions de GitHub. 🎜🎜Si vous avez installé Homestead via lecomposer.json
de votre projet, vous devez vous assurer que votrecomposer.json
contient"laravel/homestead": "^8 "< /code> et mettez à jour vos dépendances : 🎜rrreee🎜Enfin, vous devrez détruire et reconstruire votre box Homestead pour profiter de la dernière installation de Vagrant. Pour ce faire, exécutez la commande suivante dans votre répertoire Homestead : 🎜rrreee🎜🎜
🎜 🎜 Fournissez des paramètres spéciaux🎜🎜🎜🎜VirtualBox
🎜
🎜Par défaut, Homestead définit la configurationnatdnshostresolver
natdnshostresolver
suron code>. Cela permet à Homestead d'utiliser les paramètres DNS de votre système d'exploitation hôte. Si vous ne souhaitez pas remplacer ce comportement, ajoutez la ligne suivante à votre fichier
Homestead.yaml
: 🎜rrreee🎜🎜Liens symboliques sous Windows
Si les liens symboliques ne fonctionnent pas correctement sur votre ordinateur Windows, vous devrez peut-être ajouter le bloc suivant au fichier
rrreeeVagrantfile
:Cet article est apparu pour la première fois sur le site Web LearnKu.com.