在Mac上下载Vagrant并使用Homestead

很多Laravel开发者困惑于PHP项目本地和服务端环境不统一,导致一系列的问题。解决这种问题目前的最佳实践有Docker和Vagrant两种。对于Laravel项目,Laravel-China社区的大佬们推荐使用Homestead工具进行开发,本文主要讲解该工具在MacOS的安装和基本使用。

  • 在centos7服务器环境中安装使用教程请访问另一篇文章:在CentOS7上下载Vagrant并使用Homestead

  • 首先,homestead是基于vagrant的,vagrant是基于virtualBox的。也就是说,我们第一步需要下载virtualBoxvagrant两个软件。下载速度可能有点慢,尽量都使用最新版,如果两个软件版本相差太大,可能会导致homestead无法使用。官网下载地址:

友情提示:linux服务端下载建议使用wget命令,不要本地下载后使用ftp上传!!!

  • 终端命令行执行vagrant -v用来确定是否正确安装vagrantvirtualBox,如图:

    • image.png
  • box是vagrant管理的一个个容器,现在我们需要下载一个名为homestead的box。使用命令vagrant box add laravel/homestead,安装过程需要选择你本地使用的虚拟机。如图:

    • image.png
  • 上面的操作你也可以使用Vagrantfile来完成:在终端执行vagrant init laravel/homesteadvagrant up即可。

  • 下载速度太慢的话,可以将图片中的地址复制到迅雷中下载,然后在同级目录中使用vagrant box add homestead homestead.box命令添加本地box。homestead为自定义名称,homestead.box为本地box名称。

  • 你也可以在 http://app.vagrantup.com手动下载合适的版本。

  • 不要再问下载速度慢的问题,谢谢。

  • 下面是box常用命令:

vagrant box list   列出本地所有box
vagrant box remove boxName    删除某个box

  • 然后安装好composer和git,配置好git信息这点就不解释了,终端执行命令git --version && composer --version查看是否安装成功。
查看`composer`当前使用仓库源`composer config -g repo`。

修改`composer`默认仓库为使用`composer config -g repositories.packagist composer http://packagist.phpcomposer.com`。
  • 如图,新建项目失败,这是因为国内源使用http协议,composer官方于2018年已经要求使用https。打开composer全局配置文件config.json,该文件位于~/.composer/目录下。在config中加入"secure-http": false即可。

  • 查看composer下载的laravel版本可以使用cat laravel/composer.json

  • 进入项目目录试试能否运行该框架。cd laravel && php artisan serve,访问网页成功。

    image.png

  • 使用git下载homestead到用户家目录:cd && git clone https://github.com/laravel/homestead.git

  • 进入目录生成homestead.yaml配置文件,执行cd ~/homestead && bash init.sh。windows用户执行init.bat。接下来修改这个homestead配置文件。

  • 启动vagrant,在homestead/目录下执行vagrant up,你可能会碰到这个问题:Check your Homestead.yaml file, the path to your private key does not exist。这说明你电脑没有生成ssh密钥,要生成密钥,前提是你电脑安装了git,安装后在Git安装目录下有一个ssh-keygen文件,执行这个文件就可以。你也可以执行下面的代码。

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
eval "$(ssh-agent -s)"
ssh-add -K ~/.ssh/id_rsa
  • 点击访问:安装常见错误

  • 现在我们使用vagrant status查看box状态,如果是running则使用vagrant ssh登陆到box容器中。如果你没有正确设置公钥和私钥,此时会被要求输入密码(密码为vagrant)。登陆进去后的数据库密码为secret

  • 如果你不想到homestead/目录下再进入box容器,也可以在任何目录下使用ssh vagrant@127.0.0.1 -p 2222进入。注意一下物理主机与虚拟容器之间的端口映射。

SSH: 2222       →   Forwards To 22
HTTP: 8000      →   Forwards To 80
HTTPS: 44300    →   Forwards To 443
MySQL: 33060    →   Forwards To 3306
Postgres: 54320 →   Forwards To 5432
  • 此时可以访问http://homestead.test测试发现这个问题:No input file specified.

    • image.png
  • 这是因为Nginx站点配置的目录被我手动修改了,我们使用vagrant ssh登陆到服务器,修改sudo vim /etc/nginx/sites-enabled/homestead.app这个文件中的错误目录即可,不用重启nginx。

  • 重新测试访问即可。

    • image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,099评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,473评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,229评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,570评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,427评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,335评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,737评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,392评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,693评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,730评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,512评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,349评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,750评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,017评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,290评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,706评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,904评论 2 335

推荐阅读更多精彩内容