Apache Win7 64bit 導入 ポート80が衝突
2012/02/15(水) 14:28 はてブ情報 はてブに登録 はてブ数

Apache 64bit は
http://vafee.dyndns.org/sb/log/SOFT/windows7/eid1070.html
より導入できた。
上記よりRARを展開してコマンドプロンプトより以下
D:\Home\Apache2.2\bin>httpd.exe -k install
Installing the Apache2.2 service
The Apache2.2 service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before
the service can be started.
httpd.exe: Syntax error on line 43 of
 D:/Home/Apache2.2/conf/httpd.conf: ServerRoot must be
 a valid directory
インストールは成功したが httpd.conf テストでエラー。
httpd.confをCドライブで使ってたのを流用したのでDドライブ用に書き直す。
サービスよりApache2.2を開始したがエラーで停止。
エラーメッセージを見るためにコマンドプロンプトよりサービス開始してみた。
D:\Home\Apache2.2\bin>httpd.exe -k start
(OS 10048)通常、各ソケット アドレスに対してプロトコル、
ネットワーク アドレス、またはポートのどれか 1 つのみを使用できます。
 : make_sock: could not bind to address 0.0.0.0:80
  no listening sockets available,shutting down
  Unable to open logs
とのこと。IISとか入れちゃったけ?
ポートを使用しているプロセスを見るためにはnetstartだっけ。
D:\Home\Apache2.2\bin>netstat -o
アクティブな接続
プロトコル  ローカル アドレス  外部アドレス        状態           PID
TCP 127.0.0.1:80 kobayashi-DTPC1:51483  TIME_WAIT       0
TCP 127.0.0.1:80 kobayashi-DTPC1:51484  TIME_WAIT       0
とこれではプロセスIDがわからなかった。

http://www.atmarkit.co.jp/fwin2k/win2ktips/236portcheck/portcheck.htmlより
D:\Home\Apache2.2\bin>netstat -oa
アクティブな接続
プロトコル  ローカル アドレス    外部アドレス        状態           PID
  TCP  0.0.0.0:80 kobayashi-DTPC1:0      LISTENING       4236

D:\Home\Apache2.2\bin>tasklist
イメージ名        PID セッション名  セッション# メモリ使用量
....
Skype.exe    4236 Console          1 136,128 K
でSkypeが犯人とわかった。
Skypeの設定で「上記のポートに代わり、ポート80を使用」というのがあって、そこにチェックが入ってせいだった。
チェックを外したらOKだった。

ちなみに

CGI ファイルの一番上の行に記述する Perl のパス #!/usr/bin/perl ですが、
c:\usr\bin\ フォルダを作ってPerl.exeをコピーしたが、#!C:/usr/bin/perl としないとインターナルエラー500になってしまった。
これはApacheをDドライブにインストールしたせいらしく、
同じドライブのD:\usr\bin\ フォルダを作ってPerl.exeをコピーしておいて置いたら #!/usr/bin/perl で動いた。
 

名前:  非公開コメント   

E-Mail(任意/非公開):
URL(任意):
  • TB-URL  http://www.cirlution.com/blog/adiary.cgi/030/tb/