Vagrant + VirtualBox(二) :安装homestead

Vagrant 和 VirtualBox 的安装和简单命令

使用 Laravel 开发的都知道环境相对来说比较复杂,依赖的东西多,自己配难免会遇到各种各样的问题,这时用官方封装好的 Homestead 盒子再好不过。

Homestead 简介

Laravel Homestead 是官方预封装的 Vagrant box,提供给我们学习和开发者一个环境,我们在自己的电脑上不要装PHP,HHVM,WEB服务器等其他软件。也不用担心环境搭建带来的问题,Vagrant box全部都会给解决好,我们只需要使用就好。如果有问题,我们可以重新销毁vagrant box重新安装一个即可。

准备工作

安装 Vagrant 和 VirtualBox
安装 Git,window客户端直接安装

下载 Laravel Homestead box
https://app.vagrantup.com/boxes/search

拼下载 URL:

'https://app.vagrantup.com/laravel/boxes/homestead/versions/7.2.1' + '/providers/' + '供应商名字/' + '.box'

公式:下载链接 = 产品版本链接 + 供应商英文意思 + 要下载的供应商名称(如virtualbox)+’.box’

如上选择的是版本是 v7.2.1,生成的下载链接为 :

https://app.vagrantup.com/laravel/boxes/homestead/versions/7.2.1/providers/virtualbox.box

下载之后可以把名改了好区分:homestead-7.2.1,默认名字是:virtualbox.box

安装

1、添加 box

vagrant box add laravel/homestead F:/MyDownloads/Download/homestead-7.2.1.box

用命令查看到有 laravel/homestead 即添加成功

vagrant box list

在这里插入图片描述
列表中显示的laravel/homestead的版本号为0,我们要把它改成正确的版本号(7.2.1),可以打开用户目录下的~.vagrant.d\boxes\laravel-VAGRANTSLASH-homestead文件夹,找到以下路径:

~ .vagrant.d\boxes\laravel-VAGRANTSLASH-homestead

将文件夹中名为0的文件夹改名为我们下载的Homestead的版本号,即7.2.1。

然后在该文件夹下新建一个叫metadata_url的文件 (注意不要有任何文件名后缀,如果你的系统设置了自动隐藏后缀名,请将隐藏去掉,确认文件无任何后缀),文件添加一下内容

https://app.vagrantup.com/laravel/boxes/homestead

再次vagrant box list查看版本变了
在这里插入图片描述
2、克隆Homestead
在文件下执行命令,如D:/vagrant

git clone https://github.com/laravel/homestead.git Homestead

接着在已经克隆下来的文件夹内,会发现bash init.sh,init.bat两个文件
如果是在win下,又安装了git bash,则运行bash init.sh,init.bat均可。
如果是在linux下,则运行bash init.sh

在文件夹Homestead下执行

cd Homestead/
bash init.bat	#win
或
bash init.sh	#win、linux

执行完之后会产生文件:Homestead.yaml

3、配置Homestead.yaml

---
ip: "192.168.10.10"  				#虚拟机的ip,不用改动
memory: 2048						#虚拟机内存大小
cpus: 1								#虚拟机cpu数量
provider: virtualbox   				#提供虚拟机类型,用virtualbox装的一定要确认这里是virtualbox
authorize: ~/.ssh/id_rsa.pub    	#ssh的公钥,确认用户目录下有没有公钥
keys:
    - ~/.ssh/id_rsa   				#ssh的私钥
folders:  							#设置文件夹映射关系
    - map: D:/homestead   			#需要映射到虚拟机的本地机器的文件夹,自己的目录
      to: /vagrant/code				#需要映射到虚拟机中哪个的文件夹,虚拟机上的目录,没有就新建code
sites:
    - map: homestead.test			#站点虚拟域名
      to: /vagrant/code				#站点目录
databases:
    - homestead						#数据库

4、启动Homestead

vagrant up
或
vagrant up --provision  #启动虚拟机,让provisioning立即生效

遇到问题:
Stderr: VBoxManage.exe: error: Raw-mode is unavailable courtesy of Hyper-V. (VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole

管理员身份运行cmd关闭Microsoft-Hyper-V即可

dism.exe /Online /Disable-Feature:Microsoft-Hyper-V
#提示重启选择y

如果需要开启Hyper-V虚拟化管理员身份运行cmd

dism.exe /Online /Enable-Feature:Microsoft-Hyper-V

5、登录Homestead

vagrant ssh

出现以下界面说明安装成功
在这里插入图片描述

其他操作

composer

composer

输入composer会看到如下界面
在这里插入图片描述
说明虚拟机以内置好了composer,没有的话需要自己安装

安装之前配置下composer,不然安装起来会很慢

使用 Composer 镜像加速有两种选项:

  • 1、全局配置,这样所有项目都能惠及(推荐);
  • 2、单独项目配置;

1、全局配置(推荐)

composer config -g repo.packagist composer https://packagist.laravel-china.org

2、单独使用

如果仅限当前工程使用镜像,去掉 -g 即可,如下:

$ composer config repo.packagist composer https://packagist.laravel-china.org

安装laravel

1、首先,通过 Composer 安装 Laravel 安装器

cd /vagrant/code
composer global require "laravel/installer"

如果之前安装的是旧版的安装器,可以通过命令更新:

composer global update

2、新建应用的两种方法
2.1 通过简单的 laravel new 命令即可在当前目录下创建一个新的 Laravel 应用
如新建名称为 laravel 的项目,此种方法较慢。

laravel new laravel

2.2 通过 Composer Create-Project 安装 Laravel 应用(推荐)

可以指定要安装的版本:5.6

composer create-project laravel/laravel laravel5.6 --prefer-dist "5.6.*"

配置站点
需编辑Homestead.yaml文件的字段sites和本机hosts文件

编辑配置文件 Homestead.yaml,找到下面的地方,配置站点

sites:
    - map: homestead.test					#虚拟域名
      to: /vagrant/code/laravel5.6/public	#指向虚拟机的项目入口文件路径

配置本地hosts文件

192.168.10.10 homestead.test

重启服务

vagrant reload --provision

在浏览器访问域名:homestead.test,出现如下界面即配置成功
在这里插入图片描述

新增站点
修改Homestead.yaml文件

sites:
    - map: homestead.test					#虚拟域名
      to: /vagrant/code/laravel5.6/public	#指向虚拟机的项目入口文件路径
    - map: test.com
      to: /home/vagrant/code/test/public

修改本机hosts文件

192.168.10.10 homestead.test
192.168.10.10  test.com

每次修改Homestead.yaml之后需执行命令才能生效

vagrant reload --provision

MySQL连接

ip:192.168.10.10
端口:3306
用户名:homestead
密码:secret

切换web服务器
自由切换Apache和Nginx,在Homestead 虚拟机执行命令:

flip

laravel的一些操作
控制台创建Controllers,在项目根目录执行命令:

php artisan make:controller Admin/IndexController

控制台创建Model,在项目根目录执行命令:

php artisan make:model Models/Article

每次修改文件composer.json需要在网站根目录执行以下命令:

composer dump-autoload

artisan命令参考:
https://learnku.com/articles/17014

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值