通过Homestead安装Laravel
自己安装了一篇,第一次接触,确实比较繁琐。记性越来越不好了,为了防止重复造轮子,再次记录过程。
1.环境介绍
操作系统:macOS Sierra
工具:(1)VirtualBox 5.2.10
(2)Vagrant macOS 64-bit
(3)Homestead Vagrant 盒子 laravel/homesterad 5.2.0
(4)Homestead
(5)Laravel 5.6
2.正式操作
2.1安装VirtualBox 5.2.10
传送门
选择对应的版本,下载安装。
2.2安装Vagrant
传送门
选择本机对应的操作系统,下载安装
2.3克隆Homestead
传送门
命令如下
git clone https://github.com/laravel/homestead.git Homestead
cd Homestead
初始化
// Mac/Linux...
bash init.sh// Windows...
init.bat
正常情况下,这个时候会在Homestead目录下生成Homestead.yaml
Homestead.yaml是配置文件,配置内容如下:
Laravel学院传送门
设置 Provider
Homestead.yaml
文件中的 provider
键表示使用哪个 Vagrant 提供者:virtualbox
、vmware_fushion
、 vmware_workstation
、parallels
或 hyperv
,你可以将其设置为自己选择的提供者,当然对大部分人来说也没得选:
provider: virtualbox
配置共享文件夹
Homestead.yaml
文件中的 folders
属性列出了所有主机和 Homestead 虚拟机共享的文件夹,一旦这些目录中的文件有了修改,将会在本地和 Homestead 虚拟机之间保持同步,如果有需要的话,你可以配置多个共享文件夹:
folders:- map: ~/Development #本地环境,不要复制我to: /home/vagrant/Code #虚拟机环境,不要复制我
如果你只是创建了很少的站点,使用一般的映射就够了。不过,随着站点数量的增加,你就会遇到性能问题,尤其是在包含大量文件的低端机器或项目中,性能问题可能会非常明显。如果你不幸遇到了这个问题,可以尝试映射每个项目到各自的 Vagrant 文件夹:
folders:- map: ~/code/project1to: /home/vagrant/code/project1- map: ~/code/project2to: /home/vagrant/code/project2
如果要开启 NFS,只需简单添加一个标识到同步文件夹配置:
folders:- map: ~/Developmentto: /home/vagrant/Codetype: "nfs"
注:使用 NFS 的话,需要考虑安装 vagrant-bindfs 插件。该插件可用于在 Homestead 盒子中为文件和目录维护正确的用户/组权限。
你还可以通过 options
传递其他 Vagrant 支持的同步文件夹选项:
folders:- map: ~/codeto: /home/vagrant/codetype: "rsync"options:rsync__args: ["--verbose", "--archive", "--delete", "-zz"]rsync__exclude: ["node_modules"]
配置 Nginx 站点
对 Nginx 不熟?没关系!通过 sites
属性你可以方便地将“域名”映射到 Homestead 虚拟机的指定目录,Homestead.yaml
中默认已经配置了一个示例站点。和共享文件夹一样,你可以配置多个站点:
sites:- map: homestead.appto: /home/vagrant/Code
如果你是在 Homestead 盒子启动之后进行了上述修改,需要运行 vagrant reload --provision
更新虚拟机上的 Nginx 配置。
Hosts文件
不要忘记把 Nginx 站点配置中的域名添加到本地机器上的 hosts
文件中,该文件会将对本地域名的请求重定向到 Homestead 虚拟机,在 Mac 或 Linux上,该文件位于 /etc/hosts
,在 Windows 上,位于 C:\Windows\System32\drivers\etc\hosts
,添加方式如下:
192.168.10.10 homestead.test
确保 IP 地址和你的 Homestead.yaml
文件中列出的一致,一旦你将域名添加到 hosts
文件,就可以在浏览器中通过该域名访问站点了:
http://homestead.test
注:在真正可以访问之前还需要通过 Vagrant 启动虚拟机上的 Homestead 盒子。
2.4安装laravel/homesterad盒子
官方是用一句代码搞定的,如下:
vagrant box add laravel/homestead
我反正搞不定,只能用迅雷大法下载离线包进行安装。5.2.0 版本 传送门
https://app.vagrantup.com/laravel/boxes/homestead/versions/5.2.0/providers/virtualbox.box
目前(18年5月5日)最新版为6.0.0,如果需要下载最新版,可以将上面的5.2.0,替换成6.0.0。可以使用迅雷下载
用此方法,需要手动添加,命令如下,~/Downloads/virtualbox.box为目录地址,根据当前环境更改
vagrant box add laravel/homestead ~/Downloads/virtualbox.box
终端中显示绿色的box:Successfully add box laravel/homestead (v0) for 'virtualbox',就表示成功。可以使用下面的命令查看,如果出现 laravel/homestead (virtualbox , 0)就表示成功。
vagrent box list
注意:因为是手工添加,肯定会比自动的麻烦。上面添加成功之后,还得有下面的步骤,不能跳过。
Homestead目录创建metadata.json文件,内容如下
{"name": "laravel/homestead", //盒子名称"versions": [{"version": "5.2.0", //版本号"providers": [{"name": "virtualbox","url": "virtualbox.box" //盒子所在路径}]}]
}
注意:这里,我把virtualbox.box放到了Homestead目录下,生成以上文件后,再当前Homestead目录下,执行
vagrant box add metadata.json
即可添加带有版本号的盒子,可通过 vagrant box list 查看, 最后通过 vagrant up 即可载入开启虚拟机。
其它方法传送门
2.5开启虚拟主机
执行vagrant up,开启虚拟主机,初次执行时间会有点长。
注意:(1)如果第二行显示找不到 laravel/homestead ,那么程序会自动调用远端链接进行下载。这说明上面2.4那步加载盒子失败了,请重新尝试加载盒子。这边正常的话是读取本地的盒子,30s算很长了,不要傻等。
(2)也有可能提示目录映射不正确,请排查Homestead.yaml文件的配置
显示下面的信息,并执行完毕后,就表示开启成功。
homestead-7:Successfully add box laravel/homestead (v5.2.0) for 'virtualbox'!
2.6安装Laravel
之前一直很迷惑,上面的步骤到底是干嘛的,我到底有没有安装了Laravel,甚至还去本地环境下载了Laravel用于映射到虚拟机中。。
解答:上面安装了一个虚拟机,然后配置好了php等一系列环境,然后,进入这个虚拟机,开始下载Laravel,以后都在虚拟机中进行操作,跟本地无关了。
2.6.1进入虚拟机
vagrant ssh
2.6.2查看共享目录
进入上面配置的folder共享目录,没有就创建,正常情况下,映射目录中已和本地目录中一致。
2.6.3下载Laravel installer
composer global require "laravel/installer"
这边就能体现出Homestead的优势了,composer,php,git全部都在环境变量中,都是最新版本,不需要自己考虑
2.6.4新建应用
安装完成后,通过简单的 laravel new
命令即可在当前目录下创建一个新的 Laravel 应用,例如,laravel new blog
将会创建一个名为 blog
的新应用,且包含所有 Laravel 依赖。该安装方法比通过 Composer 安装要快很多:
laravel new blog
如果之前已经安装过旧版本的 Laravel 安装器,需要更新后才能安装最新的 Laravel 5.6 框架应用:
composer global update
2.6.5通过浏览器访问
通过http://homestead.test/blog/public,访问Laravel。看到下面的界面,即表示成功

