SVNリポジトリをhttp(WebDAV)でアクセス出来るようにする(Digest認証化)[追記・訂正あり]
Mac OS X 10.5.8
Leopardで、Subversion(SVN)によるWebサイト(ホームページ)の管理システムを構築しました。何回かに分けて、紹介しています。
SVNリポジトリをhttp(WebDAV)でアクセス出来るようにする方法をまとめましたが、この方法は、ユーザーとパスワードの確認にBasic認証を使っている為、ネットワークに平文のパスワードが流れると言う問題があります。
これを解決する為、Digest認証に変更します。
/etc/apache2/other/svn.confに次の内容を設定します。すでに、Basic認証用のsvn.confを作っていたら、あらかじめ別の名前でコピーしておきます。(sudo cp svn.conf svn.conf.basic等)
# Subversion connections LoadModule dav_svn_module libexec/apache2/mod_dav_svn.so <Location /svn> DAV svn SVNListParentPath on SVNParentPath /Users/Svn/repos #SVNIndexXSLT "/svnindex.xsl" AuthType Digest AuthName "Subversion repositories" AuthDigestFile /Users/Svn/svn_digest Require valid-user </Location>
(追記 2011-12-18 00:16 OS X 10.7.2 Lionの場合は、次の様になります。)
# Subversion connections LoadModule dav_svn_module libexec/apache2/mod_dav_svn.so <Location /svn> DAV svn SVNListParentPath on SVNParentPath /Users/Svn/repos #SVNIndexXSLT "/svnindex.xsl" AuthType Digest AuthName "Subversion repositories" AuthUserFile /Users/Svn/svn_digest Require valid-user </Location>
次に、パスワードファイルを新規に作成します。そして、アクセス権を正しく設定します
$ cd /Users/Svn $ sudo htdigest -c svn_digest "Subversion repositories" user1 Adding password for user1 in realm Subversion repositories. New password: Re-type new password: $ sudo chown www:www svn_digest $ sudo chmod 600 svn_digest $ ls -l svn_digest -rw------- 1 _www _www 64 4 9 21:29 svn_digest
なお、既存のパスワードファイルにユーザーを追加する時は、htdigestに"-c"オプションは付けないで下さい。
この後、システム環境設定→共有で、Web共有のチェックを外して、もう一度チェックします。
これで、Digest認証で接続出来るはずです。
なお、暗号化されるのは認証の時だけで、svnの通信は暗号化されませんので、念のため。
次のページを参考にしました。ありがとうございます。
(追記 2011-12-18 00:16)
OS X 10.7.2 Lionでは、AuthDigestFileではなく、AuthUserFileを指定するように、変わったようです。
システム環境設定→共有で、Web共有ができなくなってしまいました。
修正するまでは、次のエラーが出ていました。
$ apachectl configtest Syntax error on line 11 of /etc/apache2/other/svn.conf: Invalid command 'AuthDigestFile', perhaps misspelled or defined by a module not included in the server configuration
次のページを参考にさせていただきました。ありがとうございます。
- – profaim.jp (Apache Digest認証で悪戦苦闘)
【シリーズ記事】
- SVNリポジトリの作成
- SVNリポジトリをhttp(WebDAV)でアクセス出来るようにする
SVNリポジトリをhttp(WebDAV)でアクセス出来るようにする(おまけ)
SVNリポジトリをhttp(WebDAV)でアクセス出来るようにする(Digest認証化) - SVNリポジトリの中にサイトデータを作る
- サイトデータの作業コピーでの作業(ターミナル編)
サイトデータの作業コピーでの作業(Emacsのpsvn編) - SVNでローカルサイトの自動更新
- ローカルサイトをアクセス出来るようにする
- ローカルサイトからインターネットへ
(訂正 2011-02-14 00:17)パスワードファイルの設定方法を間違えていたので、訂正しました。
ディスカッション
コメント一覧
まだ、コメントがありません