Homestead 的安装踩坑记

准备材料:

  1. 虚拟机
    Virtual Box 5.2 https://www.virtualbox.org/wiki/Downloads
  2. 是一个在单一工作流中建立和管理虚拟机环境的工具
    Vagrant https://www.vagrantup.com/downloads.html
  3. Git 工具
  4. 安装 laravel/homestead
  5. 命令安装 vagrant box add laravel/homestead,国外网站,较慢
    2.手动下载 https://vagrantcloud.com/laravel/boxes/homestead/versions/5.2.0/providers/virtualbox.box ,建议手动下载文件

5.homestead 包
6.Laravel 5.6 的包,composer(composer create-project --prefer-dist laravel/laravel blog 5.6.*) 后者 一键安装包 http://laravelacademy.org/resources-download

开始安装:

第一步 :
安装 Virtual Box5.2 程序,安装Vagrant

第二步:下载Homestead 组件包
在命令行界面,进入用户目录, cd ~

在用户目录执行: git clone https://github.com/laravel/homestead.git Homestead

初始化 Homestead,

cd Homestead

bash init.sh

或者进入 Homestead 目录,双击 init.bat 文件

在 Homestead 目录下,编辑 Homestead.yaml 文件


虚拟机IP

ip: "192.168.10.10"

虚拟机内存大小

memory: 2048

虚拟机cpu数量

cpus: 1

提供虚拟机类型

provider: virtualbox

公钥SSH KEY

authorize: C:/Users/hhh/.ssh/id_rsa.pub

私钥SSH KEY

keys:

  • C:/Users/hhh/.ssh/id_rsa

共享文件夹,k可以 写多个map ,多虚拟主机

folders:

  • map: D:/Xampp/htdocs/blog #自己电脑上的项目路径
    to: /home/vagrant/Code #映射到虚拟机中的路径
  • map: D:/Xampp/htdocs/blog3 #自己电脑上的项目路径
    to: /home/vagrant/Code3 #映射到虚拟机中的路径

站点配置web服务器配置

sites:

  • map: test.com #域名
    to: /home/vagrant/Code/blog3/public #域名的映射地址
  • map: test3.com #域名
    to: /home/vagrant/Code/blog3/public #域名的映射地址

数据库配置

databases:

  • homestead #在这里,我们每添加一个数据库名字,那么Homestead将会自动创建一个该名字的数据库来供我们操作。
    默认的MySQL服务器用户名为homestead,密码是secret。

修改后,保存

在修改本机系统的 host 文件(C:\Windows\System32\drivers\etc)

添加

第三步:
生成秘钥
ssh-keygen -t rsa -C "youremail@example.com"

第四步:
加载 laravel/homestead 下载下来的.box 文件

vagrant box add laravel/homestead e:/virtualbox.box

完成之后,你会发现在自己 用户目录下生成了一个 .vagrant.d 的文件件 (C:\Users\hhh.vagrant.d)

第五步:
启动 vagrant

进入 Homesread 目录’

hhh@Anter-PC MINGW64 ~/Homestead ((v7.3.0))
$ vagrant up

会出现错误:
Bringing machine 'homestead-7' up with 'virtualbox' provider...
==> homestead-7: Box 'laravel/homestead' could not be found. Attempting to find and install...

提示找不到 laravel/homestead ,这是因为 手动安装homestead,在用户根目录下得到了C:\Users\Administrator.vagrant.d\boxes\laravel-VAGRANTSLASH-homestead\0

修改C:\Users\Administrator\Homestead\scripts下的homestead.rb文件
将 config.vm.box_version = settings["version"] ||= ">=5.2.0" 改为 config.vm.box_version = settings["version"] ||= ">=0"

再次执行 vagrant up ,则会成功进入

$ vagrant up
Bringing machine 'homestead-7' up with 'virtualbox' provider...
==> homestead-7: Clearing any previously set forwarded ports...
==> homestead-7: Fixed port collision for 80 => 8000. Now on port 2200.
==> homestead-7: Clearing any previously set network interfaces...
==> homestead-7: Preparing network interfaces based on configuration...
homestead-7: Adapter 1: nat
homestead-7: Adapter 2: hostonly
==> homestead-7: Forwarding ports...
homestead-7: 80 (guest) => 2200 (host) (adapter 1)
homestead-7: 443 (guest) => 44300 (host) (adapter 1)
homestead-7: 3306 (guest) => 33060 (host) (adapter 1)
homestead-7: 4040 (guest) => 4040 (host) (adapter 1)
homestead-7: 5432 (guest) => 54320 (host) (adapter 1)
homestead-7: 8025 (guest) => 8025 (host) (adapter 1)
homestead-7: 27017 (guest) => 27017 (host) (adapter 1)
homestead-7: 22 (guest) => 2222 (host) (adapter 1)
==> homestead-7: Running 'pre-boot' VM customizations...
==> homestead-7: Booting VM...
==> homestead-7: Waiting for machine to boot. This may take a few minutes...
homestead-7: SSH address: 127.0.0.1:2222
homestead-7: SSH username: vagrant
homestead-7: SSH auth method: private key

如果修改了 Homestead.yaml 文件,name执行 vagrant up --provision 命令,重新载入配置文件,并生效

在 Homestead 目录下 执行 vagrant ssh 命令,链接 虚拟机,

hhh@Anter-PC MINGW64 ~/Homestead ((v7.3.0))
$ vagrant ssh
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-116-generic x86_64)

0 packages can be updated.
0 updates are security updates.

vagrant@homestead:~ls code go1.10.linux-amd64.tar.gz vagrant@homestead:~ cd code/
vagrant@homestead:~/codels laravel56 vagrant@homestead:~/code cd laravel56/

最后一步:
浏览器访问,刚刚自己设置的 虚拟域名, test.com

题外:
可以使用本机的数据库管理工具,链接虚拟机里面的数据库,端口要写成 上面提示的,33060
数据库默认账号:homestead 密码:secret

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

推荐阅读更多精彩内容