Chr*_*ard 9 apache virtualhost
我正在编写一个shell脚本来进行一些Web服务器配置.我需要禁用所有当前活动的虚拟主机.a2dissite不接受多个参数,所以我不能这样做
a2dissite `ls /etc/apache2/sites-enabled`
Run Code Online (Sandbox Code Playgroud)
我应该用find吗?手动删除符号链接是否安全/etc/apache2/sites-enabled?
Chr*_*ard 12
经过一番研究,我发现这a2dissite只是一个shell脚本,它基本上只是调用rm.因此,与其他回复一样,我同意这样做是安全的
rm /etc/apache2/sites-enabled/*
Run Code Online (Sandbox Code Playgroud)
Vin*_*vic 11
你的脚本只是Debian吗?如果是这样,您可以安全地删除已启用站点中的所有符号链接,只要所有站点都已正确写入,这些符号链接将在sites-available目录中删除.
例如:
find /etc/apache2/sites-enabled/ -type l -exec rm -i "{}" \;
Run Code Online (Sandbox Code Playgroud)
将保护您免受在该目录中实际编写文件而不是符号链接的人的攻击.
(当然,从rm中删除-i作为自动脚本)
ubuntu 12.04lts/ubuntu 16.04lts
您可以执行以下操作[注意:您可能需要root权限sudo a2dissite]
a2dissite *
Run Code Online (Sandbox Code Playgroud)
要么
a2dissite
Run Code Online (Sandbox Code Playgroud)
它会提示你做你想做的事
当你完全禁用站点重启apache2服务器
sudo systemctl restart apache2
Run Code Online (Sandbox Code Playgroud)
或者只是在没有完全重启的情况下重新加载apache配置:
sudo service apache2 reload
Run Code Online (Sandbox Code Playgroud)
要删除主机文件,只需将其删除即可。如果您只想禁用该网站,请使用
sudo a2dissite sitename
Run Code Online (Sandbox Code Playgroud)
重新启动阿帕奇2
sudo /etc/init.d/apache2 reload
Run Code Online (Sandbox Code Playgroud)
再次将其从系统中完全删除(删除),
sudo rm /etc/apache2/sites-available/sitename
Run Code Online (Sandbox Code Playgroud)
在删除文件之前我也会先禁用它