您的位置:首页 > 编程语言 > PHP开发

win10 下 Laravel 虚拟开发环境 Homestead 安装教程

2017-10-12 15:33 756 查看
一、使用Homestead的理由
        1、Homestead 是一个官方预封装的 Vagrant Box,内置 Ubuntu 16.04、Git、PHP 7.1、Nginx、MySQL、Composer、Redis、Memcached等一系列软件,无需在本地安装 PHP 、web 服务器或任何服务软件。
        2、Laravel 框架对系统有一些要求,所有这些要求 Laravel Homestead 虚拟机都能满足。
        3、Homestead使开发环境完全一致,避免不同环境配置造成一些问题。
        4、Vagrant Box 是完全一次性的,不用担心会搞乱你的操作系统!如果有什么地方出错了,你可以在几分钟内销毁并重建该 Box

二、相关软件安装
        1、安装 VirtualBox
                官网下载执行安装即可
        2、安装 git
        3、安装 Vagrant

三、安装 Homestead
        1、将
laravel/homestead
Box 添加到 Vagrant 中安装
                1.1 使用管理员身份运行Git Bash,执行命令:
                        $ vagrant box add laravel/homestead        
                1.2 由于这里使用的是virtualbox,所以对应选择2
                        (这里下载速度比较慢,Ctrl+c取消,复制下面有打出.box文件的下载地址,使用下载工具下载)
                1.3 运行:
                        vagrant box add laravel/homestead "virtualbox.box的路径"
                        例如:vagrant box add laravel/homestead "F:\virtualbox.box" 或 vagrant box add laravel/homestead F:/virtualbox.box
                1.4 相关命令介绍
                        查看安装的box:
                                vagrant box list
                        删除box:
                                vagrant box remove laravel/homestead

        2、克隆Homestead代码库
                $ cd ~
                $ git clone https://github.com/laravel/homestead.git Homestead
        3、创建 Homesstead.yaml 配置文件
                $ cd ~/Homestead
                $ bash init.sh

*四、创建SSH密钥
                $ ssh-keygen -t rsa -C "youremail@homestead"        #如已经有则不需要再创建,由于在使用git的时候已经创建了,我这里将省略

五、初始化
        1、备份Vagrantfile
                $ cd ~/Homestead
                $ mv Vagrantfile Vagrantfile.bak
        2、初始化,生成新的Vagrantfile文件
                $ vagrant init
        3、编辑Vagrantfile文件
                将base改为laravel/homestead
        4、启动Vagrant Box
                $ vagrant up        #(需要先操作第六步的第4小步)
        5、删掉Vagrantfile,还原备份的Vagrantfile
                $ rm Vagrantfile
                $ mv Vagrantfile.bak Vagrantfile
        6、关于初始化的报错
                6.1 未初始化:
                        Box 'laravel/homestead' could not be found. Attempting to find and install...
                6.2 未Vagrantfile文件将base改为laravel/homestead:
                        Box 'laravel/homestead' could not be found. Attempting to find and install...
                6.3 默认开启名为"homestead-7"的机器,而我们装的没有名字,需要先操作第六步的第4小步将name配置为"default"
                        Failed to connect to vagrantcloud-files-production.s3.amazonaws.com port 443: Timed out

六、配置 Homestead
        $ v
94df
i Homestead.yaml
        1、配置提供器

                provider 参数设置决定了你用的是哪一个 Vagrant 提供器:virtualbox、vmware_fusion、vmware_workstation 或者 parallels:
                        这里使用的配置是:provider: virtualbox

        2、配置共享文件夹

                folders 属性里列出所有与 Homestead 环境共享的文件夹。这些文件夹中的文件若有变更,它们会保持本地机器与 Homestead 环境之间同步。你可以根据需要配置多个共享文件夹:
                        folders:

                            - map: F:/www/laravel         #windows下项目路径

                            to: /home/vagrant/code      #homestead下复制过去的路径

         3、配置 Nginx 站点
                可以增加多个站点到你的 Homestead 环境中

                   sites:

                        - map: mysite                                             #域名(需要编辑C:\Windows\System32\drivers\etc\hosts文件,加上192.168.10.10    mysite)

                        to: /home/vagrant/code/Laravel/public      #nginx指向的目录
        4、配置name
                vagrant up默认开启名为"homestead-7"的机器,而我们装的没有名字,改为"default":
                        name: "default"
        5、关于文件共享的说明
                5.1 不管是在homestead上修改文件还是在本地修改,文件都会互相同步
                5.2 如果文件不同步注意第五步初始化的时候最后是否执行第5点,还原旧的Vagrantfile文件

七、重载Homestead使配置生效

        $ cd ~/Homestead

        $ vagrant reload --provision

八、ssh登录到homestead

        $ cd ~/Homestead

        $ vagrant ssh

九、关于创建laravel项目的说明
        在Homestead上创建

        1、首先需要在本地磁盘创建目录F:/www/laravel

        2、执行第七步重载命令

        3、执行第八步登录ubuntu主机,设置中国全量镜像,使用composer创建项目

                sudo composer create-project laravel/laravel code

                数据会自动同步到F:/www/laravel路径下

        本地创建

                如果本地安装了Composer可以在本地创建(注意:如果在本地创建laravel5.5版本,由于本地的php版本是5.6,会报错,默认创建5.4版本。)

                Could not find package laravel/laravel with version 5.5.* in a version installable using your PHP version 5.6.23.

        详细的laravel安装参考我的上一篇文章



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: