Apache pas capable de redémarrer

71

Essayer de redémarrer apache depuis un terminal en utilisant la commande suivante:

 sudo service apache2 restart

lors de l'exécution de cette commande, obtenir l'erreur ci-dessous:

Job for apache2.service failed. See "systemctl status apache2.service" and "journalctl -xe" for details.

À la sortie du message "systemctl status apache2.service"

apache2.service - (null)
   Loaded: loaded (/etc/init.d/apache2)
   Active: failed (Result: exit-code) since Sat 2015-05-30 02:22:41 IST; 12s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 4866 ExecStart=/etc/init.d/apache2 start (code=exited, status=1/FAILURE)

apache error.log

AH00489: Apache/2.4.12 (Unix) configured -- resuming normal operations
AH00094: Command line: '/usr/local/apache2/bin/httpd'
Gautam Savaliya
la source
6
Après avoir exécuté le redémarrage d'apache2 et obtenu cette erreur, exécutez sudo journalctl -xe-le pour vous donner une meilleure idée de ce qui s'est passé. si vous avez encore des problèmes pour le comprendre. Affichez les résultats ici.
grag42
D'accord. Cela ne m'a pas aidé non plus. Que contient les fichiers journaux Apache? /var/log/apache2/error.log
grag42
@ grag42 Merci pour votre suggestion, j'ai lancé sudo journalctl -xe et découvert un problème de règle de réécriture qui existait déjà. Je l'ai corrigé et il fonctionne maintenant.
Gautam Savaliya
4
Doublage possible d' Apache ne commençant pas
rancho
3
@rancho: Qu'est-ce qui vous fait croire que la question est un doublon? La question liée contient un message d'erreur assez spécifique que nous n'avons pas ici. Les causes possibles de l’émission d’OP sont assez floues en ce moment.
David Foerster

Réponses:

61

Peut-être que cela aidera à trouver la cause:

journalctl | tail

Dans mon cas, c'était une erreur dans le fichier de configuration:

AH00526: Syntax error on line 5 of /etc/apache2/sites-enabled/mydomain-wsf.lan.conf
Arek
la source
6
No journal files were found.
Stevie G
5
@StevieG, essayezsudo journalctl | tail
Dherik
1
Qu'as-tu fait pour réparer la chose?
Léo Léopold Hertz 준영
dans mon cas, j'ai aussi fait une erreur dans le fichier
apache2.config
Merci. J'ai mal saisi mon répertoire pour la conf de mon site nouvellement ajouté.
Lynnell Emmanuel Neri
48

Il y a une erreur de syntaxe dans le fichier apache2.conf.

Dans un terminal, tapez:

cd /etc/apache2

Ensuite:

apache2ctl configtest

Il vous montrera où se trouve l'erreur dans le apache2.conffichier à corriger.

rancho
la source
1
bonne approche tnx, m'a fait gagner du temps
George Garchagudashvili
1
C'est fantastique.
Abalter
1
Merci. Problème avec redmine et l'option PassengerResolveSymlinksInDocumentRoot.
Vadim
lol, après execute: apache2ctl configtestgot syntaxe ok, mais quand je lance apache2 --helpgot got apache2: Syntax error on line 82 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot et aucune erreur dans apache error.log!
Vladimir Ch
après avoir vu de près à /etc/apache2/sites-enabled/dir, j'ai remarqué que j'avais un fichier, pas symbolique linc vers site.conf + réactiver mod php5.6 (sudo a2dismod php5.6; sudo a2enmod php5.6) mon service apache2 a été lancé sans "ohh- ahh "
Vladimir Ch le
18

Le problème vient du fait que certains fichiers de configuration sont supprimés, vous devez le réinstaller.

RÉINSTALLE APACHE2:

Pour remplacer les fichiers de configuration supprimés sans purger le package, vous pouvez procéder comme suit:

sudo apt-get -o DPkg::Options::="--force-confmiss" --reinstall install apache2

