安装软件
- 安装vargrant;
- 安装Virtualbox
- 安装git
导入box
下载,点击下载。
新建了一个文件夹名为homestead,然后将下好的box重命名为放入,然后在此文件夹内运行如下命令(这里是按照一些普通的教程来添加,这时候挖了一个坑,后面填上)。
vagrant box add laravel/homestead
接着运行
vagrant box list
发现这个box已经添加进来就ok了。
下载官方homestead配置
可以参考的官方文档
按照文档的说明首先运行(必须本地已经安装了git)
git clone /laravel/ Homestead
接着在已经克隆下来的文件夹内,会发现bash ,两个文件,这两个分别是将该目录内的Homestead.yaml文件拷贝到你的系统“家”目录下。如果是在win下,又安装了git bash,则运行bash ,均可。如果是在linux下,则运行bash 。接着就生成了几个配置文件,且被复制到homestead项目的根目录中(源在homestead项目文件的resources文件夹下)。
配置
设置 IP及Provider
文件中的provider键表示使用哪个 Vagrant 提供者:virtualbox、vmware_fushion或者vmware_workstation,你可以将其设置为自己喜欢的提供者:
ip: “192.168.10.10”
provider: virtualbox
配置共享文件夹
文件中的folders属性列出了所有主机和 Homestead 虚拟机共享的文件夹,一旦这些目录中的文件有了修改,将会在本地和 Homestead 虚拟机之间保持同步,如果有需要的话,你可以配置多个共享文件夹(一般一个就够了):
folders:
- map: D:/homestead/code #(这是我本地的文件夹)
to: /home/vagrant/Code
假设D盘有一个叫做 laravel 的文件夹,专门用来存放 laravel 的项目。
folders:
- map: D:/laravel
to: /home/vagrant/Code
- 1
- 2
- 3
配置 Nginx 站点
对 Nginx 不熟?没问题,通过sites属性你可以方便地将“域名”映射到 Homestead 虚拟机的指定目录,中默认已经配置了一个示例站点。和共享文件夹一样,你可以配置多个站点:
sites:
- map:
to: /home/vagrant/Code/Laravel/public
Hosts文件
还需要把 Nginx 站点配置中的域名添加到本地机器上的hosts文件中,该文件会将对本地域名的请求重定向到 Homestead 虚拟机,在 Mac 或 Linux上,该文件位于/etc/hosts,在 Windows 上,位于C:\Windows\System32\drivers\etc\hosts,添加方式如下:
192.168.10.10
确保 IP 地址和你的文件中列出的一致,一旦你将域名放置到hosts文件,就可以在浏览器中通过该域名访问站点了:
设置数据库
数据库的设置和 sites 的设置是对应的
sites:
- map:
to: /home/vagrant/Code/myweb/public
- map:
to: /home/vagrant/Code/myweb2/public
- 1
- 2
- 3
- 4
- 5
- 6
- 7
databases:
- myweb
- myweb2
- 1
- 2
启动vagrant
在 Homestead 目录下运行vagrant up
命令,Vagrant 将会启动虚拟机并自动配置共享文件夹以及 Nginx 站点。
错误提示:Check your file, the path to your private key does not exist.
说明你电脑没有生成ssh密钥,要生成密钥,在git-bash中执行ssh-keygen。
执行vagrant up
,报错提示:
Bringing machine 'homestead-7' up with 'virtualbox' provider...
Failed to locate the powershell executable on the available PATH. Please
ensure powershell is installed and available on the local PATH, then
run the command again.
- 1
- 2
- 3
- 4
导致该坑的原因,我们看之前的vagrant box list,里面显示
laravel/homestead (virtualbox, 0)
移除之添加的homebox:
$ vagrant box remove laravel/homestead --box-version 0
在homestead目录下新建文件,versions填写下载的box的版本号。如下载的homebox为7.2.1,则:
{
"name": "laravel/homestead",
"versions": [{
"version": "7.2.1",
"providers": [{
"name": "virtualbox",
"url": "file:///D:/homestead/"
}]
}]
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
执行vagrant box add
执行vagrant up
如提示错误:
A Vagrant environment or target machine is required to run this
command. Run `vagrant init` to create a new Vagrant environment. Or,
get an ID of a target machine from `vagrant global-status` to run
this command on. A final option is to change to a directory with a
Vagrantfile and to try again.
- 1
- 2
- 3
- 4
- 5
执行vagrant init
,再执行vagrant up
如出现错误提示:
下载更新包,更新powershell,下载地址。
选择更新包进行更新,重启电脑。
打开,进入Homestead
根目录,执行vagrant up。
安装Laravel
上面安装了一个虚拟机,配置好了php等一系列环境,然后,进入这个虚拟机,开始下载Laravel,以后都在虚拟机中进行操作,跟本地无关了。
进入虚拟机
vagrant ssh
- 1
查看共享目录
进入上面配置的folder共享目录,没有就创建,正常情况下,映射目录中已和本地目录中一致。
下载Laravel installer
composer global require "laravel/installer"
- 1
这边就能体现出Homestead的优势了,composer,php,git全部都在环境变量中,都是最新版本,不需要自己考虑。但是,由于下载安装完成composer 后 默认是国外镜像,国外的网站连接速度很慢,并且随时可能被“墙”甚至“不存在”。所以建议使用国内的composer源。
修改 composer 的全局配置文件(推荐方式)
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:
composer config -g composer
- 1
然后重新安装。
composer global require laravel/installer
- 1
新建应用
安装完成后,通过简单的 laravel new 命令即可在当前目录下创建一个新的 Laravel 应用,例如,laravel new blog将会创建一个名为 blog 的新应用,且包含所有 Laravel 依赖。该安装方法比通过 Composer 安装要快很多:
laravel new blog
- 1
如果之前已经安装过旧版本的 Laravel 安装器,需要更新后才能安装最新的 Laravel 5.6 框架应用:
composer global update
- 1
链接:
/p/ae9d1261bbd8
/p/ae9d1261bbd8
/u014665013/article/details/77775911
/m0_38092942/article/details/80204648