[XAMPP] 起動しない原因 究明法のひとつは apache_start.bat

xamppコントロールパネル

必要に迫られ、新しいPC (Windows)に XAMPP をインストールすることになりました。メインの環境は別のPCにあるので、軽い気落ちで作業開始。インストール自体は迷うところはありません。しかし、設定を進めるうち Apache が起動しなくなってしまい、四苦八苦。その解決までの備忘録です。

XAMPPのエラー

まずは、ドメインルートを変更。ディレクトリを作成して httpd.conf を編集。
次にバーチャルホストの設定です。httpd-vhosts.conf を変更して、hostsファイルを修正。これでいいはず。
そして再起動… ところが起動しません。XAMPPコントロールパネルには、エラーが!

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

Google での翻訳 ↓

エラー:Apacheが予期せずシャットダウンしました。
これは、ポートのブロック、依存関係の欠落、
不適切な特権、クラッシュ、または別の方法によるシャットダウン。
ログボタンを押してエラーログを表示し、確認します
より多くの手がかりを得るためのWindowsイベントビューアー
さらにヘルプが必要な場合は、これをコピーして投稿してください
 ・・・ (以下略) ・・・

ネットを検索すると、たくさん出てきました。ポートの競合やら何やら。手当り次第に試してみましたが、どうにもこうにも起動しない。そういえば以前もこんな事あったな~と思いながら、虚しい時間を費やしていました。

apache_start.bat を実行

調べつくして最後に行きついたのが「apache_start.bat を実行してみる」です。XAMPPのインストールディレクトリの直下にあるバッチ。試すだけ試そうと、実行した結果がコレ ↓

Diese Eingabeforderung nicht waehrend des Running beenden
Bitte erst bei einem gewollten Shutdown schliessen
Please close this command only for Shutdown
Apache 2 is starting …
httpd.exe: Syntax error on line 527 of C:/xampp/apache/conf/httpd.conf:
Syntax error on line 50 of C:/xampp/apache/conf/extra/httpd-vhosts.conf:
</VirtualHost without matching <VirtualHost section

Apache konnte nicht gestartet werden
Apache could not be started
続行するには何かキーを押してください . . .

見やすいように改行していますが、原因はすぐに分かりました。
シンタックスエラー、単なる記述ミスだったのです。“VirtualHost” の開きタグの先頭にスラッシュ(/)が余計に付いていた。いくつかのバーチャルホストを定義しようとコピペ・修正を繰り返しているうち、途中で間違っていたようです。

今回の教訓は3つ

いろんな角度から見る

XAMPPコントロールパネルのメッセージ内容だけでなく、apache_start.bat の実行結果も見ることで解決できました。

XAMPPは随分前から開発され、コントロールパネルの表示メッセージも、そのまま引き継いでいるのでしょう。「ポートの競合」は今でも多い原因だと思いますが、原因は他にありました。

一方、Apacheもそれより前から作られていました。開発チームも違うはずだし、エラーの検出・表示方法も違うのだと思います。

原因追求のためには一つの結果だけでなく、できるだけ多くの現象を確認することが大切です。

分かりやすく伝える

もしコントロールパネルに、バッチの実行結果が表示されていたら、こんなに時間がかかる事はなかったでしょう。ぜひ改善していただきたいものです。

これは、ブログやWebサイトを提供する私達にも言えることです。利用者のためになるメッセージ、解決するための情報提供、そして使いやすいサイト造りを目指すべきですね。

進め方を見つめる

パニック

この作業を通して考えてみて、反省がいくつかあります。

まずは、自分が何をしたかを落ち着いて見つめること。今回は3つのファイルを編集しただけなので、それをじっくり見直してみればよかったのです。目の前のエラーメッセージに動転して、闇雲にもがくべきではありません。

そして、作業は段階ごとにコミットする(結果を確定させる)ことです。httpd-vhosts.conf の編集は、ひとかたまり毎に行って再起動すれば、それまでの編集が正しいことを確定できたのです。

最後に、大切なファイルはコピーして履歴を残すことです。オリジナルはもちろん、コミットできた時点の内容もちゃんと残しておき、ダメならそこに戻ってそこからやり直せばいいのです。

実はそんな事も考えず、再インストールまで戻ってしまいました。無駄に費やした時間と比べれば、少し考えて見つめた方がどれだけ短時間で済んだか…です。

コメント

タイトルとURLをコピーしました