私は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