尝试禁用正在工作的站点;a2dissite 返回“错误:站点 [such] 不存在!”

尝试禁用正在工作的站点;a2dissite 返回“错误:站点 [such] 不存在!”

我是网站设置的新手,最近一段时间之前从未使用过 Web 服务器。但是,这个基本步骤让我很困惑;我无法使用以下命令停止正在运行的网站a2dissite

$ sudo a2dissite [such]
ERROR: Site [such] does not exist!

不可能出现拼写错误,因为我使用通配符得到了相同的结果。实际上,使用 * 通配符和选定的字母会返回一个完整的句子:ERROR: Site [the_full_name_such] does not exist!

我的sites-*文件夹或conf文件是否可能已损坏?

有哪些好的故障排除步骤?

答案1

以下是有关我的问题所取得的重大进展的报告。

a2dissite采取的第一个故障排除步骤是:花时间阅读在 中找到的脚本代码/usr/sbin。意识到我通常通过修改代码来很好地排除故障。

第二个故障排除步骤:使用不同的名称制作副本,并执行以进行测试。重复问题:失败。使用 perl 调用:失败。放弃回显脚本中的信息。

第三个故障排除步骤:致电man a2dissite并进行 docuread。有趣的是:

   FILES

   /etc/apache2/sites-available
          Directory with files giving information on available sites.

   /etc/apache2/sites-enabled
          Directory with links to the files in sites-available for enabled
          sites.

然后我发现我有一个真正的文件,sites-enabled但没有“对应”的文件sites-available。缺少文件sites-available是错误消息的原因。

以下显然解决了我的问题症状:

/etc/apache2/sites-enabled $ sudo mv [such_site.conf] ../sites-available/[such_site.conf]
/etc/apache2/sites-enabled $ sudo ln ../sites-available/[such_site.conf] [such_site.conf]
/etc/apache2/sites-enabled $ sudo a2dissite [such_site]
ERROR: /etc/apache2/sites-enabled/[such_site.conf] is not a symbolic link, not deleting
Site [such_site] disabled.
/etc/apache2/sites-enabled $ sudo rm [such_site.conf]
/etc/apache2/sites-enabled $ sudo a2dissite [such_site]
Site [such_site] already disabled

答案2

对上述答案进行小幅修正。

创建链接时,请创建符号链接而不是硬链接。

文件的软链接(-s)。

sudo ln -s ../sites-available/[such_site.conf] [such_site.conf]

相关内容