美文网首页laravel学习笔记Laravel
Mac - laravel使用 -- Homestead环境搭建

Mac - laravel使用 -- Homestead环境搭建

作者: baiwulong | 来源:发表于2017-07-19 16:46 被阅读215次

    步骤1

    VirtualBox 5.1<虚拟机>


    步骤2

    Vagrant <管理虚拟机>

    vagrant简介

    什么是vagrant?

    Vagrant 提供了一种简单,优雅的方式,用来管理和调配虚拟机。【Vagrant是一种用来管理虚拟机的程序软件】

    vagrant可以添加一些box,然后管理那些box

    <p><strong>Laravel Homestead </strong>是一个官方预封装的 Vagrant box,它为你提供了一个完美的开发环境,你无需在本地安装 PHP ,web 服务器,或其他服务软件。并且不用担心系统被搞乱! Vagrant box 是完全一次性的。如果有什么地方出错了,你也可以在几分钟内销毁并重建 box !</p>
    <p><strong>Homestead</strong> 可以运行在 Windows 、 Mac 或 Linux 系统上,并且里面包含了 Nginx Web 服务器、 PHP 7.1 、 MySQL 、 Postgres 、 Redis 、 Memcached 、 Node 、 以及所有利于你开发 laravel 应用的其他程序。</p>

    内置软件

    <li>Ubuntu 16.04
    <li>Git
    <li>PHP 7.1
    <li>Nginx
    <li>MySQL
    <li>MariaDB
    <li>Sqlite3
    <li>Postgres
    <li>Composer
    <li>Node (With Yarn, Bower, Grunt, and Gulp)
    <li>Redis
    <li>Memcached
    <li>Beanstalkd
    <li>Mailhog
    <li>ngrok


    步骤3

    VirtualBox 5.1Vagrant安装完成后
    <p>终端输入:<code>vagrant -v</code></p>,如下图就是安装成功vagrant了</p>

    屏幕快照 2017-07-19 12.48.12.png

    步骤4

    添加Homestead Vagrant Box

    <pre>
    <b>本人这一步卡的最久了,参考官网的一直不成功,后来Google了大半天,然后结合简书上的其他优秀文章,才可以正常添加</b></pre>
    执行命令<code>vagrant box add laravel/homestead</code>
    如图所示:

    屏幕快照 2017-07-19 13.07.43.png
    可以得到一个下载这个box的地址,https://vagrantcloud.com/laravel/boxes/homestead/versions/2.2.0/providers/virtualbox.box
    ,去Google浏览器开lantern(VPN)下载这个文件,得到文件后,重新命名如:virtualBox2.20.box

    <b>然后通过vagrant加载本地box的方式进行添加laravel/homestead这个box</b>


    得到box后,直接加载本地box

    <p>
    </br>
    本地方式导入1
    <b>方式 (virtualbox, 0)</b>(这种方式有个问题要注意一下:需要修改版本限制才行)
    </p>
    <pre>
    vagrant box add <#box的名称#> <#下载好的本地box路径#>
    如下图:


    屏幕快照 2017-07-19 13.19.02.png

    通过这种方式添加的会有点问题,这个box list 列表中的版本是0


    屏幕快照 2017-07-19 13.20.50.png
    假如从GitHub上下载了Homestead这个项目后,执行vagrant up 初始化这个box,就会发现找不到box进行初始化,如下图
    屏幕快照 2017-07-19 13.25.49.png

    这时候,你需要前往根目录中的git下载下来的那个Homestead目录中,<b>修改scripts目录中的homestead.rb文件中的版本为>=0</b>
    <b>
    config.vm.box_version = settings["version"] ||= ">= 2.0.0"</br>
    </b>
    改为
    <b>
    config.vm.box_version = settings["version"] ||= ">= 0"</br>
    </b>
    <code>cd ~ </code>
    <code>cd Homestead</code>
    <code>cd scripts </code>
    <code>vim homestead.rb </code>
    </pre>
    </br>
    本地方式导入2
    <b>方式 (virtualbox, 2.2.0)</b>在 .box 的同文件夹下创建一个 metadata.json 文件,内容为以下</b>
    <pre>
    {
    "name": "laravel/homestead",
    "versions":
    [
    {
    "version": "0.4.4",
    "providers": [
    {
    "name": "virtualbox",
    "url": "homestead-virtualbox-2.2.0.box"
    }
    ]
    }
    ]
    }
    字段说明

    version - 可以指定当前盒子导入的版本标示;
    url - 支持 绝对文件路径 和 相对文件路径
    </pre>

    运行以下命令导入:

    <pre>vagrant box add metadata.json</pre>
    <pre>
    运行 list 命令查看是否添加成功:
    vagrant box list
    截图:

    屏幕快照 2017-07-19 14.09.35.png

    </pre>

    到此,laravel需要的laravel/homestead这个vagrant box就安装好了


    </br>

    步骤5

    安装 Homestead(一个github上面的项目,为了能让laravel/homestead这个box提供服务给所有的拉laravel项目)

    <pre>
    你可以通过手动克隆代码仓库的方式来安装 Homestead。建议将代码仓库克隆至「home」目录中的 Homestead 文件夹,如此一来 Homestead box 就能将主机服务提供给你所有的 Laravel 项目:
    cd ~
    git clone https://github.com/laravel/homestead.git Homestead

    由于 Homestead 的 master
    分支并不是稳定分支,你应该检出已经标签过的稳定版本。你可以在 Github Release Page 找到最新的稳定版本。
    cd Homestead// 检出所需要的版本...git checkout v5.4.0

    一旦你克隆完 Homestead 的代码仓库,即可在 Homestead 目录中运行 bash init.sh
    命令 来创建 Homesstead.yaml
    配置文件。 Homesstead.yaml
    文件会被放置在你的 Homestead 目录中:
    // Mac / Linux...bash init.sh
    </pre>

    步骤6

    启动box

    下载完成Homestead项目后,cd ~,前往Homestead目录
    修改vim Homestead.yaml,把Code修改为自己想要的文件名称LaravelCode
    <pre>
    folders:
    - map: ~/Code
    to: /home/vagrant/Code
    folders:
    - map: ~/LaravelCode
    to: /home/vagrant/Code
    </br>
    然后cd ~,mkdir LaravelCode,创建LaravelCode目录装laravel代码
    然后,执行vagrant up,或者 vagrant up --provision
    </pre>

    屏幕快照 2017-07-19 14.37.42.png
    在浏览器中输入 http://homestead.app ,

    会出现No input file specified.这几个字

    <pre><p>反正就是LaravelCode目录下没有对应的Laravel项目,想办法创建laravel工程在这个目录下就好了</p></pre>
    这是因为LaravelCode这个目录下没有对应的配置laravel项目,既然没有的话,就去虚拟机中创建一个新的laravel项目,名称与Homestead.yaml中的配置一样。下载好之后,就可以在浏览器中输入:http://homestead.app
    <pre>
    如果没有,出现这个,就是去/etc目录下编辑hosts文件,添加一个站点
    192.168.10.10 homestead.app
    </pre>

    步骤7

    box启动后,在~/Homestead目录先,
    执行,进入虚拟机利用虚拟机中
    <pre>vagrant ssh </pre>


    屏幕快照 2017-07-19 15.30.29.png

    进入虚拟机后,利用虚拟机中的composer下载创建一个laravel项目
    <pre>
    通过 laravel new Create-Project
    如下截图:


    屏幕快照 2017-07-19 15.32.07.png

    </pre>
    <pre>
    或者 composer create-project --prefer-dist laravel/laravel laravelAPP
    </pre>

    步骤8

    修改Homestead.yaml
    <pre>
    folders:
    - map: ~/Code
    to: /home/vagrant/Code

    sites:
    - map: homestead.app
    to: /home/vagrant/Code/Laravel/public
    </br>
    <b>修改为(因为我改了默认的Code文件夹为LaravelCode):</b>
    </br>

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

    sites:
    - map: homestead.app
    to: /home/vagrant/LaravelCode/LaravelAPP/public

    </pre>
    修改了修改Homestead.yaml后,需要重新加载配置

    <pre>
    vagrant ssh 进入虚拟机,
    cd LaravelCode
    执行“composer config -g repo.packagist composer https://packagist.phpcomposer.com
    创建一个composer.json文件,内容写
    </br>

    <code>
    { "require": { "monolog/monolog": "1.0.*" }}
    </code>
    </br>

    laravel new LaravelAPP

    vagrant reload --provision
    </pre>

    最终的结果:

    屏幕快照 2017-07-19 16.45.54.png

    参考:

    1、http://www.jianshu.com/p/12749ec68abb
    2、http://www.jianshu.com/p/1cf3f7857e19
    3、https://docs.golaravel.com/docs/5.4/homestead/

    相关文章

      网友评论

        本文标题:Mac - laravel使用 -- Homestead环境搭建

        本文链接:https://www.haomeiwen.com/subject/awxlkxtx.html