ソースの表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit Teams最近の変更Send via e-Mail印刷パーマリンク × 目次 Mac OS X v10.6でSubversionリポジトリのパスベース認証を行う 前提条件 httpd.confの編集 mod_dav_svnの設定 リポジトリの所有者の変更 確認 アクセス制御 正規ユーザーの設定 リポジトリのアクセス制御の設定 SSLの設定 秘密鍵の生成 公開鍵の生成 mod_sslの設定 コメント 参考サイト 文書の過去の版を表示しています。 Mac OS X v10.6でSubversionリポジトリのパスベース認証を行う Snow Leopardからmod_dav_svnが標準で入っているようで、WebDAVを用いたSubversion環境を作りやすくなったっぽいので挑戦してみたメモ。 前提条件 Mac OS X v10.6.6(試した環境) Subversion 1.6.5(システム標準) Apache 2.2.15(システム標準) プロジェクトごとにリポジトリを作り、プロジェクトごとにアクセス制御出来るようにする。 リポジトリ置き場:/doko/soko/svn/repos/ httpd.confの編集 /etc/apache2/httpd.conf のLoadModuleの最後に以下を追加。 $ sudo emacs /etc/apache2/httpd.conf LoadModule dav_svn_module libexec/apache2/mod_dav_svn.so LoadModule authz_svn_module libexec/apache2/mod_authz_svn.so viを使えないヘタレ野郎です。すいません。 mod_dav_svnの設定 /etc/apache2/other/subversion.conf でmod_dav_svnの設定をする。拡張子が.confならファイル名は何でもおk。 <IfModule dav_svn_module> <Location /svn-repos> DAV svn SVNListParentPath on SVNParentPath /doko/soko/svn/repos </Location> </IfModule> リポジトリの所有者の変更 $ sudo chown -R _www:_www /doko/soko/svn/repos 敢えて変な設定をしてなければ、パーミッションは特に弄る必要なし。設定するなら755とかその辺で。 確認 ここまでで問題なく設定出来ていれば、apacheを再起動後、チェックアウトやブラウザからリポジトリの表示が出来るようになっているはず。 現段階では、Subversionサーバにアクセス出来る人なら誰でも、無制限でリポジトリを操作出来るので要注意。 アクセス制御 subversion.confを再度開き、認証に必要なの設定を追加する。 <IfModule dav_svn_module> <Location /svn-repos> DAV svn SVNListParentPath on SVNParentPath /doko/soko/svn/repos Satisfy Any # 匿名ユーザーを許可 Require valid-user # それでダメなら正規ユーザーを要求 AuthType Basic # ベーシック認証を使う AuthUserFile /doko/soko/svn/htpasswd # ベーシック認証のユーザーとパスワード情報 AuthzSVNAccessFile /doko/soko/svn/authz # リポジトリのアクセス制御情報 </Location> </IfModule> 正規ユーザーの設定 <ilcode>AuthUserFile</ilcode>で指定したファイルにベーシック認証ユーザーを追加する。 $ sudo htpasswd -c /doko/soko/svn/htpasswd Decomo New password: Re-type new password: Adding password for user Decomo 2人目以降、つまりhtpasswdが既にある場合は-cオプションは付けない。さもないと上書きされる。 リポジトリのアクセス制御の設定 <ilcode>AuthzSVNAccessFile</ilcode>で指定したファイルにアクセス制御情報を書く。 [groups] admins = Decomo [/] * = r [Project1:/] @admins = rw [Project2:/] @admins = rw [secret:/] Decomo = rw * = SSLの設定 自分用のリポジトリならHTTPのままでもさほど問題ない気もするが、平文でのやり取りは精神的に宜しくないので、HTTPSで通信できるように設定する。 秘密鍵の生成 sudoだと上手く行かなかったのでsuする。 $ cd /etc/apache2/other $ su # openssl genrsa -aes256 2048 > server.key Generating RSA private key, 2048 bit long modulus ............................+++ ..................................+++ e is 65537 (0x10001) Enter pass phrase: Verifying - Enter pass phrase: 公開鍵の生成 # openssl req -new -key server.key > server.csr Enter pass phrase for server.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. Country Name (2 letter code) [AU]:JP State or Province Name (full name) [Some-State]:Kanagawa Locality Name (eg, city) []:Yokohama-shi,Koh-hoku-ku Organization Name (eg, company) [Internet Widgits Pty Ltd]:PRODUCTION KusoGA Organizational Unit Name (eg, section) []:CA Common Name (eg, YOUR name) []:kusoga.mine.nu Email Address []:admin_master@decomo.info Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: mod_sslの設定 /etc/apache2/extra/にmod_ssl用の設定サンプルがあるのでコピーしておく。 $ sudo cp ../extra/httpd-ssl.conf ./ssl.conf (/etc/apache2/otherがカレントとする) $ sudo emacs ssl.conf 参考サイト 酔いどれ日誌:Subversion + AuthzSVNAccessFile = Forbidden 403 Error 第6章 サーバの設定httpd (Apache HTTP サーバ) コメント フルネーム: メールアドレス: ウェブサイト: コメントを入力. Wiki文法が有効です: 人間の証明として、ボックス内の全ての文字を入力してください。 この項目は空のままにして下さい: コメントの購読 mac/mac_os_x_v10.6でsubversionリポジトリのパスベース認証を行う.1298563387.txt.gz 最終更新: 2011-02-25 01:03by Decomo