Pour supprimer complètement les fichiers de configuration apache2, vous devez:

sudo apt-get purge apache2

qui vous permettra ensuite de le réinstaller de la manière habituelle avec:

sudo apt-get install apache2

Une purge est nécessaire pour supprimer tous les fichiers de configuration - si vous supprimez les fichiers de configuration mais ne supprimez que le package, cette opération est mémorisée et les fichiers de configuration manquants ne sont pas réinstallés par défaut.

Ensuite, réinstallez PHP5:

apt-get purge libapache2-mod-php5 php5 && \
apt-get install libapache2-mod-php5 php5
Rujika Rajan
la source
1
Pourquoi pensez-vous que certains fichiers de configuration ont été supprimés?
Léo Léopold Hertz 준영
2

Problème:

Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.

Solution:

  • Pour supprimer complètement les fichiers de configuration apache2, vous devez:

    1) sudo apt-get purge apache2

  • qui vous permettra ensuite de le réinstaller de la manière habituelle avec:

    2) sudo apt-get install apache2

==> Cela fonctionne bien ...

Merci....

Riyal Padhiyar
la source
2

J'ai eu la même erreur après la suppression d'un hôte virtuel. Le problème était le fichier de configuration SSL en cours associé à cet hôte situé dans /etc/apache2/sites-enabled. Le SSL était passé par Let's Encrypt et le code que je devais supprimer était le suivant:

sudo rm yourdomain.com-le-ssl.conf
iMarketingGuy
la source
1

J'ai eu les mêmes erreurs en travaillant avec .htaccess

Je viens de mettre cette commande

<Directory /var/www/html>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
</Directory>

dans /etc/apache2/sites-enabled/000-default.confce dossier

après avoir ajouté ceci, j'ai l'erreur

alors je supprime ces paix de commande du fichier et mon erreur a résolu.

Kaushikdjay
la source
1

vous avez probablement une erreur de syntaxe. pour moi, c'était dans mon dossier "sites activés".

J'ai mal orthographié «ServerAlias» à «ServerAlisa».

Bruce Tong
la source
Le mien était je mal orthographié mon dossier.
Lynnell Emmanuel Neri
0

C'est principalement une erreur de configuration. Je viens d'avoir un ancien site activé sur Apache, ce qui a causé cette erreur. Je devais donc le désactiver avant de recharger Apache.

sudo a2dissite <my-site>
sudo service apache2 reload

Problème résolu :)

Thomas Venturini
la source
0

Merci de votre aide! J'ai pu installer correctement avec Solution:

Pour supprimer complètement les fichiers de configuration apache2, vous devez:

  1. sudo apt-get purge apache2 qui vous permettra ensuite de le réinstaller de la manière habituelle avec:

  2. sudo apt-get install apache 2

Cela fonctionne maintenant bien.

Renata Sembay
la source
0

Je pense que le problème est que certains sites sont activés mais que vous avez supprimé son fichier de configuration. Essayez de désactiver le site avec sudo a2dissite "name" puis redémarrez Apache Server. Au moins c'était le problème pour moi et cette action l'a résolu.

Ilias Koritsas
la source
0

Dans mon cas, l'erreur a commencé à apparaître après avoir fait apt upgrade. Après avoir beaucoup joué, je suis allé dans les répertoires suivants pour voir ce que je peux désactiver.

  • / etc / apache2 / mods-enabled - a2dismod (à réactiver a2enconf)
  • / etc / apache2 / conf-enabled - a2disconf (à réactiver a2enconf)

Dans mon cas, je devais ces mods activés.

entrez la description de l'image ici

Il semble que cela apt-upgradeait dû supprimer / interrompre php7.2 car dès que je l'ai désactivé et redémarré, tout a fonctionné. Bien sûr, dans le cas de quelqu'un d'autre, cela peut être différent. Quand Apache plante, cela peut être une mauvaise configuration ou un mauvais mod. Vous devez choisir vos batailles.

Garçon furieux
la source