Laravel 5.5 开发环境的安装及配置 - Windows

发布时间:2018-03-01 编辑:小张个人博客 查看次数:5005

Laravel 开发环境的安装及配置步骤:

1、安装 VirtualBox

2、安装 Vagrant

3、导入 Homestead Box 虚拟机盒子

4、安装 Git

5、安装 Homestead 管理脚本

6、配置 Homestead.yaml 文件

7、启动 Homestead 虚拟机


安装 VirtualBox

VirtualBox 是 Oracle 公司的开源虚拟机软件。VirtualBox 号称是最强的免费虚拟机软件,它不仅功能齐全,而且性能也很优异!VirtualBox 支持大部分流行的系统,如:Mac, Windows, Linux 等。

你可以前往 官网下载。下载完成之后,双击安装包进行安装。

安装 VirtualBox

之后按照提示操作一步一步进行安装即可。

安装 Vagrant

Vagrant 是用来管理虚拟机的工具,支持当前主流的虚拟机系统如 VirtualBoxVMwareAWS 等。Vagrant 的主要作用是提供一个可配置、可移植和复用的软件环境。Vagrant 让你通过编写一个 Vagrantfile 文件来控制虚拟机的启动、虚拟机网络环境的配置、虚拟机与主机间的文件共享,以及启动后自动执行一些配置脚本,如自动执行一个 Shell Script 来安装一些必备的开发工具,如安装配置MySQL、PHP,甚至是自动配置 Nginx 站点。这意味着,在一个多人开发的项目中,你只需要同步 Vagrantfile 文件,就可以保证参与项目的每个人各自的机器上拥有一致的开发环境。

按照 Vagrant 默认安装即可

安装 Vagrant

Homestead 介绍

Homestead 利用 Vagrantfile 提供的便利,定制了一整套的可配置、可移植和复用的 Laravel 开发环境。Homestead 虚拟机里面包含了 Nginx Web 服务器、PHP 7.0MySQLPostgres、RedisMemcachedNode,以及所有你在使用 Laravel 开发时需要用到的各种软件。

Homestead 包含了两个东西:

  1. Homestead 管理脚本;

  2. Homestead Box 虚拟机盒子。

Homestead 管理脚本

Homestead 脚本使用 RubyShell 脚本编写而成。原理是对 Vagrantfile 文件做定制。将从 ~/Homestead/Homestead.yaml 读取的配置信息,在 provision 时,解析为 Vagrant 命令并进行对虚拟机的配置。Homestead 脚本的作用在于,提供了极其简单易用的接口,使我们只需要通过傻瓜化配置,即可完成复杂的任务。以下是几个常用的任务:

1、IP 配置,端口映射;

2、Nginx Site 创建;

3、数据库创建;

4、主机文件夹挂载到虚拟机等任务。

Homestead Box 虚拟机盒子

homestead.box 虚拟机盒子是提前打包好的 Vagrant Box 虚拟机盒子,里面预装了 Nginx Web 服务器、PHP 7.0MySQLPostgresRedisMemcachedNode,以及所有你在使用 Laravel 开发时所需要用到的各种软件。

安装和使用 Homestead

下载后的文件为 lt-homestead-3-0-0-2017082400.zip,请对其进行 zip 解压操作,解压成功后可以看到目录 lt-homestead-3-0-0-2017082400,此目录下包含两个文件:

1、homestead-virtualbox-3.0.0.box(教程定制化过的 Homestead 盒子)

2、metadata.json(盒子的导入配置文件)

在解压目录中 lt-homestead-3-0-0-2017082400 运行以下命令导入 Box:

vagrant box add metadata.json

注意:请必须解压到 非中文路径

Homestead Box 虚拟机盒子

至此完成 Homestead Vagrant 盒子的导入。导入成功后,lt-homestead-3-0-0-2017082400 文件夹可任意删除。

安装 Git

如果你先前已使用过 Git for Windows 来作为你进行 Laravel 项目开发时的默认命令行工具,则该工具将会默认为你安装好 Git。

