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

时间:2016-08-17 13:57:20

标签: apache ip virtualhost virtual-hosts

我的项目在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.这是通过网络服务项目的正确方法吗?
2.还有其他方法可以通过网络用于服务项目而无需修改000-default.conf文件吗?

EDIT 这是我的/etc/hosts文件内容

127.0.0.1 localhost
127.0.1.1 bonnie
127.0.1.1 btapp.local

1 个答案:

答案 0 :(得分:0)

正确的方法是设置虚拟主机并在不同的端口运行它。 要设置端口,请在ports.conf路径

中的etc/apache2文件中提及该端口

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

Listen 80
Listen 81

<IfModule ssl_module>
   Listen 443
</IfModule>

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

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

<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的默认配置。 如果将虚拟主机创建为单独的conf,则不需要修改2.default.conf文件。