BOKUのブログ

ジャンルにこだわらず、ノートの感じで書いてます

TortoiseSVNクライアントでコミットエラー(Unable to connect to a repository)がでて対応した時のメモ

仕事で使う資料のバージョン管理をしています。WindowsサーバーにSubVersionサーバーを立て、クライアントはTortoiseSVNです。

tortoisesvn.net 

 

安定して使ってたのですが、ある日突然こんなエラーがでました。

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のオプションは

  • -n IPアドレスやポート番号を数値で表示
  • -a LISTENING状態のTCPポートも表示する
  • -o そのコネクションを所有しているプロセスのID(PID)を表示する

で、findでポート80を抜き出してます。すると・・。

f:id:arakan_no_boku:20210324001643p:plain

いました・・こいつが原因です。 上記で、LISTENINGしているPIDを、タスクマネージャで確認しておいかけると、IISが動いてました。

ja.wikipedia.org

 

IISのサービス名は「W3SVC」で、表示名は「World Wide Web 発行サービス」です。

原因がわかれば対処は簡単です。W3SVCサービスを停止して、スタートアップを「無効」にします。

f:id:arakan_no_boku:20210324002518p:plain

その後、Subversionサービスを開始したら、すんなり復旧しました。

 

確認すると、スタートアップの種類が「自動」になってました。これだと、Windowsアップデートで再起動した場合に、IISのサービスが先にあがってしまって、Subversionサービスの邪魔をする・・なんて、普通におこりえます。それはわかっていたので、あえて「手動」にしていたらしく、なぜ、サービスの設定が変わったのか?が問題として残りました。

 

誰かが間違ってサービスの設定を修正してしまったのではないか?そう疑う人も確かにいたのですけど、少なくとも、そのような痕跡はなく、実際管理者は1名に限定されているので、考えづらいというのが正直なところです。

 

では何故?IISのスタートアップの種類が「自動」に変わっていたのか。ここからは推測しかできないですが、状況から「WindowsアップデートでIISがアップデートして、その影響でサービスの設定が自動に変わってしまった」としか思えません。

 

なんにしても。こういうことがあるので、IISが起動してもポートがバッティングしないように、無効にするだけじゃなくて、IISのポートを変更しておくとかしとかないとダメだね・・初期設定時の手順漏れだね・・みたいな話になりました。

 

なんか、狐に化かされたみたいな・・妙な後味ではありましたけど。それが基本ですからグウの音もでません。まいりました。ではでは。