開発環境構築ではまった

開発環境のインストール

独学でWEBプログラミングをする上で大切だと思っているのは、まずは手を動かす環境を揃えることです。
おすすめは XAMPP です。

https://www.apachefriends.org/jp/index.html

ここでは詳しいことは書きませんが、XAMPP をインストールすると、必要なソフトウエアが一通り入ります。

  • Apache(WEBサーバー)
  • PHP(プログラミング言語)
  • MySQL(データベース) 最新バージョンだと MariaDB?

インストール方法などはググるとでてくるので、それを基に挑戦してもらえればと思います。

はまった内容

では、自分がはまった内容を書きます。

インストール自体は成功し、Apache や MySQL も起動しました。
ただ、1ヵ月後くらいに、再度 Apache を起動しようとしたら起動しませんでした。
特にその1ヵ月で、Apache の設定を変更した覚えはありません。

思い込みは危険である

実は Apache は仕事でも馴染みがあるので、起動しない理由はエラー内容を見る前になんとなく想像できました。
主に二つあります。

  • Apache が使うポートを他のプロセスがつかっている
  • Apache の構成ファイルが正しく書かれておらず、構成ファイル読み込み時にエラーになっている

XAMPP は独自のコントロールパネルのようなもので、簡単に起動/停止ができます。

XAMPP001
そのパネル内に、案の定エラーがでていました。

[Apache] Problem detected!
[Apache] Port 80 in use by “C:Program Files (x86)SkypePhoneSkype.exe” with PID 13688!
[Apache] Apache WILL NOT start without the configured ports free!
[Apache] You need to uninstall/disable/reconfigure the blocking application
[Apache] or reconfigure Apache and the Control Panel to listen on a different port
[Apache] Problem detected!
[Apache] Port 443 in use by “C:Program Files (x86)SkypePhoneSkype.exe” with PID 13688!
[Apache] Apache WILL NOT start without the configured ports free!
[Apache] You need to uninstall/disable/reconfigure the blocking application
[Apache] or reconfigure Apache and the Control Panel to listen on a different port

ずらーとありますが、何をいっているかというと。

問題発生。
Apache 君が使おうとしているポート 80 番が、”Skype” によって使われている。
あなたはポートを使っているソフト(この場合Skype)をアンインストールしたり構成を変えたりするか、
もしくは、Apache が利用するポートを 80 以外に変更する必要がある。

当初、2行目の 「Port 80 in use by “C:Program Files (x86)SkypePhoneSkype.exe” with PID 13688!」 のところで、「あー、なるほど。ポートバッティングかー。そういえば最近 Skype インストールしたな。」となり、その後の文章は読んでませんでした。

これがはまった原因です。

ポート変更は、Apache の httpd.conf で行うので、そこで 80 から 888 に変更して、いざもう一度起動をトライ!

「ちょろいぜ」なんて思っていたら、なぜか起動しないw
「あれ、おかしいなー」と思いながら、構成ファイルの設定変更が間違っていると思いこみ、さらに15分ほど経過。

よくわからん となって、他の用事もあるのであきらめようとしたところ、先ほどのエラーメッセージの下5行があることに気づく。

「あ、443 も変更するのか。」となり、httpd.conf 内で 443 が設定されているところを検索。
でも、どこにも 443 が設定されていない。。。

ここで、初めてググりました。
XAMPP の場合、SSL 通信(暗号通信)の設定は、http.conf ではなく httpd-ssl.conf で設定されていることを知る。

恥ずかしながら、いつもは全部の設定を httpd.conf でやっているので、構成ファイルを分けているという発想が出てこなかった。

httpd-ssl.conf 内の設定で 443 を 446 に変更し、無事に Apache が起動。

反省点

すんなり終わると思っていたのに、30 分くらいかかりました。
原因は思い込みです。
僕は思い込みが激しいので、いつも注意しているつもりなのですが、だめでした 笑
ちゃんとエラーログを見ていればすぐに気づけたことでした。

あと、よくよく見ると、エラーメッセージ内に「reconfigure Apache and the Control Panel to listen on a different port」って書いてありました。

実は、コントロールパネルからも、構成ファイルの変更ができて、その時に httpd-ssl.conf などの httpd.conf 以外の構成ファイルが使われていることも分かったのです。

XAMPP002

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です