Empêcher Apache de démarrer après l'installation d'apt-get

15

Lorsque je apt-get install apache2le serveur démarre automatiquement à la fin de l'installation, et la configuration par défaut d'Apache rend tout /var/www/accessible au côté client. Ainsi, si j'ai des scripts côté serveur source fermé ou d'autres informations secrètes dans ce répertoire avant d'installer Apache, il est accessible au public jusqu'à ce que je modifie la configuration d'Apache et redémarre Apache ou jusqu'à ce que j'arrête Apache.

je peux le faire

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

Et puis il n'y a qu'une brève fenêtre où les trucs secrets sont accessibles, mais il serait préférable d'empêcher Apache de démarrer automatiquement du tout et de ne jamais exposer /var/www/même un seul instant.

Existe-t-il des options que je peux transmettre apt-get installou d'autres moyens d'empêcher Apache de démarrer automatiquement après son installation?

David Winiecki
la source
Je ne sais pas quel est le comportement lorsque vous compilez vous-même Apache au lieu de l'utiliser apt-get. Je suppose que si vous le compilez vous-même, vous pouvez trouver le code qui démarre Apache après l'installation et le désactiver. Cela pourrait être une réponse décente si quelqu'un peut décrire plus en détail. Cependant, la réponse idéale à la question, comme indiqué, serait toujours utilisée apt-get.
David Winiecki
5
Pourquoi ne pas simplement couper le pare-feu de votre serveur pendant une minute pendant la mise à niveau?
EEAA
Je suppose que ma question est une sorte de doublon de celle-ci sur askubuntu.com: askubuntu.com/questions/74061/…
David Winiecki
1
Encore une autre option: utilisez les distributions Red Hat / CentOS, qui ne souffrent pas de cela ou de toute autre folie de Debian.
Michael Hampton

Réponses:

13

Essaye ça:

  1. Créez un fichier /usr/sbin/policy-rc.davec le contenu suivant:
#!/bin/sh  
exit 101
  1. Rendez-le exécutable:
chmod +x /usr/sbin/policy-rc.d

Après cela, tous les packages seront installés mais les services ne démarreront pas.

Une fois que vous avez terminé, vous pouvez supprimer le fichier:

rm -f /usr/sbin/policy-rc.d
b13n1u
la source
J'essaye ça. Plus d'informations ici: jpetazzo.github.io/2013/10/06/… (je vais utiliser #!cependant.)
David Winiecki
10

Beaucoup d'options:

  1. Déplacer le contenu de source fermée hors de /var/www
  2. Modifier les autorisations sur ce contenu de sorte que l'utilisateur apache ne puisse pas le lire
  3. Iptables pour arrêter le trafic du port 80/443
  4. Passez une variable d'environnement de niveau d'exécution à apt-get:
sudo RUNLEVEL=1 apt-get install apache2
dmourati
la source
L'installation d'apache2 ne laisserait-elle pas les fichiers de configuration "actuels" en place? Par exemple, un modèle laissé dans /etc/apache2/httpd.conf ne serait pas écrasé, n'est-ce pas?
Hyppy
Je pense que changer la configuration d'Apache (après avoir rendu / var / www inaccessible en utilisant l'une des méthodes de ces réponses) est implicite.
David Winiecki
Je veux dire, je ne pense pas que l'une de ces 4 méthodes modifiera la configuration d'Apache.
David Winiecki
1
Je pense que je vais utiliser RUNLEVEL=1car cela semble être l'option la plus simple et cela a fonctionné dans un test, mais iptables ou un autre pare-feu semble être la bonne façon.
David Winiecki