Laravel 带有 Apache 服务器的 Homestead

Laravel Homestead with Apache server

去年,在长期使用 WAMP 堆栈之后,我转向了 Vagrant 上的 Homestead。对于非 Laravel 开发项目,我需要使用 Apache Server。我知道可以在 Homestead 上安装 Apache 服务器,然后为每个站点添加虚拟主机,但这似乎有点不切实际。 Homestead.yaml 文件中的站点可用于 Nginx,但似乎不适用于 Apache。

我的问题是:

我在这些事情上有点菜鸟。非常感谢任何帮助!

我还在自己研究和弄清楚。该文档几乎不存在,但请参阅 https://laravel.com/docs/master/homestead#adding-additional-sites

特别是:

Site Types

Homestead supports several types of sites which allow you to easily run projects that are not based on Laravel. For example, we may easily add a Symfony application to Homestead using the symfony2 site type:

sites: - map: symfony2.app to: /home/vagrant/Code/Symfony/public type: symfony2 The available site types are: apache, laravel (the default), proxy, silverstripe, statamic, and symfony2.

另请注意:https://laracasts.com/discuss/channels/general-discussion/homestead-and-apache

随着我了解更多,将进行修改。

至于现在,要使 Homestead.yaml 文件中的站点条目适用于 Apache2,您需要:

1- 将网站添加到 Homestead.yamltype: apache 作为同胞

sites:
    -
        map: homestead.test
        to: /home/vagrant/code/Laravel/public    
    -
        map: homestead.test
        to: /home/vagrant/code/Apache/public
        type: apache

2-进入vagrant box目录,然后运行

vagrant destroy

3- 然后 运行

vagrant up

4- 对流浪机器嘘声

vagrant ssh

5-翻转服务器,通过运行ning:

flip

您将收到此消息:

nginx stopped
apache started

测试

我已经创建了目录Apache/public

mkdir -p Apache/public

然后在其中,我创建了文件 index.php

echo "<?php phpinfo();" > Apache/public/index.php

可以使用默认 homestead negix 站点的相同 IP 地址访问

type: apache 添加到您的 homestead.yaml 站点配置,然后使用 vagrant reload --provision

重新加载 vagrant 机器
sites:
    - map: homestead.test
      to: /home/vagrant/code/{path/to/laravel}/public
      type: "apache"

Learn more in laravel doc