Homestead 集成开发环境配置

来源:互联网 发布:淘宝双11广告视频 编辑:程序博客网 时间:2024/06/06 07:08

Laravel的目的就是让开发者的开发体验更愉快,开发过程更加简单。在环境搭建上也是如此。 
Laravel homestead是一个官方发布的vagrant封装包——一个虚拟机——提供完备的开发环境。在homestead配置完成后,不需要在本地环境中配置任何的开发工具,vagrant可以搞定一切。因为是虚拟机,不会对本地系统产生任何的破坏。同时如果出现故障,可以在几分钟内销毁并重建虚拟机。 
homestead是跨平台的,可以在windows,Linux,Mac上运行,其中集成了nginx,php5.6,MySql,postgres,Redis,Memcached,HHVM等所有开发laravel所需的软件。 
本文档是针对windows环境下homestead的配置运行。

1. 本地环境设置

1.1 php

运行composer必须要有PHP,建议使用最新版本的发行版php,目前最新版本5.6.8。php windows版本分为32位和64位的,64位目前仍处于试验阶段,我们选择稳定的32位版本。其中又分为thread safe和not thread safe版本,在web开发中我们选择not thread safe版本,点击这里下载。 
注意 php windows版本使用VC11编译,系统需要有Visual C++ Redistributable for Visual Studio 2012 x86 or x64,如果系统没有安装这个包,请点击这里下载安装。 
(1) 下载压缩包解压到C盘根目录 
(2) 配置环境变量,添加C:\php-5.6.8-nts-Win32-VC11-x86到PATH。 
(3) 修改php配置。拷贝php.ini-development 为php.ini。去extension=php_openssl.dll(composer需要) extension=php_mbstring.dll(laravel需要)前的注释。找到; extension_dir = "ext",修改为extension_dir = "C:\php-5.6.8-nts-Win32-VC11-x86\ext"。 
(4)打开console,运行php -version确认php安装成功。

C:\>php -versionPHP 5.6.8 (cli) (built: Apr 15 2015 15:07:05)  Copyright (c) 1997-2015 The PHP Group  Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies  

1.2 composer

点击这里下载。 
安装完成后,打开console,运行composer --version确认安装成功。

C:\>composer  --versionComposer version 1.0-dev (bc45d9185513575434021527d7756420e9f4b2cf) 2015-05-11 14:49:39   

安装后在目录地址栏输入%AppData%回车找到C:\Users\Administrator\AppData\Roaming\Composer\vendor\bin目录添加到 PATH 环境变量中;

composer默认会从·http://packagist.org/· 下载依赖包,速度比较慢,可以采用国内的镜像包来替代源。 
composer的全局配置文件位于 C:\Users\Administrator\AppData\Roaming\Composer\composer.json,两个速度比较快的可选的源配置如下

{    "repositories":[        {            "type":"composer",            "url":"https://toran.reimu.io/repo/packagist/"        },        {            "packagist":false        }    ]}
或者

{    "repositories": [        {            "type": "composer",             "url": "http://comproxy.cn/repo/packagist"        },        {            "packagist": false        }    ]}

在开发laravel项目时,也可以在当前项目的composer.json文件中添加这些国内镜像,可以加快对包的更新

1.3 putty

putty是免费的ssh客户端,登录homestead虚拟机的利器。 
点击这里下载。 
注意 如果不使用putty登录,用homestead ssh登录,也可以。

2. Homestead 相关软件安装

2.1 vagrant

vagrant是一个虚拟机管理工具。在添加虚拟机后,可以启动虚拟机的镜像,如果出现错误,可以随时销毁重建开发环境。

从这里 下载。下载后直接安装。 
vagrant安装确认:

C:\>vagrant --versionVagrant 1.7.2

2.2 virtualbox

从这里 下载,下载直接安装。

2.3 homestead

2.3.1直接使用composer安装

composer global require "laravel/homestead=~2.0"

homestead将会被安装在C:\Users\Administrator\AppData\Roaming\Composer\vendor\laravel\homestead

2.3.2 你可以简单地通过手动复制资源库的方式来安装 Homestead。将资源库复制至你的 "home" 目录中的 Homestead 文件夹,如此一来 

Homestead 封装包将能提供主机服务给你所有的 Laravel(及 PHP)应用:

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

