ながさわさんのアレグロモデラート

アレグロモデラート(Allegro moderato)は、速さを示す演奏記号で「穏やかに速く」

xampp の apache が 起動しない


こばわ。黄金色の一週間の真っ最中ですが、みなさん、いかがお過ごしですか。
shin'さんもおやすみですが、たまってる事務と、来月以降の仕事探しの段取りをしています。

さて、今日、shin'さんをよく知るある女性が、Skype の向こう側で、xampp の apache が起動しないと言い出したんですが、まず、xampp が読めなかった。会話の流れから、php が関係あるらしいということがわかったが、なんて読むのか、Wikipedia に聞くと、

XAMPP(ザンプ)とは、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージとしてまとめたもので、apachefriends.orgから提供されている。主として開発用あるいは学習用ではあるが、イントラネットなどにおいて実運用環境として使われることもある。(中略)Apache(Webサーバ)、MySQL(SQLデータベースサーバ)とWebプログラミング言語であるPHPや同目的で使われるPerlの4つの主要ソフトウェアとphpMyAdminなどの管理ツール、さらにSQLiteなど、いくつかの補助的なソフトウェアとライブラリモジュールが含まれている。


ふうん。世の中にはそんな便利なものがあるのか。ちなみに、xampp は、Cross(X) platform of Apache and MySQL and Php and Perl のことだそうだ。

んで、インストールしてもapacheがあがらん、と。

Skype で会話していたので、てっとり早い解決方法は、Skypeを終了することだろうと思っていたが、(むかし、Skype が 80 をつかむことは調べて知っていた。webサーバーはデフォルトで ポート80 で待機するから、ポートが開けなくって落ちていたんだろうことは予想がついた。)とはいえ、いままさに、やりとりに使っているSkypeを落とすわけにもいかず、ひとまず、apache のポートを変えてみることを試す。

XAMPPを用いたPHP実行環境 - 明日もまた。によれば、

Install-directory\apache\conf\httpd.conf

apache の設定ファイルがあるそうなので、そこの、

"Listen 80" を "Listen 8034" に変更。
"ServerName localhost:80" を "ServerName localhost:8034" に変更。

して再起動したが、やはり、netstat -a しても、TCP 8034 は リスンしないらしい。

もちょっとぐぐると、

XAMPPでApachが起動しない場合のわりと汎用的な調査・解決方法まとめ - ブログ:ヌルめのつぶやき

によれば、

Install-directory\apache_start.bat

に、Apache の起動スクリプトがあるそうなので、それを直接実行して、ご機嫌をうかがうと、
通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、ま
たはポートのどれか 1 つのみを使用できます。 : make_sock: could not bind to addr
ess 0.0.0.0:443
no listening sockets available, shutting down
Unable to open logs

Apache konnte nicht gestartet werden
Apache could not be started


へぇ。SSLポートも、誰かつかんでいるのかと思って、shin'さんのほうの、netstat -a してみたら、やっぱり TCP https がリスンしていて、こっちは、IIS も、apache も、 AnHttpd もあがっていなかったから、Skype は HTTPポートだけでなく、HTTPS ポートもつかんでしまうのかと。上のURLで出てきた、netstat -oan で、PID との関連がわかるので、裏づけは取れた。

んで、Install-directory\apache\conf\httpd.conf に、443 が出てこないかを検索してもらっても出てこない。では、SSL で検索したら、

LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf


がヒット。ああ、なるほど。SSLの設定ファイルは別にあるのね。ということで、このファイルにある、443という数字を、ひとまず、8443 くらいにしてもらったら、apache はめでたく起動したそうだ。
ただし、ブラウザでみるときは、http://localhost:8034/ じゃないと、「あなたの予想に反してこのページが見えているでしょうか。」は見えないので、注意してくださいね☆

なんで、Skype は、80 はともかく、443 まで占有する意味がわからんと思って、設定をもう一度見てみた。ツール→設定→詳細→接続にポートの指定を発見。どうやら、着信の接続に80を使っているらしい。(なんで、いちばんよくつかわれるウェルノウンポートの80を使うんか。プロトコルはhttpなんかよ。。。ブラウザで空白ページ見えるから、httpなのかな。)試しに、ポートを変えて、再起動すると、80 も 443 もつかまなくなった。なるほど、こういう方法もあるか。
 
 
捕鯨捕鯨