Laravel 入门篇之开发环境 Homestead 的安装配置

随着近几年Web技术的发展,众多先进技术汹涌而出,Linux、Git、Nginx、Mysql、Composer、Node 、Redis、MongoDB、Elasticsearch、Go等等。随之而来的是各个环境的搭建与部署,传统的wamp、xamp显然在庞大的企业开发中显得心有余而力不足。Laravel致力于使整个PHP开发体验愉快,包括您的本地开发环境。它提供了一个极好的开发环境,你不需在本地计算机上安装PHP、Web服务器和任何其他服务器软件。他就是Homestead!

安装前的准备

在开始安装之前,首先安装virtualBox,来虚拟化我们的Linux ,其次使用vagrant更好的管理我们的预安装包homestead,Git可用于下载Homestead。

  • virtualbox
  • vagrant
  • Git
    这三个软件的安装方式都很简单,基本傻瓜式安装。这里就不再赘述。

安装Homestead Vagrant Box

安装完vagrant后需要重启,这样vagrant就会被写到环境变量中,首先选择一个磁盘,如D盘,打开Git Bash,查看vagrant是否被正确安装:

vagrant -v

正常显示出版本号后就可以安装Homestead的vagrant box了,执行如下命令:

vagrant box add laravel/homestead

由于网络的原因,可以选择提示信息中的下载源使用第三方下载工具下载采用离线安装的方式。
这里提供box地址:
https://vagrantcloud.com/laravel/boxes/homestead/versions/【最新版本】/providers/virtualbox.box
最新版本查看地址:
app.vagrantup.com/laravel/boxes/ho...

离线安装Homestead Vagrant Box

下载好box文件后,在同级目录加入metadata.json文件,内容如下:

{
    "name": "laravel/homestead",                       # 名称说明
    "versions": [{
        "version": "7.0.0",                                     # 版本说明
        "providers":[
            {
            "name": "virtualbox",
            "url": "file://E:/virtualbox.box"               # 下载的Homestead Vagrant Box的位置
            }
        ]
    }]
}

vagrant加入Homestead 之前首先要加载这些配置信息,确保配置正确。

向vigrant中加入Homestead Vagrant Box

执行如下命令:

vagrant box add metadata.json

修改Homestead.yaml文件

Ssh Key的生成

如果之前没使用过git,首先需要生成Ssh Key,命令如下:

ssh-keygen -t rsa -C "youremail@example.com"

ssh的授权和key的位置:

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa
虚拟目录真实目录的互相映射
folders:
    - map: E:/website/laravel57
      to: /home/vagrant/code/laravel57
站点域名和站点目录的绑定
sites:
    - map: laravel.local
      to: /home/vagrant/code/laravel57/public
数据库的设定
databases:
    - homestead

特别注意:
homestead默认会读取本地的box,但是他默认先从9版本开始,如果未找到会去远程拉取,所以如果是大于9以上的box版本,这里务必要改为对应的本地版本,这样才能从本地box载入!

// Homestead/scripts/homestead.rb 文件地址
//  Configure The Box
    config.vm.define settings['name'] ||= 'homestead'
    config.vm.box = settings['box'] ||= 'laravel/homestead'
    unless settings.has_key?('SpeakFriendAndEnter')
      config.vm.box_version = settings['version'] ||= '~> 9' // 这里修改为本地盒子版本
    end
    config.vm.hostname = settings['hostname'] ||= 'homestead'

Vagrant的正式启动

这些配置信息都修改好后就可以启动我们的vagrant了,使用如下命令:

vagrant up                 # vagrant 启动
vagrant halt               # vagrant 关闭
vagrant provision      # 修改配置后重新编译
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

file

file 请问下 为什么我这会挂载失败了?

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!