制御プロセスがエラーコードで終了し、apache2.serviceが失敗しました。

制御プロセスがエラーコードで終了し、apache2.serviceが失敗しました。

私はUbuntu 15 64ビットを使用しています。

$ uname -a
Linux {hostname} 4.2.0-16-generic

私は以下をインストールしましたapache2

$ sudo apt-get install -y apache2

mod_xxx.so私が入れたものが1つあります/usr/lib/apache2/modules/。権限を755(rwx rx rx)に設定しました。

私が編集したものapache2.conf

$ sudo vi /etc/apache2/apache2.conf
AddHandler xxx-handler .xxx
LoadModule xxx_module modules/mod_xxx.so

私は以前にいくつかの異なるLinuxシステムでこれを行ったので、これがうまくいくことを知っています。

Apacheを再起動しようとすると、次のエラーで失敗します。

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

上記の操作を実行すると、次のようにsystemctl status apache2.service表示されます。

apache2.service - LSB: Apache2 web server
 Loaded: loaded (/etc/init.d/apache2)
 Active: failed (Result: exit-code) since Wed 2016-03-09 10:32:34 GMT; 9s ago
  Docs: man:systemd-sysv-generator(8)
Process: 3479 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
Process: 3503 ExecStart=/etc/init.d/apache2 start (code=exited, status=1/FAILURE)

Mar 09 10:32:34 Ubuntu14 apache2[3503]: *
Mar 09 10:32:34 Ubuntu14 apache2[3503]: * The apache2 configtest failed.
Mar 09 10:32:34 Ubuntu14 apache2[3503]: Output of config test was:
Mar 09 10:32:34 Ubuntu14 apache2[3503]: apache2: Syntax error on line 224 of...y
Mar 09 10:32:34 Ubuntu14 apache2[3503]: Action 'configtest' failed.
Mar 09 10:32:34 Ubuntu14 apache2[3503]: The Apache error log may have more i....
Mar 09 10:32:34 Ubuntu14 systemd[1]: apache2.service: Control process exite...=1
Mar 09 10:32:34 Ubuntu14 systemd[1]: Failed to start LSB: Apache2 web server.
Mar 09 10:32:34 Ubuntu14 systemd[1]: apache2.service: Unit entered failed state.
Mar 09 10:32:34 Ubuntu14 systemd[1]: apache2.service: Failed with result 'e...'.
Hint: Some lines were ellipsized, use -l to show in full.

LoadModuleそのため、指定された位置をあちこち探してみたいと思います。だから私はこれを試しました:

$ sudo grep "LoadModule" /

私もこれを試しました:

sudo find / -type f grep -l "LoadModule"

まだ運がありません。

LoadModuleどこに指定されていますかApache 2.4.12

わかりましたApache 2.4.7。ファイル内にあり、apache.confここでは新しいバージョンで使用したのと同じロジックを使用しています。

これは仮想マシンで実行されるため、エラーが発生した場合はマシンをクリーンアップして再起動できます。私もrootユーザーです。

答え1

ここでの問題は、以下を使用する必要があることです。

sudo a2enmod xxx.load

その後、Apache2を再起動するように求められます。私はこれをし、今はうまくいきます。

今回のApacheバージョン(2.4.12)は2.4.7とは異なる動作をするため、別の作業を実行する必要がありました。

答え2

この問題を解決しました。

$ sudo service apache2 start

制御プロセスがエラー・コードで終了したため、apache2.service 操作が失敗しました。詳細については、「systemctl status apache2.service」および「journalctl -xe」を参照してください。

エラーコードと apache2 サービスの有効化により制御プロセスが終了したため、apache2.service が失敗しました。失敗に対する完璧なソリューションです。

$ systemctl restart apache2
$ journal -xe 
$ sudo apt-get purge apache2
$ sudo apt autoremove apache2
$ sudo apt-get purge apache2
$ sudo apt-get purge apache2*
$ sudo apt-get install apache2
$ sudo service apache2 start

関連情報