CAMP環境ということで、Apache2をcygwinで使うためにインストールしてみました。
(Cygwin x Apahce )
インストール
apt-cyg install apache2
インストールはsetup.exe 経由かapt-cyg経由で、あっという間に終わります。
起動しましょう
httpd2.exeを実行すれば起動します。
/usr/sbin/httpd2
サーバーのドキュメント・ルートは
/srv/www/htdocs
になります。
簡単ですね!
と書こうとしたら、起動しない。
起動しない
散々調べまわった。 私の場合、次の原因で起動しなかったよ。
ポート80番が塞がってた。
最初はUACでElevatedUserにならなくちゃいけないのかと思ってたけど、どうもそうじゃないらしい。
起動確認
起動しない場合はポートを変えてみましょう。
/etc/apache2/httpd.conf はポート80を使うようになっています。まずは、それを変更してみましょう。
80のままだと動かないときは。127.0.0.167:80が使われてる可能性がある。
起動確認ができない場合の確認方法
http://www.cyberarchitect.net/blog/archives/992
Windows 7で80番ポートが使用されており、Apacheを起動できない場合は、ポートの選挙状況を確認しましょう。
ポートを使っているプロセス番号を見る。
C:\Users\takuya>netstat -aon | findstr 0.0:80 TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 3468 TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 5704
80番をSkypeに取られていた。(Skypeにポート占拠されてる)
Skypeめ!
Skypeからポート80を取り返したら、無事起動した。
WEBを見ているとSkype以外にも80を占拠するプログラムが数多あるようでした。
サービスとしてインストール
無事起動したので、Apacheをサービスとしてインストールします。
終了:サービス終了
cygrunsrv -E apache2
再起動
cygrunsrv -E apache2;cygrunsrv -S apache2
再起動はサービスとして終了&起動を連続して行うことで実現した。
サービスを削除
要らなくなったら消す。
cygrunsrv -R apache2
2013-02-18追記
もしかしたら cygserverを インストールしてないと動かないかもしれない。
cygrunsrv -S cygserver
参考資料
http://komoriyuichi.web.fc2.com/cygwin/apache2.html
http://sabimaru.no-ip.com/memo/installmemo-cygwin-apache.html
http://shooting-star.myhome.cx/cygwin/apache1.html
http://yoshimov.com/?page=Cygwin%2FApache%A4%F2%A5%B5%A1%BC%A5%D3%A5%B9%A4%C8%A4%B7%A4%C6%B5%AF%C6%B0%A4%B9%A4%EB
http://yoshimov.com/?page=Cygwin%2FApache%A4%F2%A5%B5%A1%BC%A5%D3%A5%B9%A4%C8%A4%B7%A4%C6%B5%AF%C6%B0%A4%B9%A4%EB
http://blog.nyarla.net/2009/09/18/1
http://himazu.blogspot.jp/2008/03/cygwinapache2.html
http://technet.microsoft.com/ja-jp/library/dd755969(v=ws.10).aspx