mac:mac_os_x_v10.6でsubversionリポジトリのパスベース認証を行う

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

mac:mac_os_x_v10.6でsubversionリポジトリのパスベース認証を行う [2011-02-25 01:03]
Decomo
mac:mac_os_x_v10.6でsubversionリポジトリのパスベース認証を行う [2015-01-06 11:51]
行 1: 行 1:
-====== 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の最後に以下を追加。  
-<code> 
-$ 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 
-</code> 
-viを使えないヘタレ野郎です。すいません。 
- 
-===== mod_dav_svnの設定 ===== 
-/etc/apache2/other/subversion.conf でmod_dav_svnの設定をする。拡張子が.confならファイル名は何でもおk。 
-<code> 
-<IfModule dav_svn_module> 
- 
-<Location /svn-repos> 
-    DAV svn 
-    SVNListParentPath on 
-    SVNParentPath /doko/soko/svn/repos 
-</Location> 
- 
-</IfModule> 
-</code> 
- 
-===== リポジトリの所有者の変更 ===== 
-<code> 
-$ sudo chown -R _www:_www /doko/soko/svn/repos 
-</code> 
-敢えて変な設定をしてなければ、パーミッションは特に弄る必要なし。設定するなら755とかその辺で。 
- 
-==== 確認 ==== 
-ここまでで問題なく設定出来ていれば、apacheを再起動後、チェックアウトやブラウザからリポジトリの表示が出来るようになっているはず。 
- 
-現段階では、Subversionサーバにアクセス出来る人なら誰でも、無制限でリポジトリを操作出来るので要注意。 
- 
-===== アクセス制御 ===== 
-subversion.confを再度開き、認証に必要なの設定を追加する。 
- 
-<code> 
-<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> 
-</code> 
- 
-==== 正規ユーザーの設定 ==== 
-<ilcode>AuthUserFile</ilcode>で指定したファイルにベーシック認証ユーザーを追加する。 
-<code> 
-$ sudo htpasswd -c /doko/soko/svn/htpasswd Decomo 
-New password:  
-Re-type new password:  
-Adding password for user Decomo 
-</code> 
- 
-2人目以降、つまりhtpasswdが既にある場合は-cオプションは付けない。さもないと上書きされる。 
- 
-==== リポジトリのアクセス制御の設定 ==== 
-<ilcode>AuthzSVNAccessFile</ilcode>で指定したファイルにアクセス制御情報を書く。 
- 
-<code> 
-[groups] 
-admins = Decomo 
- 
-[/] 
-* = r 
- 
-[Project1:/] 
-@admins = rw 
- 
-[Project2:/] 
-@admins = rw 
- 
-[secret:/] 
-Decomo = rw 
-* = 
-</code> 
- 
-===== SSLの設定 ===== 
-自分用のリポジトリならHTTPのままでもさほど問題ない気もするが、平文でのやり取りは精神的に宜しくないので、HTTPSで通信できるように設定する。 
- 
-==== 秘密鍵の生成 ==== 
-sudoだと上手く行かなかったのでsuする。 
-<code> 
-$ 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: 
-</code> 
- 
-==== 公開鍵の生成 ==== 
-# 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用の設定サンプルがあるのでコピーしておく。 
-<code> 
-$ sudo cp ../extra/httpd-ssl.conf ./ssl.conf (/etc/apache2/otherがカレントとする) 
-$ sudo emacs ssl.conf 
- 
- 
-</code> 
- 
- 
-===== 参考サイト ===== 
-  * [[http://blog.livedoor.jp/knaka01/archives/51410971.html|酔いどれ日誌:Subversion + AuthzSVNAccessFile = Forbidden 403 Error]] 
-  * [[http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/svn.serverconfig.httpd.html#svn.serverconfig.httpd.authz.perdir.ex-1|第6章 サーバの設定httpd (Apache HTTP サーバ)]] 
  • mac/mac_os_x_v10.6でsubversionリポジトリのパスベース認証を行う.txt
  • 最終更新: 2015-01-06 11:51
  • (外部編集)