您的位置:首页 > 编程语言 > PHP开发

Laravel 虚拟开发环境Homestead安装

2018-03-06 20:36 706 查看

简介

Laravel Homestead 是一个官方预封装的 Vagrant box,它为你提供了一个完美的开发环境,你无需在本地安装 PHP ,web 服务器,或其他服务软件。并且不用担心系统被搞乱! Vagrant box 是完全一次性的。如果有什么地方出错了,你也可以在几分钟内销毁并重建 box !Homestead 可以运行在 Windows 、 Mac 或 Linux 系统上,并且里面包含了 Nginx Web 服务器、 PHP 7.1 、 MySQL 、 Postgres 、 Redis 、 Memcached 、 Node 、 以及所有利于你开发 laravel 应用的其他程序。

下载安装包

在你启动你的 Homestead 环境之前,你必须安装VirtualBox 5.1、 VMWare或Parallels的其中之一,以及Vagrant。本次采用的VirtualBox 5.1。下面提供了本次需要的安装包下载地址。VirtualBox-5.1.24-117012-Win.exe 密码:mnry 
vagrant_2.0.1_x86_64.msi 密码:tvkk 
laravel-VAGRANTSLASH-homestead.rar 密码:63cr(只针对使用Virtualbox)

安装

(1)安装vagrant,vagrant属于跨平台应用,我的系统是win10。安装成功后可以在cmd中输入 vagrant。看到如下图说明安装成功。 


(2)安装Virtualbox,直接按照提示安装即可。(3)安装 Homestead Vagrant Box
vagrant box add laravel/homestead
1
原本只要如上的命令即可,但由于国内众所周知的网络原因,我们不得不考虑先下载好的box再来添加。上面提供的”laravel-VAGRANTSLASH-homestead.rar”(只针对使用Virtualbox)就是下载好的vagrant box。解压后将整个文件夹复制到 .vagrant.d/boxes 文件夹中(.vagrant.d文件夹在系统盘的用户文件夹对应的系统用户文件夹,我的是C:\Users\Administrator.vagrant.d),完成后在cmd中输入 vagrant box list,可以看到如下图说明vagrant box安装成功。

(4)安装 Homestead,选择你的工作目录,使用git bash克隆Homestead
git clone https://github.com/laravel/homestead.git Homestead
1
一旦你克隆完 Homestead 的代码仓库,即可在 Homestead 目录中运行 bash init.sh 命令 来创建 Homesstead.yaml 配置文件:
// Mac / Linux...
bash init.sh

// Windows...双击运行
init.bat
1
2
3
4
5
运行完成后,Homesstead.yaml 文件会被放置在你的 Homestead 目录中。

配置 Homestead

(1)配置你的提供者,Homestead.yaml 中的 provider 参数设置取决于你用的是哪一个 Vagrant 提供者 virtualbox 、 vmware_fusion 、 vmware_workstation ,或者 parallels 。你可以根据自己的喜好来设置提供者,这里选择的是virtualbox 。
provider: virtualbox
1
(2)配置共享文件夹,你可以在 Homestead.yaml 文件的 folders 属性里列出所有想与 Homestead 环境共享的文件夹。这些文件夹中的文件若有变更,它们将会在你的本机电脑与 Homestead 环境自动更新同步。你可以在这里设置多个共享文件夹,这里我在Homestead文件夹中创建了code文件夹用来共享。
folders:
- map: F:/Homestead/code        //对应Homestead文件夹的路径
to: /home/vagrant/code
1
2
3
(3)配置 Nginx 站点,对 Nginx 不熟悉吗?没关系。sites 属性可以帮助你可以轻易指定一个 域名 来对应到 homestead 环境中的一个目录上。在 Homestead.yaml 文件中已包含了一个网站设置范本。
sites:
- map: homestead.app   //域名
to: /home/vagrant/code/laravel/public    //对应Nginx 虚拟机的laravel安装目录
1
2
3
如果你在 Homestead box 配置之后更改了 sites 属性,那么应该重新运行 vagrant reload - -provision 来更新 Nginx 配置到虚拟机上。(4)配置hosts 文件,必须将在 Nginx sites 中所添加的「域名」也添加到你本机电脑的 hosts 上。 hosts 文件会将请求重定向至 Homestead 环境中设置的本地域名。在 Mac 或 Linux 上,该文件通常会存放在 /etc/hosts 。在 Windows 上,则存放于 C:\Windows\System32\drivers\etc\hosts 。
192.168.10.10  homestead.app
1
务必确认 IP 地址与 Homestead.yaml 文件中设置的相同。

启动 Vagrant Box

编辑完 Homestead.yaml 后,进入你的 Homestead 目录并运行 vagrant up 命令。 Vagrant 就会根据 Homestead.yaml 里的配置信息,为虚拟机设置共享文件夹和 Nginx 网站。 


如果你出现如下情况:

我们根据提示,貌似是ssh的key没有生成,于是我们要运行如下命令,这个命令可以在git bash下生成。
ssh-keygen
1
启动成功之后我们可以打开Virtualbox,我们可以看到:

登录vagrant并安装laravel

(1)我们可以用cmd命令行进入Homestead目录,使用如下命令连接,如果使用Virtualbox开启登录需要用户名跟密码,都是 vagrant
vagrant ssh
1


(2)安装laravel,我们一般是通过composer来进行安装,在Homestead.yaml中我们配置的目录是 to: /home/vagrant/code/laravel/public ,因此我们要进入code目录下安装,输入如下命令:
cd /home/vagrant/code
composer create-project --prefer-dist laravel/laravel
1
2
如果要下载其他版本,比如5.3版本,可以使用这个命令:
composer create-project --prefer-dist laravel/laravel blog 5.3.*
1
(3)完成后测试laravel是否安装成功,
cd /home/vagrant/code/laravel
php artisan
1
2
(4)重开一个cmd运行程序,进入Homestead目录重新运行 vagrant reload - -provision 来更新 Nginx 配置到虚拟机上,之后我们可以在Homestead/code文件夹中看到下载的laravel代码。这是在浏览器中通过该域名访问站点了:
http://homestead.app
1
(5)访问 提示No input file specified,这个可能是laravel的安装目录与Homestead.yaml中配置的目录不一致,或者是Homestead.yaml中配置的目录出现了大写字母。因为在虚拟机中的目录都是小写字母的。修改完成之后进入Homestead目录重新运行 vagrant reload - -provision 来更新 Nginx 配置到虚拟机上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: