Apache / httpd ne démarre pas automatiquement au démarrage

11

J'ai installé apache2 sur Amazon Linux AMI version 2012.03. Je peux le démarrer manuellement très bien, sans aucune erreur d'utilisation /etc/init.d/httpd start. Cependant, il ne démarre pas automatiquement au démarrage de la machine.

Il semble que tout soit correctement configuré dans mes répertoires rc * .d. Voici le résultat de find /etc/rc.d -name "*httpd*" | xargs ls -l:

-rwxr-xr-x 1 root root 3371 Feb 16  2012 /etc/rc.d/init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc0.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc1.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc2.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc3.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc4.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc5.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc6.d/K15httpd -> ../init.d/httpd

Je comprends que je peux /etc/init.d/httpd startentrer la commande /etc/rc.local, mais n'est-ce pas une solution de contournement? Pourquoi ne démarre-t-il pas automatiquement? D'autres choses dans les répertoires rc * .d commencent très bien au démarrage (mongod, postfix, etc.). Merci!

Mike Cialowicz
la source
Mike, je pense que vous pouvez utiliser chkconfig --list et chkconfig avec la distribution Amazon AMI.
JasonAzze du
chkconfig --listmontre httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off... alors comment les allumer? Merci!
Mike Cialowicz

Réponses:

34

Utilisez chkconfig pour gérer les niveaux d'exécution sous lesquels vous souhaitez que ce service démarre.

Habituellement, chkconfig httpd on fait le travail.

JasonAzze
la source
Et si ça ne marche pas?
Paul Sheldrake
2
@PaulSheldrake utilisez-vous un système d'exploitation qui utilise systemd par hasard? Par exemple, les Linux de la famille Red Hat 7 utilisent désormais systemd. Dans ce cas, vous voulezsystemctl enable httpd
JasonAzze
@JasonAzze J'utilise centos 6.5.
Paul Sheldrake
@JasonAzze Si vous êtes intéressé à y jeter un œil github.com/paulsheldrake/vagrant/blob/master/scripts/…
Paul Sheldrake
@PaulSheldrake quel est le mode de panne? Si vous émettez, chkconfig --list httpdest-il "activé" pour les niveaux d'exécution 2 à 5? Je me demande si httpd essaie de démarrer mais s'arrête immédiatement à cause d'une mauvaise configuration httpd. Y a-t-il des preuves dans les journaux?
JasonAzze du
7

Vous n'avez aucun lien "S". Tous les "K" sont à l'arrêt uniquement. Ajoutez des liens avec le même nom, remplacez simplement le K par S.

"En général, le système démarre les commandes commençant par la lettre" S "et arrête les commandes commençant par la lettre" K. "Les commandes commençant par la lettre" K "ne s'exécutent que lorsque le système modifie les niveaux d'exécution de supérieur à un niveau inférieur. Les commandes commençant par la lettre "S" s'exécutent dans tous les cas. "

Si vous utilisez chkconfig, voir "man chkconfig". Pour votre cas:

chkconfig --level 2345 httpd on

devrait faire.


la source