VirtualHosts配置是否在一个文件中?

时间:2014-10-31 12:00:04

标签: apache debian virtual-hosts

我在Debian(Apache 2)上运行一个带有一个IP地址的http服务器。我在服务器上运行的域和SVN也很少。目前,我的配置使用VirtualHosts将我的域指向我服务器上的正确文件夹。

我仅在名为“/ etc / apache2 / sites-available / default”的文件中完成了所有VirtualHosts配置。这是正确的方法,还是应该为我在服务器上运行的每个网站创建一个新文件?

此时,我的VirtuaHosts文件(/ etc / apache2 / sites-available / default)如下所示:

NameVirtualHost *:80

<VirtualHost *:80>
        ServerName www.domain1.com
        ServerAlias domain1.com
        DocumentRoot /var/www/domain1
</VirtualHost>

<VirtualHost *:80>
    ServerName www.domain2.com
    ServerAlias domain2.com
    DocumentRoot /var/www/domain2
</VirtualHost>

<VirtualHost *:80>
    ServerName svn.myhostname.com
    DocumentRoot /var/svn
     <Directory /var/svn/>
             Options Indexes FollowSymLinks MultiViews
             AllowOverride All
             Order allow,deny
             allow from all
     </Directory>
     <Location />
             DAV svn                              
             SVNParentPath /var/svn               
             AuthType Basic                         
             AuthName "Subversion"                  
             AuthUserFile /etc/subversion/svn-auth  
             Require valid-user                    
     </Location>
     LogLevel warn                              
     ErrorLog ${APACHE_LOG_DIR}/svn.error.log
     CustomLog ${APACHE_LOG_DIR}/svn.access.log combined
</VirtualHost>

1 个答案:

答案 0 :(得分:0)

没有'正确'的方式。您还可以为每个Vhost创建一个额外的文件。例如,我将所有VHost都放在/etc/apache2/httpd.conf中,并通过Include httpd.conf中的/etc/apache2/apache2.conf将其包含在内。

但如果您希望它有点结构化,您可以在/etc/apache/sites-availible/中使用内置VHosts系统的Ap​​ache2,每个站点都有多个文件(VHost)。

如果您需要,可以使用nano /etc/apache2/sites-availible/mypage1,然后通过a2ensite命令激活或取消激活它。与a2ensite mypage1一样。