你可以前往 官网下载。下载完成之后,双击安装包进行安装。按照 Git 默认安装即可。

安装 Git

Git 成功安装

下载 Homestead 管理脚本

因国内网络限制,从国内 coding.net 网站下载,下载速度会比 官方 更快;

接下来,使用 Git 下载定制版的 Homestead

git clone https://git.coding.net/summerblue/homestead.git Homestead

Homestead 管理脚本

接下来我们需要初始化 Homestead:

 init.sh

运行以上命令后,会在 Homestead 目录下生成以下三个文件

1、Homestead.yaml - 主要配置信息文件,我们可以在此文件中配置 Homestead 的站点和数据库等信息;

2、after.sh - 每一次 Homestead 盒子重置后(provision)会调用的 shell 脚本文件;

3、aliases - 每一次 Homestead 盒子重置后(provision),会被替换至虚拟机的 ~/.bash_aliases 文件中,aliases 里可以放一些快捷命令的定义。

接下来我们将会对 Homestead.yaml 文件的各项配置信息进行详细讲解。

Homestead.yaml 配置文件

Homestead.yaml 文件在 Homestead 文件夹里,在 Git-Bash 里,你可以使用以下命令使用文件夹打开当前命令行所在目录:

$ cd /Homestead/
$ explorer .

Homestead.yaml里的配置大致可以分为以下几种:

1、虚拟机设置;

2、SSH 秘钥登录配置;

3、共享文件夹配置;

4、站点配置;

5、数据库配置;

6、自定义变量;

接下来我们逐个讲解!

虚拟机设置

Homestead 支持我们对虚拟机的 IP内存CPU虚拟机的默认提供者进行配置。这里我们基本不需要做任何配置,因此可以跳过。

ip: "192.168.1.22"
memory: 2048
cpus: 1
provider: virtualbox

SSH 秘钥登录配置

authorize 选项是指派登录虚拟机授权连接的公钥文件,此文件填写的是主机上的公钥文件地址,虚拟机初始化时,此文件里的内容会被复制存储到虚拟机的 /home/vagrant/.ssh/authorized_keys 文件中,从而实现 SSH 免密码登录。在这里我们默认填写即可。

 authorize: ~/.ssh/id_rsa.pub

keys 是数组选项,填写的是本机的 SSH 私钥文件地址。虚拟机初始化时,会将此处填写的所有 SSH 私钥文件复制到虚拟机的 /home/vagrant/.ssh/ 文件夹中,从而使虚拟机能共享主机上的 SSH 私钥文件,使虚拟机具备等同于主机的身份认证。此功能为 SSH 授权提供了便利,例如在 GitHub 上配置一个 SSH 公钥,即可实现 GitHub 对虚拟机和主机共同认证。

此处我们将公钥和私钥一起同步到虚拟机中:

keys:
    - ~/.ssh/id_rsa
    - ~/.ssh/id_rsa.pub

接下来我们来生成 SSH Key,开始之前,我们先使用以下命令来检查主机上是否已经生成过 SSH Key:

ls -al ~/.ssh

如果存在 id_rsaid_rsa.pub 的话,请跳过以下生成 SSH 的步骤继续阅读剩下内容。

否则使用以下方法来生成 SSH Key,请将 [email protected] 替换为你的邮箱:

ssh-keygen -t rsa -C "[email protected]"
Generating public/private rsa key pair.

命令行会提示让你指定秘钥的名称,按回车键将 SSH Key 保存到默认文件名即可:

 Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):

接下来会询问你为 SSH Key 设置密码,按回车键即可,默认为空密码:

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

可以都选择默认,一路回车键即可,大致如下:

SSH 秘钥登录配置

查看主机上已经生成过SSH Key:

 ls -al ~/.ssh

生成过SSH Key

SSH 秘钥的两个文件:

 1、id_rsa —— SSH 秘钥的 私钥 (Private Key)

 2、id_rsa.pub —— SSH 秘钥的 公钥 (Public Key)

共享文件夹配置

