QA@IT

XAMPP Apache 起動しない…

9641 PV

XAMPPを再インストールしたのですが、Apacheが起動できなくなりました。
現在、システムの復元ポイントへ巻き戻してはいるのですが、やはり起動できません。

XAMPPのコントロールパネルに表示されたエラー内容は以下です。

17:19:08 [Apache] Status change detected: stopped
17:19:08 [Apache] Error: Apache shutdown unexpectedly.
17:19:08 [Apache] This may be due to a blocked port, missing dependencies,
17:19:08 [Apache] improper privileges, a crash, or a shutdown by another method.
17:19:08 [Apache] Press the Logs button to view error logs and check
17:19:08 [Apache] the Windows Event Viewer for more clues
17:19:08 [Apache] If you need more help, copy and post this
17:19:08 [Apache] entire log window on the forums

考えられる原因はなんでしょうか?
ちなみにMySQLは起動できています。
よろしくお願いします。

回答

「再インストール」とありますが古い XAMPPはどうしましたか?

よくあるケースは別のXAMPPや他のWebサーバーが動いていてポートが使えない場合です。
(This may be due to a blocked port)

依存モジュールが原因の場合もあるとエラーに出てますが、
とりあえずエラーに出ている様にイベントビューアやApacheのログを見て原因を探ってみてください。
Press the Logs button to view error logs
check the Windows Event Viewer


追記

エラーの中で注目すべきは以下の部分です

[Fri Mar 25 14:28:15.882187 2016] [ssl:warn] [pid 960:tid 552] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name

notが全て大文字で強調されています。

サーバー証明書には server nameと一致するIDが含まれていないという意味です。

xamppは最近触ってないので設定の場所が予想になりますが(バージョン等も書いてないですし)、confディレクトリの中のどこかに httpd-ssl.confがあると思います。
調べた感じではxamppがデフォルトで用意している証明書ならそこで設定されているServerNameをwww.example.com:443からlocalhost:443に変えれば良いようです。

またはsslを使わないならssl設定自体読み込まないようにしてもいいかもしれません
(httpd.confかhttpd−xampp.confあたりでhttpd-ssl.confをincludeしている行をコメントアウトすればよいかと思いますがちがったらすいません)

編集 履歴 (2)

回答ありがとうございます。
httpd-ssl.conf を見つけたので ServerName の部分を変更してみたんですが起動しませんでした。
そのあと、httpd.conf の httpd-ssl.conf をインクルードしている行もコメントアウトして試してみたのですが同じく起動しませんでした。。。

httpd-ssl.confの変更部分は以下のようになっています。

DocumentRoot "C:/xampp/htdocs"
ServerName localhost:443
ServerAdmin admin@example.com
ErrorLog "C:/xampp/apache/logs/error.log"
TransferLog "C:/xampp/apache/logs/access.log"

こちらはhttpd.confのコメントアウト部分です。

*# Secure (SSL/TLS) connections
#Include conf/extra/httpd-ssl.conf
*

またxamppのバージョンは5.6.12と、多少古いものを使っています。(5.6.14は設定が難しくて挫折しました。。。)

編集 履歴 (0)
  • そうですか。ちなみにエラーログの内容も変化無しですか? -
  • 参考までに今Windows7にインストーラ版の5.6.12 (xampp-win32-5.6.12-0-VC11-installer.exe)で入れてみましたが特にエラーは発生せずに起動できました。
    念のため、httpd.confはC:\xampp\apache\conf\httpd.conf ですよね?
    httpd-ssl.confは2つあるかもしれませんが、
    -
  • C:\xampp\apache\conf\extra\httpd-ssl.conf の方を修正してください(originalではありません)。
    httpd.confの方もコメントアウトしてくれているのでこれが原因ではなさそうですが。
    -
  • 回答ありがとうございます。
    少々体調不良が続き、作業に取り掛かるのに時間がかかりました。
    -
  • エラーログの内容は変化なしですね。
    httpd-ssl.confは
    C:\xampp\apache\conf\extra\httpd-ssl.conf
    に保存されているファイルで間違いないです。
    最後にhttpd.conf自体の方をコメントアウトしてみたので問題は無かったはずです。
    -
  • 最終的にもう一回再インストールを試みたところ、うまく起動しました。
    最初のエラーが嘘のように一発で起動しました…。
    主原因は特定できませんでしたが、結果オーライということでとりあえずは良かったです。
    相談にのってもらい、ありがとうございました。
    -

回答ありがとうございます。
古いXAMPPはバックアップを取ってアンインストールをしたときに削除しました。
そして再インストール後にバックアップしていたXAMPPを上書きした形になります。

ポートについては80と443は使われてないのを確認しているのですが、起動できない状況ですね。。。

とりあえず今確認したApacheのエラーログを記載します。

*[Fri Mar 25 14:28:15.882187 2016] [ssl:warn] [pid 960:tid 552] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Fri Mar 25 14:28:16.171925 2016] [ssl:warn] [pid 960:tid 552] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Fri Mar 25 14:28:16.488799 2016] [mpm_winnt:notice] [pid 960:tid 552] AH00455: Apache/2.4.16 (Win32) OpenSSL/1.0.1p PHP/5.6.12 configured -- resuming normal operations
[Fri Mar 25 14:28:16.488799 2016] [mpm_winnt:notice] [pid 960:tid 552] AH00456: Apache Lounge VC11 Server built: Jul 12 2015 10:56:48
[Fri Mar 25 14:28:16.488799 2016] [core:notice] [pid 960:tid 552] AH00094: Command line: 'C:\xampp\apache\bin\httpd.exe -d C:/xampp/apache'
[Fri Mar 25 14:28:16.499800 2016] [mpm_winnt:notice] [pid 960:tid 552] AH00418: Parent: Created child process 1428
[Fri Mar 25 14:28:17.779977 2016] [ssl:warn] [pid 1428:tid 568] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Fri Mar 25 14:28:18.066404 2016] [ssl:warn] [pid 1428:tid 568] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Fri Mar 25 14:28:18.166702 2016] [mpm_winnt:notice] [pid 1428:tid 568] AH00354: Child: Starting 150 worker threads.
*

内容としては443ポートに警告が出ていて、サーバ認証に利用するIDが含まれていない??という感じですかね。これが何を指しているのかよくわかりません。。。

編集 履歴 (0)
  • 回答に追記しました。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。