总结:我为了这个Homestead折腾了将近4个小时,包括下载。按照官方文档,用命令行去下载virtualbox真的很难很难。不过当连接上Homestead的时候,感觉时间花的还是挺值的,以后会方便很多。
好啦,Laravel之旅开始了!继续跳坑去了!
通过Homestead安装Laravel相关推荐
- Laravel Homestead安装笔记
引言: 最近开始学习laravel框架,了解到有个laravel homestead的box,开发起来非常方便快捷,于是就准备开始配置homestead虚拟开发环境了 什么是Homestead 要想学 ...
- Laravel Homestead安装和使用
1.先安装vagrant和 VirtualBox.git.composer 1.1.Virtualbox:https://www.virtualbox.org/ 1.2.Vagrant:https:/ ...
- laravel之homestead安装教程
Homestead 最佳本地开发环境 Homestead Win Laravel 致力于让整个 PHP 开发体验变得愉快, 包括你的本地开发环境. Vagrant 提供了一种简单,优雅的方式来管理和配 ...
- 手把手教你Homestead安装,并填坑!!
来源:http://www.jianshu.com/p/ae9d1261bbd8 话说作为laravel的开发者,你听说Homestead应该很久了,可是官方推荐的开发环境在国内为什么鲜有人用?我这几 ...
- homestead 安装mysql8_homestead安装php redis扩展
看到本文,你应该遇到了homestead中php环境没有redis扩展的窘境,网上的教程也不通用,因为那些教程都只是针对单一机器单一版本php环境下的安装方法,而homestead安装了多个php版本 ...
- php框架laravel win10,composer 安装Laravel (win10)
服务器要求 Laravel 对系统有一些要求.当然,所有这些要求 Laravel Homestead 虚拟机都能满足,因此强烈推荐你使用 Homestead 最为你的开发环境. 当然,假如你不使用 H ...
- Homestead安装
安装软件 安装vargrant: 安装Virtualbox 安装git 导入box 下载homestead.box,点击下载. 新建了一个文件夹名为homestead,然后将下好的box重命名为hom ...
- homestead php.ini,Homestead安装php扩展的方法
Homestead安装php7.1的MongoDB扩展的方法 Laravel官方Vagrant镜像Homestead,默认没有安装php的Mongodb扩展,以下是php7.1手动安装mongodb扩 ...
- 使用Composer安装Laravel步骤
2019独角兽企业重金招聘Python工程师标准>>> 注:要在控制台中使用composer命名,需要将Composer及PHP的可执行文件(.exe/.bat)所在目录配置到系统环 ...
- PHP安装laravel(win+linux)
作为一名不优秀的程序猿,忙碌的四月终于结束了,五一大假的最后一天,终于有时间来整理整理这段时间的收获了. 一.laravel介绍 首先看看http://www.sitepoint.com/网站做的一个 ...
最新文章
- 树莓派视觉小车 -- 人脸追踪(人脸识别、PID控制舵机运动)
- TCMalloc(Thread-Caching malloc) 基本设计原理
- Photoshop CC2015软件安装资料及教程
- 蚂蚁动态卡片,让App首页实现敏捷更新
- Linux--根文件系统的挂载过程分析
- 解析Java对象引用与JVM自动内存管理(2)
- 腾讯专家献上技术干货,带你一览腾讯广告召回系统的演进
- IDEA控制台输出中文乱码的问题及解决方案
- 基于微服务架构的门户平台改造的研究
- spp色散关系 matlab,表面等离极化激元(SPP)基本原理教案分析.ppt
- 用ajax来上传图片,使用AJAX上传图片
- 电信光猫 友华PT921G 研究
- 姓名投票c语言未给定候选人,C语言上机
- android 状态栏为白色的时候图标不显示的解决方案
- Java+Maven实现Mail自动发送邮件功能
- ArcGIS遇到严重的应用程序错误的解决办法
- 小说更新太慢怎么办_写网络小说写得太慢怎么办?
- Cadence(virtuoso)集成电路设计软件基本操作——库和库文件
- DoT/DoH/DoQ 之 CoreDNS配置
- Unity打开Windows虚拟键盘
热门文章
- 高一下册计算机教案,高一信息技术教案
- HTML+CSS+JavaScript实现植物大战僵尸(附演示地址)
- 软件设计师备考全攻略(附本人笔记)
- 信息系统项目管理(二)网络协议、网络存储技术、网络工程、数据仓库和中间件
- 最好用的 网络神偷V10.7
- pyhton中matplotlib箱线图的绘制(matplotlib双轴图、箱线图、散点图以及相关系数矩阵图))...
- deepstream多路rtsp流,避免相互影响
- 易灵思FPGA-软件Efinity和Modelsim联仿设置
- 米谟科技 3D音频VR编辑器——sound flare声弹是什么
- [手机分享]黑莓手机7系列分享之——黑莓7290