一旦你克隆完 Homestead 仓库,从 Homestead 目录中执行 bash init.sh 命令来创建Homestead.yaml 配置文件:

bash init.sh

此 Homestead.yaml 文件,将会被放置在你的 ~/.homestead 目录中。

2.4 Git

点击这里下载,然后安装。安装完毕就可以使用了。

3. 环境启动

3.1 使用vagrant添加homestead镜像文件

离线下载虚拟机box,把box保存到任意目录,我这里放在d:/homesteadbox;
命令行:进入d:/homesteadbox,添加box

vagrant box add laravel/homestead file:///d:/homesteadbox/virtualbox.box

3.2 生成rsa key

通过ssh登录homestead需要这个。

打开Git Bash,这是一个比较完备的Windows下的shell工具。在运行homestead的命令的时候都需要在这个bash中运行。

ssh-keygen.exe  -t rsa -C "xxx@163.com"

3.3 配置并启动homestead

仍然在d:/homesteadbox这个目录中执行
homestead init

生成homestead的配置文件,位于C:\Users\Administrator\.homestead\Homestead.yaml

homestead edit

使用编辑器打开创建的配置文件。

---# 虚拟机配置。ip: "192.168.10.10"memory: 2048cpus: 1provider: virtualboxauthorize: ~/.ssh/id_rsa.pubkeys:    - ~/.ssh/id_rsa# 共享文件夹配置,map是本地文件夹,此处修改为本地项目文件夹;to是虚拟机的文件夹,一般不需要修改,因为homestead中的nginx的配置也是如此。folders:    - map: ~/Code      to: /home/vagrant/Code# nginx的配置。需要在本地hosts中添加域名的解析。sites:    - map: homestead.app      to: /home/vagrant/Code/public# mysql的数据库配置databases:    - homestead# 这个不知道是干什么用的,猜测是环境变量设置。variables:    - key: APP_ENV      value: local

启动homestead

homestead up

报错一:Couldn't open file /Users/Administrator/AppData/Roaming/Composer/vendor/laravel/homestead/base
原因:Users/Administrator/Vagrantfile这个文件中的 config.vm.box = "base"配置需要改为config.vm.box = "laravel/homestead"
修正后,再次 homestead up

报错二:如果你的主机非正常关机,或者virtualbox系统非正常关机,导致virtualbox显示异常退出,当你再次homestead up时,出现:
Vagrant/embedded/lib/ruby/2.0.0/psych.rb:2等相关错误,一般是./homestead/homestead.yml的配置文件出现空格或者缩进的问题,必须精确。

3.4 登录说明

登录主要包括ssh的登录和mysql的登录。

3.4.1 ssh登录

homestead ssh

我这里在使用homestead ssh时,总是会出现屏幕卡死的情况,推荐使用putty登录。 
初始用户名密码 vagrant / vagrant

3.4 2 mysql密码

homestead / secret 
root / secret

3.5 增加新的网站

  • 方法一 
    在homestead.yaml中添加站点配置。
    sites:
        - map: homestead.app
          to: /home/vagrant/Code/Laravel/public
        - map: admin.phenix.app
          to: /home/vagrant/Code/admin/public
        - map: web.phenix.app
          to: /home/vagrant/Code/web/public
        - map: api.phenix.app
          to: /home/vagrant/Code/api/public
       - map: user.phenix.app
          to: /home/vagrant/Code/user/public 
    然后再homestead目录执行命令vagrant provision。 
    vagrant provision这个命令是有破坏性的,它会重新构建数据库

  • 方法二 
    ssh登录homestead的系统中,进入serve.sh文件的目录中,执行serve命令。

    serve domain.app /home/vagrant/Code/path/to/public/directory 80
    注意:在0.27版本的virtualbox.box中使用serve-laravel.sh

4. 命令详解

4.1 homestead命令

命令解释up启动homesteadhalt停止homesteadinit创建初始化的homestead.yamledit编辑homestead.yamlsuspend挂起homesteadresume继续挂起的homesteadssh通过ssh登录homesteadrun通过ssh在homestead上运行命令status获取homestead的状态list列表命令help显示命令的帮助provision重新配置homesteaddestory销毁homesteadupdate更新homestead镜像
2 0
原创粉丝点击