仕事で使う資料のバージョン管理をしています。WindowsサーバーにSubVersionサーバーを立て、クライアントはTortoiseSVNです。
安定して使ってたのですが、ある日突然こんなエラーがでました。
Unable to connect to a repository at URL 'https://svn.XXXXXXXX/'
The server at 'https://svn.XXXXXXXX' does not support the HTTP/DAV protocol
調べたところ、「does not support the HTTP/DAV protocol」の意味するところは「URLが無効だ」ということでした。
Webサーバー(今回はApatch)がなんらかの原因で停止している可能性が高い。原因を取り除いて、Webサーバーのサービス(httpd)を開始すれば、復旧するだろう。そう考えて確認をしました。
Subversionというサービス名で「"httpd.exe" -k runservice」を登録してありました(実際は古パスです)。これが停止してました。
Confファイルをチェックしても特にエラーはありません。でも、サービスの開始はエラーになります。メッセージは、「・・アクセスできません」とのこと。そこで、ファイアウォールの設定とか、一通りチェックしましたが、正常稼働時の状態の記録資料と全く同じです。
使用中のポートを調べてみました。
netstat –nao | find “:80”
netstatのオプションは
で、findでポート80を抜き出してます。すると・・。

いました・・こいつが原因です。 上記で、LISTENINGしているPIDを、タスクマネージャで確認しておいかけると、IISが動いてました。
IISのサービス名は「W3SVC」で、表示名は「World Wide Web 発行サービス」です。
原因がわかれば対処は簡単です。W3SVCサービスを停止して、スタートアップを「無効」にします。

その後、Subversionサービスを開始したら、すんなり復旧しました。
確認すると、スタートアップの種類が「自動」になってました。これだと、Windowsアップデートで再起動した場合に、IISのサービスが先にあがってしまって、Subversionサービスの邪魔をする・・なんて、普通におこりえます。それはわかっていたので、あえて「手動」にしていたらしく、なぜ、サービスの設定が変わったのか?が問題として残りました。
誰かが間違ってサービスの設定を修正してしまったのではないか?そう疑う人も確かにいたのですけど、少なくとも、そのような痕跡はなく、実際管理者は1名に限定されているので、考えづらいというのが正直なところです。
では何故?IISのスタートアップの種類が「自動」に変わっていたのか。ここからは推測しかできないですが、状況から「WindowsアップデートでIISがアップデートして、その影響でサービスの設定が自動に変わってしまった」としか思えません。
なんにしても。こういうことがあるので、IISが起動してもポートがバッティングしないように、無効にするだけじゃなくて、IISのポートを変更しておくとかしとかないとダメだね・・初期設定時の手順漏れだね・・みたいな話になりました。
なんか、狐に化かされたみたいな・・妙な後味ではありましたけど。それが基本ですからグウの音もでません。まいりました。ではでは。