Windows 10下用Homestead搭建Laravel开发环境过程记录
安装git官网:https://gitforwindows.org/安装VirtualBox:官网:https://www.virtualbox.org/安装Vagrant官网:https://www.vagrantup.com/vagrant是一款虚拟机管理工具,使用它可以快速搭建可复用、可移植的开发环境。 Laravel Homestead就是一个配置好了的虚拟机开发环境,Laravel官方将
安装git
安装VirtualBox:
官网:https://www.virtualbox.org/
安装Vagrant
vagrant是一款虚拟机管理工具,使用它可以快速搭建可复用、可移植的开发环境。 Laravel Homestead就是一个配置好了的虚拟机开发环境,Laravel官方将它打包成了一个Vagrant盒子,方便使用者将它移植到自己的电脑上。
安装过程略:
下载Laravel Homestead
有2种方式:
- 在线下载Homestead的box(服务器在国外)
- 离线安装方式(我的安装方式)
打开:https://app.vagrantup.com/boxes/search
选择:
然后:
将下载的文件命名为Homestead-11.0.0.box,实际上就是一个做好了开发环境的虚拟机。我把这个文件放在:D:\HomesteadBox目录下:
将下载的装载到VirBox(安装Laravel Homestead)
Vagrant在执行add box将Homestead-11.0.0.box添加到VirBox时,会默认将Laravel Homestead盒子相关的文件默认保存在 C:\Users\xxx.vagrant.d文件夹中(其中,会有一个大小约为2.2GB左右的虚拟磁盘文件)
具体位置是:
C:\Users\Your Username\.vagrant.d\
下面的操作可以修改默认的保存位置:
如果你的C盘空间太小,或者你不想将这些文件放在默认的用户文件夹中,我们可以通过设置VAGRANT_HOME环境变量改变默认位置,设置方法可以在git命令行窗口执行下面2条命令:
直接在windwos环境变量中添加VAGRANT_HOME用户变量和系统变量,并设置为:
D:\HomesteadBox
设置好VAGRANT_HOME环境变量后,我们就可以来安装Laravel Homestead 了。
在Windows中,打开你存放Homestead-11.0.0.box的文件夹(我的是D:\HomesteadBox
),在该文件夹窗口右击,选择“Git Bash Here
”,进入Git的命令行窗口
然后执行命令:
vagrant box add laravel/homestead Homestead-11.0.0.box
输入命令后,会开始导入并安装我们下载的Homestead盒子
稍微等待一会儿之后,Laravel/Homestead盒子就添加完成了。
在Git中使用vagrant box list命令可以看到,Vagrant盒子列表中就有了一个名为laravel/homestead的box盒子。如下图:
但显示的版本号为0,
再执行:vagrant box list
至此,Laravel Homestead盒子安装完毕。
配置Laravel Homestead
在 Homestead 目录下运行 bash init.sh 命令来创建 Homestead.yaml 配置文件
执行下面的命令,去laravel官方的Git上下载一个Homestead的配置文件夹:
git clone https://github.com/laravel/homestead.git ~/homestead
错误提示:SSL certificate problem: unable to get local issuer certificate
是在使用 curl 时出错,
SSL certificate problem: unable to get local issuer certificate
意思是“SSL证书问题:无法获取本地颁发者证书”
处理办法是先执行下面的命令跳过证书:
git config --global http.sslVerify false
然后再git clone https://github.com/laravel/homestead.git ~/homestead
完成后,在C:\Users\Administrator\homestead下生成一堆的文件:
将里面所有的文件复制到我们之前指定的目录D:\HomesteadBox之中(其中包括init.sh文件)
下面开始创建Homestead配置文件
执行:
bash init.sh
我们可以看到下在D:\HomesteadBox多出了一个名为Homestead.yaml的文件。使用文本编辑器打开它,可以看到内容如下:
注:虚拟机环境下默认的MySQL服务器管理员用户名为homestead,密码是secret。
今后我们要通过ssh连接homestead虚拟机的话,需要有连接虚拟机的公钥和私钥
建立用于ssh的公钥和私钥
在D:\HomesteadBox文件夹中启动Git Bash,执行命令mkdir .ssh,创建.ssh文件夹
接着,执行命令cd .ssh
,进入.ssh文件夹中
接着运行生成密钥的命令:
ssh-keygen -t rsa
然后提示生成的密钥保存的文件夹路径和文件名(注意\的方向):
注意 :我按网上的办法,输入D:\HomesteadBox\.ssh\id_rsa后,将会在D:\HomesteadBox\.ssh\下生成2个文件。但启动过程中一直报错,提示找不到公钥和私钥。后来,采用直接回车3次,生成的公钥和私钥保存到默认的文件夹下面后,启动虚拟机成功了。(后来发现修改密钥保存的文件夹路径后,同时也必须修改Homestead.yaml文件中的配置指向正确的路径才可以,否则会报错:
。)
生成的公钥和私钥保存到默认的路径,如下:
这样,就可以启动虚拟机了。
下面是错误的操作和提示:
$ ssh-add -K D:\
HomesteadBox\.ssh\id_rsa
Enter PIN for authenticator:
Provider "internal" returned failure -1
Unable to load resident keys: invalid format
然后.ssh目录下多了2个文件:
启动VBox
在D盘上创建一个文件夹,D:\VBoxVMs,以保存虚拟机。
然后运行Oracle VM VirtualBox并设置如下:
然后点击保存。
然后执行:
vagrant up
如果没有生成ssh的公钥和私钥,将会出现下面的错误:
错误:
Check your Homestead.yaml (or Homestead.json) file, the path to your private key does not exist.
说明你电脑没有生成ssh密钥,要生成密钥,在git-bash中执行ssh-keygen
提示版本不对,
处理办法:不进行版本的检查。
打开D:\HomesteadBox\scripts下的homestead.rb文件
添加一行:
config.vm.box_check_update = false
再启动就成功了:
此时,在Oracle VM VirtualBox中看到的情况如下:
点击“显示”按钮:
虚拟机存储位置如下:
注意:
登录homestead,的密码vagrant(这是默认密码)
常用命令如下:
在本机访问http://homestead.test/
不能访问,处理办法:
- 修改D:\HomesteadBox目录下的Homestead.yaml文件,修改后的配置文件如下:
folders:
- map: ~/code
to: /home/vagrant/code
type: 'nfs'
sites:
- map: homestead.test
to: /home/vagrant/code/public
修改配置文件:
folders:
- map: ~/code
to: /home/vagrant/code
type: 'nfs'
sites:
- map: homestead.test
to: /home/vagrant/code/public
- 修改C:\Windows\System32\drivers\etc目录下的hosts文件:
添加一行:
No input file specified.:
只是由于我们暂时没有创建项目,系统显示“No input file specified.”
通过ssh连接到虚拟机
在D:\HomesteadBox的 gitBash窗口执行:vagrant ssh
然后就可以输入Linux的命令了:
更多推荐
所有评论(0)