我如何恢复空的 http.config 文件?

我如何恢复空的 http.config 文件?

我愚蠢地弄乱了我的 Apache https.file(我想是的)。我试图使用 Webmin 安装一个新的虚拟服务器。我尝试使用 Virtualmin,但不知何故,它对 Apache 做了一些事情,因为它不会重新启动,并显示以下错误消息:

    Failed to start apache :
 * Starting web server apache2
[Fri Feb 07 15:13:37 2020] [warn] NameVirtualHost xxx.xxx.xxx.xxx:80 has no VirtualHosts
[Fri Feb 07 15:13:37 2020] [warn] NameVirtualHost xxx.xxx.xxx.xxx:xxxx has no VirtualHosts
(98)Address already in use: make_sock: could not bind to address xxx.xxx.xxx.xxx:xxxx
no listening sockets available, shutting down
Unable to open logs
   ...fail!

我删除了虚拟主机,但仍然没有成功。我检查了我的 httpd.conf 文件,它是空的。再次尝试设置新的虚拟主机后,httpd.conf 文件完全丢失了。

我现在需要弄清楚如何让 Apache 再次运行。我可以移除并删除 Apache 然后重新安装它吗?这会生成一个新的 http.conf 文件吗?其中至少有一些我可以编辑的内容,并让 Apache 再次启动吗?

如果这一切听起来很简单,那么我很抱歉,但多年来我没有对我的服务器做太多的事情,现在对它的修修补补让我陷入困境。

答案1

错误NameVirtualHost ... has no VirtualHosts通常发生在.conf文件不完整的情况下。我看到的一个常见问题是端口被排除在标签之外<VirtualHost>

.conf检查存在的各种文件/etc/apache/sites-enabled并查看<VirtualHost>标签。如果您看到任何与以下模式之一匹配的文件:

  • <VirtualHost>
  • <VirtualHost *>
  • <VirtualHost 80>

更改为:

  情况
<VirtualHost *:80> 非 HTTPS 流量(可能仅包含重定向)
<VirtualHost *:443> 启用 HTTPS 的流量(这需要 SSL 证书定义)

距离你提出这个问题已经过去了将近一年,所以你现在可能已经解决了这个问题。话虽如此,我希望这对将来遇到同样问题的人有所帮助。

相关内容