Mac ServerをUpdateしたらSubversionに(Digest認証で)Login出来なくなった(MacPortsでUpdateするCommand)

UpdateのAlertが出たので素直にUpdateしたらSubversionにLogin認証(Commit)出来なくなったときのMemo.

Mac OS X Server 10.6.8 Snow Leopard(Mac mini)

よく分からなかったので、MacPortsを使ってとりあえず全て最新版にしてみた。

まずはMacPorts自体をUpdate

$ sudo port -v selfupdate
$ sudo port -d sync

InstallされているPorsを全てUpdate

$ sudo port -u upgrade outdated

最初、上記Command実行したら下記Errorが出力された

--->  Computing dependencies for sqlite3
--->  Dependencies to be installed: ncurses
--->  Activating ncurses @5.9_0
Error: Target org.macports.activate returned: could not read "/tmp/mpextractwmSjBYic/opt/local/share/terminfo/e/eterm": no such file or directory
Error: Failed to install ncurses
Log for ncurses is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_ncurses/ncurses/main.log
Error: The following dependencies were not installed: ncurses
Error: Unable to upgrade port: 1
To report a bug, see <http://guide.macports.org/#project.tickets>

これは

$ sudo port clean --all all
$ sudo port install ncurses
$ sudo -d sync

をやっていたらいつの間にか直った。どれが効いたのかは不明。その他MacPortsのCommandは下記Siteを参考に。

Mac Portsの使い方メモ &laquo; 突然消失するかもしれないブログ

[本家]MacPorts Guide(英語)

 

これでもsubversionで認証できない問題は解決せず。Logを確認してみると、

# less /var/log/apache2/error_svn_log.1311811200

[Tue Aug 02 11:32:34 2011] [error] [client 192.168.0.83] mod_digest_apple: Request for URI /svn/hoge_src/!svn/act/b7ed3763-66e1-bb4f-9b8d-689bc7213d2d does not contain Authorization header
[Tue Aug 02 11:32:34 2011] [error] [client 192.168.0.83] mod_digest_apple: Request for URI /error/HTTP_UNAUTHORIZED.html.var does not contain Authorization header
[Tue Aug 02 11:32:35 2011] [error] [client 192.168.0.83] mod_digest_apple: Unable to authenticate for URI "/svn/hoge_src/!svn/act/b7ed3763-66e1-bb4f-9b8d-689bc7213d2d" from user "daiki" for realm "HOGE Developer" at location "/LDAPv3/127.0.0.1" from the directory (error = -14090).
[Tue Aug 02 11:32:35 2011] [error] [client 192.168.0.83] mod_digest_apple: Unable to authenticate for URI "/error/HTTP_UNAUTHORIZED.html.var" which fails to match original request URI "/svn/hoge_src/!svn/act/b7ed3763-66e1-bb4f-9b8d-689bc7213d2d" from user "daiki" for realm "HOGE Developer" at location "/LDAPv3/127.0.0.1" from the directory (error = -14090).

mod_digest_appleを使ったLDAP認証で失敗しているみたい。

検索してみると、同じ現象で困っている人がいた。

10.6.8 Server Update Broke WebDAV: Apple Support Communities

上記を参考に

  • mod_auth_digest_appleを有効に
  • mod_digest_appleを無効に

してみたけど認証できず。

SSLだと大丈夫らしいので、今度はSSL認証のSiteを作って試してみた。

  • Settings - mod_sslを有効に
  • mod_auth_digest_appleを有効に
  • mod_digest_appleを無効に
  • Sites - SSLを有効にしたSiteを新規作成
  • index.htmlをRoot Directoryに設置して認証されるか確認
  • 失敗する場合は/var/log/apache2を見ながら

これでもやっぱり認証で失敗するので、今度はdigest認証を止めて、basic認証をやってみた。SettingsのModuleを切り替えるだけ。どれが効いたのか分からないから、それらしい有効になっているModuleだけ抜粋

  • authn_default_module
  • authz_host_module
  • authz_default_module
  • auth_basic_module
  • apple_auth_module

これでTortoizeSVNでUpdateしたらCommitできるようになった。

 

< Related Posts >

MacPortsをInstallして最新版のsubversionを取得
Subversionの認証にMac ServerのOpen Directoryを使う