如何禁用所有apache虚拟主机?

时间:2008-10-08 14:42:39

标签: apache virtualhost

我正在编写一个shell脚本来进行一些Web服务器配置。我需要禁用所有当前活动的虚拟主机。 a2dissite不接受多个参数,所以我不能做

a2dissite `ls /etc/apache2/sites-enabled`

我应该使用find吗?手动删除/etc/apache2/sites-enabled中的符号链接是否安全?

8 个答案:

答案 0 :(得分:12)

经过一番研究后,我发现a2dissite只是一个shell脚本,它基本上只调用rm。所以,像其他回复一样,我同意这样做是安全的

rm /etc/apache2/sites-enabled/*

答案 1 :(得分:10)

你的脚本只是Debian吗?如果是这样,您可以安全地删除已启用站点的所有符号链接,只要所有站点都已正确写入,就会在站点可用目录中删除。

例如:

 find /etc/apache2/sites-enabled/ -type l -exec rm -i "{}" \;

将保护您免受实际在该目录中编写文件而不是符号链接的人的攻击。<​​/ p>

(当然,从rm中删除-i以获取自动脚本)

答案 2 :(得分:9)

ubuntu 12.04lts / ubuntu 16.04lts

您可以执行以下操作[注意:您可能需要root权限sudo a2dissite]

a2dissite *

或者

a2dissite

它会提示你做你想做的事

当你完全禁用网站重启apache2服务器

sudo systemctl restart apache2

或者只是在没有完全重启的情况下重新加载apache配置:

sudo service apache2 reload

答案 3 :(得分:4)

要删除主机文件,只需将其删除即可。 如果您只想不允许该网站,请使用

sudo a2dissite sitename

重启apache2

sudo /etc/init.d/apache2 reload

再次从系统中删除(删除)它,

sudo rm /etc/apache2/sites-available/sitename

我还会在删除文件之前先禁用它

答案 4 :(得分:2)

您可以删除符号链接,也可以移动整个目录。除了这些链接之外,没有特殊的数据库或其他元数据。

答案 5 :(得分:1)

我从不使用'a2dissite'并且总是手动删除并创建/ etc / apache2 / sites-enabled中的链接所以是的,我会说它非常安全。

答案 6 :(得分:-1)

您可以编辑httpd.conf并删除虚拟主机的包含行(位于文件底部)

答案 7 :(得分:-3)

显然,你可以安装最新的Ubuntu;)