配置 Apache 以通过本地网络为项目提供服务的正确方法是什么

What is the right way to configure Apache to serve a project over a local network

我的项目 运行 在 apache 虚拟主机中。 conf 文件的名称是 btapp.local.conf 这是文件的内容

<VirtualHost *:80>
ServerName btapp.local
DocumentRoot /var/www/btapp/app/webroot


<Directory /var/www/btapp/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

我的本地网络 IP 是 addr:192.168.3.218 但是当我尝试通过 192.168.3.218/btapp.local 从网络访问项目时,我收到错误 The requested URL /btapp.local was not found on this server. 截至目前,我已经编辑了我的 000-default.conf 并放置了 btapp.local.conf 的内容(基本上我已经将默认主机指向项目的路径) 我想知道以下内容
1.Is 这是通过网络为项目提供服务的正确方式吗?
2.Are 我可以使用其他方法在不修改 000-default.conf 文件的情况下通过网络为项目提供服务吗?

编辑 这是我的 /etc/hosts 文件内容

127.0.0.1 localhost
127.0.1.1 bonnie
127.0.1.1 btapp.local

正确的方法是设置一个虚拟主机,运行它在不同的端口。 要设置端口,请在 etc/apache2 路径

ports.conf 文件中提及端口

这是我正在使用的 ports.conf 文件

Listen 80
Listen 81

<IfModule ssl_module>
   Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

在这种情况下,我已将 81 设置为新端口 在此端口上将虚拟主机配置为 运行 这是我在 /etc/apache2/sites-available 路径

中的 000-default.conf
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:81>
    DocumentRoot /var/www/btapp/app/webroot
    <Directory /var/www/btapp/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

1。所以,为了回答我的第一个问题,是的,有一种方法可以通过网络为项目提供服务,而无需覆盖 local 端口 80
的默认配置 2.default.conf如果虚拟主机创建到单独的conf中,则不需要修改文件。