防止apt-get安装后启动Apache


15

当我apt-get install apache2安装完成后,服务器会自动启动,并且默认的Apache配置使/var/www/客户端可以访问所有内容。因此,如果在安装Apache之前该目录中有任何封闭的源服务器端脚本或其他机密信息,则可以公开访问它,直到更改Apache配置并重新启动Apache或停止Apache。

我可以做这个

sudo apt-get install -y apache2
sudo service apache2 stop
# Finish setting up...

然后只有一个简短的窗口可以访问这些秘密内容,但是最好不要让Apache完全自动启动,/var/www/甚至永远不要暴露它。

是否可以传递任何选项apt-get install或其他方式阻止Apache在安装后自动启动?


我不知道自己编译Apache而不使用时的行为apt-get。我想,如果您自己进行编译,则可以找到安装并禁用它后启动Apache的代码。如果有人可以更详细地描述,那可能是一个不错的答案。但是,仍然可以使用上述问题的理想答案apt-get
David Winiecki 2015年

5
为什么不在升级过程中将防火墙防火墙关闭一分钟呢?
EEAA 2015年

我想我的问题是怎么样这其中的副本对askubuntu.com:askubuntu.com/questions/74061/...
大卫Winiecki

1
还有另一种选择:使用Red Hat / CentOS发行版,这些发行版不会受此或Debian的其他任何困扰。
迈克尔·汉普顿

Answers:


13

尝试这个:

  1. 创建一个/usr/sbin/policy-rc.d具有以下内容的文件:
#!/bin/sh  
exit 101
  1. 使它可执行:
chmod +x /usr/sbin/policy-rc.d

此后,将安装所有软件包,但服务不会启动。

完成后,您可以删除文件:

rm -f /usr/sbin/policy-rc.d

我正在尝试这个。更多信息,在这里:jpetazzo.github.io/2013/10/06/…#!尽管我要使用。)
David Winiecki 2015年

10

很多选择:

  1. 将关闭的源内容移出 /var/www
  2. 更改该内容的权限,以使apache用户无法阅读它
  3. iptables停止端口80/443通信
  4. 将运行级别环境变量传递给apt-get
sudo RUNLEVEL=1 apt-get install apache2

apache2安装会不会将“当前”配置文件保留在原位?例如,留在/etc/apache2/httpd.conf中的模板不会被覆盖,对吗?
Hyppy 2015年

我认为暗示要更改Apache配置(使用这些答案中的一种方法使/ var / www无法访问之后)。
David Winiecki 2015年

我的意思是,我认为这4种方法中的任何一种都不会修改Apache配置。
David Winiecki 2015年

1
我认为我将使用RUNLEVEL=1它,因为它似乎是最简单的选项,并且可以在测试中工作,但是iptables或其他防火墙确实感觉像是正确的方法。
David Winiecki 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.