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の使い方メモ « 突然消失するかもしれないブログ
これでも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 >