Ubuntu 18.04.3,Virtualmin 6.08,Webmin 1.932
一些奇怪的事情正在发生。
如果 /etc/apache2/sites-enabled 中没有任何内容
然后我可以访问服务器的主页:ns.server.com(/var/www/html)
并且 ns.server.com/phpmyadmin 运行良好
如果我添加虚拟主机或启用网站
a2ensite domain.com (+ 重新加载 apache)
然后当我尝试访问 ns.server.com 时,出现 403 Forbidden
并且 ns.server.com/phpmyadmin 下载 php 文件而不是执行它。
如果我 a2dissite domain.com (+重新加载 apache)
一切恢复正常。
/etc/apache2/apache2.conf:
DefaultRuntimeDir ${APACHE_RUN_DIR}
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Include ports.conf
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
AccessFileName .htaccess
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
IncludeOptional conf-enabled/*.conf
IncludeOptional sites-enabled/*.conf
SSLProtocol ALL -SSLv2 -SSLv3
SSLCipherSuite HIGH:!SSLv2:!ADH:!aNULL:!eNULL:!NULL
<IfModule php7_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
</IfModule>
有人能帮忙弄清楚发生了什么吗?谢谢,
更新
因此,ns.server.com 似乎始终指向 /etc/apache2/sites-enabled 中按字母顺序排列的第一个站点的 public_html。如果我将 index.html 放在那里,我就可以访问 ns.server.com。
另外,如果我在第一个虚拟主机中以 Apache 用户身份运行 php,那么 ns.server.com/phpmyadmin 也能正常工作。
所以有一个解决方法,但它太奇怪了:-o
有任何想法吗?
答案1
简而言之,作为最佳实践,定义一个_default_
虚拟主机。
IE
<VirtualHost _default_:*>
DocumentRoot "/www/default"
</VirtualHost>
如果需要,您还可以将其添加到现有的虚拟主机指令...:
<VirtualHost _default_:* 1.2.3.4:80>
DocumentRoot "/www/some_website"
</VirtualHost>