我们可以通过 folders 来指明本机要映射到 Homestead 虚拟机上的文件夹。

folders:
    - map: ~/Code
      to: /home/vagrant/Code

默认 Homestead 会将我们本机的 Code 文件夹映射到 /home/vagrant/Code 文件夹上。现在我们本机还没有 Code 文件夹,让我们来创建一个:

mkdir Code

Homestead 会把 Code 文件夹下的项目自动映射到虚拟机的 /home/vagrant/Code 文件夹上。

站点配置

站点配置允许你在主机里,通过域名来访问虚拟机里的 Laravel 应用。如下面 sites 配置所示,将 homestead.test 映射到一个 Laravel 项目的 public 目录上。这一行配置,会命令 Homestead 为我们新建一个 Nginx 站点,并且把 Web Root 配置到指定目录下。Laravel 应用的 Nginx 站点 Web Root 配置,默认就是在根目录下的 public 目录。

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public

目前 Laravel 项目并不存在。这里先统一配置为以上,请不用着急,在后续我们会创建该 Laravel 项目。

另外,主机里直接访问虚拟机站点,必须通过绑定 hosts 来实现。接下来我们利用 hosts 文件绑定 homestead.test 到虚拟机 IP 192.168.1.22 上。hosts 文件的完整路径为 C:\Windows\System32\Drivers\etc\hosts,使用编辑器直接打开文件,文件路径

C:\Windows\System32\Drivers\etc\hosts

在 hosts 文件的最后面加入以下一行:

 192.168.1.22  homestead.test

至此站点就配置好了,等我们在后面章节创建 Laravel 项目后,即可通过浏览器访问 homestead.test 站点。

运行 Vagrant

完成了 Homestead 的配置,接下来我们要开始启动虚拟机了。

在命令中输入 vagrant,能看到 Vagrant 为我们提供了一些便利的命令行,下面简单介绍一下 Vagrant 常用的一些命令行的使用:


命令行说明
vagrant init初始化 vagrant
vagrant up启动 vagrant
vagrant halt关闭 vagrant
vagrant ssh通过 SSH 登录 vagrant(需要先启动 vagrant)
vagrant provision重新应用更改 vagrant 配置
vagrant destroy删除 vagrant

让我们开始启动 Homestead:

vagrant up


第一次启动时,Vagrant 会做以下这几件事情:

1、以导入的 Homestead 虚拟机盒子为模板,新建一台虚拟机;

2、并按照 Homestead.yaml 里的配置信息,对这台新建的虚拟机进行配置;

3、配置完成后启动虚拟机。

成功启动后,还是在 ~/Homestead 目录中,通过以下命令来 SSH 登录 Homestead 虚拟机中:

 vagrant ssh

在我们登录成功后,你能看到类似于如下图的界面,现在我们在该终端界面中输入的所有命令都将运行在 Homestead 虚拟机上。

SSH 登录 Homestead 虚拟机

VirtualBox 启动虚拟机报错解决文案

例:当使用 VirtualBox 启动虚拟机时提醒“虚拟电脑控制台 - 错误”,发现 CPU 不支持虚拟化技术。

VirtualBox 启动虚拟机报错解决文案

检查本机电脑是否支持虚拟化技术。

网上搜索下载 securable.exe 软件;运行该软件检测 CPU 是否支持虚拟化技术。

若 Hardware Virtualization 显示 Yes 则表示 CPU 支持虚拟化技术,可做 BIOS 虚拟化设置。

检查本机电脑是否支持虚拟化技术

华硕主板 BIOS 设置中 VT 虚拟化技术选项

主板 BIOS 设置中 VT 虚拟化技术,其中 CPU 也必须支持 VT 虚拟化技术




出处:小张个人博客

网址:http://blog.023xs.cn/

您的支持是对博主最大的鼓励,感谢您的认真阅读。欢迎转载,但请保留该声明。

顶部

Copyright © 小张个人博客 All Rights Reserved 渝ICP备15006773号-1

联系方式:[email protected] | 本站文章仅供学习和参考

渝公网安备 50024102500267号