所有 Apache 虚拟主机上的默认网站

所有 Apache 虚拟主机上的默认网站

我已经在 Debian Stretch 服务器上安装了 Webmin、Virtualmin、LAMP。这是全新安装。

现在我的问题有点奇怪,因为我之前的服务器很久以前就遇到过这个问题,我花了半年的时间才终于解决它 - 第一次安装 [Webmin、Virtualmin、LAMP 在我的 Debian Stretch 服务器上] 时,我尝试了好几天才解决它,但放弃了。在接下来的半年里,我尝试解决它几次 (1-3),但只有最后一次才能解决。我记得我没有在互联网上找到解决方案 (包括这个网站、其他 StackExchange 网站、Virtualmin 论坛、Apache 的网站和各种教程/文章网站),尽管有很多人遇到和我同样的问题,但我用各种关键字和句子搜索过。建议的解决方案都没有奏效。现在,上次它起作用了,但我不再有那台服务器了,我记不清解决方案是什么了,我正试图在第二天再次找出答案。

问题是,当我创建一个新的虚拟主机时,其域名实际上指向服务器的 IP 地址(或者不是,但我已将其([域名])转发到我的主机文件 [在我的个人计算机上])并转到该站点,默认的 Apache 站点显示出来。我很确定虚拟主机配置正确,或者至少配置不正确,这不是我的错误,因为虚拟主机是由 Virtualmin 添加的,而不是我。当我进行检查时,似乎它已正确添加。如果我手动添加虚拟主机,那也不起作用,但是我在添加虚拟主机时可能犯了一个错误。

如果您需要任何其他信息,请直接询问。谢谢。

查看 Apache 标签的描述后,sudo /usr/sbin/apache2ctl -S返回的内容如下:

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server 127.0.1.1 (/etc/apache2/sites-enabled/test.local.conf:1)
         port 80 namevhost 127.0.1.1 (/etc/apache2/sites-enabled/test.local.conf:1)
         port 80 namevhost 127.0.1.1 (/etc/apache2/sites-enabled/test2.local.conf:1)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex default: dir="/var/run/apache2/" mechanism=default
Mutex watchdog-callback: using_defaults
Mutex proxy: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

答案1

Virtualmin 创建<VirtualHost>s 的方式与 Debian 9 中处理 s 的方式相同吗?Debian 使用单独的配置文件,包括/etc/apache2/sites-enabled/使用IncludeOptional sites-enabled/*.conf

这意味着你的配置文件

  • 应该有符号链接/etc/apache2/sites-enabled/(从存储在的配置文件中/etc/apache2/sites-available/,使用命令a2ensite site或手动ln -s
  • 必须有.conf后缀。

apache2ctl -S声明只有一个符合这些条件,并且已从第 1 行开始<VirtualHost *:80>读取。/etc/apache2/sites-enabled/000-default.conf

如果您的 Webmin 没有以这种方式处理配置文件,请检查操作系统和环境设置并选择正确的分布。

答案2

我很久以前就问过这个问题,但以防其他人遇到同样的问题,解决方案是将每个 Apache 虚拟主机放在配置上的相同 IP 地址和端口上。

相关内容