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

差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
mac:mac_os_x_v10.6でsubversionリポジトリのパスベース認証を行う [2011-05-29 23:56]
Decomo [公開鍵の生成]
mac:mac_os_x_v10.6でsubversionリポジトリのパスベース認証を行う [2015-01-06 11:51] (現在)
行 12: 行 12:
  
 ===== httpd.confの編集 ===== ===== httpd.confの編集 =====
-<ilcode>/etc/apache2/httpd.conf</ilcode>のLoadModuleの最後に以下を追加。 +''/etc/apache2/httpd.conf''のLoadModuleの最後に以下を追加。 
 <file> <file>
 LoadModule dav_svn_module libexec/apache2/mod_dav_svn.so LoadModule dav_svn_module libexec/apache2/mod_dav_svn.so
行 19: 行 19:
  
 ===== mod_dav_svnの設定 ===== ===== mod_dav_svnの設定 =====
-<ilcode>/etc/apache2/other/subversion.conf</ilcode>でmod_dav_svnの設定をする。拡張子が.confならファイル名は何でもおk。+''/etc/apache2/other/subversion.conf''でmod_dav_svnの設定をする。拡張子が.confならファイル名は何でもおk。
 <file> <file>
 <IfModule dav_svn_module> <IfModule dav_svn_module>
行 43: 行 43:
  
 ===== アクセス制御 ===== ===== アクセス制御 =====
-<ilcode>subversion.conf</ilcode>を再度開き、認証に必要なの設定を追加する。+''subversion.conf''を再度開き、認証に必要なの設定を追加する。
  
 <file> <file>
行 55: 行 55:
     Require valid-user                         # 匿名ユーザーが許可されてない操作は正規ユーザーを要求     Require valid-user                         # 匿名ユーザーが許可されてない操作は正規ユーザーを要求
     AuthType Basic                             # ベーシック認証を使う     AuthType Basic                             # ベーシック認証を使う
 +    AuthName "Subversion Authorization"        # 認証領域の設定。設定を忘れると500エラーで小一時間苦しむことになるので注意。
     AuthUserFile /doko/soko/svn/htpasswd       # ベーシック認証のユーザーとパスワードファイル     AuthUserFile /doko/soko/svn/htpasswd       # ベーシック認証のユーザーとパスワードファイル
     AuthzSVNAccessFile /doko/soko/svn/authz    # リポジトリのアクセス制御情報ファイル     AuthzSVNAccessFile /doko/soko/svn/authz    # リポジトリのアクセス制御情報ファイル
行 63: 行 64:
  
 ==== 正規ユーザーの設定 ==== ==== 正規ユーザーの設定 ====
-<ilcode>AuthUserFile</ilcode>で指定したファイルにベーシック認証ユーザーを追加する。+''AuthUserFile''で指定したファイルにベーシック認証ユーザーを追加する。
 <code> <code>
 $ sudo htpasswd -c /doko/soko/svn/htpasswd Decomo $ sudo htpasswd -c /doko/soko/svn/htpasswd Decomo
行 74: 行 75:
  
 ==== リポジトリのアクセス制御の設定 ==== ==== リポジトリのアクセス制御の設定 ====
-<ilcode>AuthzSVNAccessFile</ilcode>で指定したファイルにアクセス制御情報を書く。+''AuthzSVNAccessFile''で指定したファイルにアクセス制御情報を書く。
  
 <file> <file>
行 104: 行 105:
 # openssl genrsa -aes256 2048 > server.key # openssl genrsa -aes256 2048 > server.key
 Generating RSA private key, 2048 bit long modulus Generating RSA private key, 2048 bit long modulus
-............................+++ +..................................................................................................+++ 
-..................................++++..............+++
 e is 65537 (0x10001) e is 65537 (0x10001)
-Enter pass phrase:(パスワード)+Enter pass phrase:
 Verifying - Enter pass phrase: Verifying - Enter pass phrase:
-</code> 
- 
-上記方法で生成したキーだとApacheの起動時にパスワードの入力を求められるらしいが、Mac OS Xだと何それ美味しいの状態なのでパスワードを解除しておく。 
-<code> 
-# mv server.key server.bak 
-# openssl rsa -in server.key.bak > server.key 
-Enter pass phrase for server.key.back:(パスワード) 
-writing RSA key 
 </code> </code>
  
 ==== 公開鍵の生成 ==== ==== 公開鍵の生成 ====
 <code> <code>
-# openssl req -new -key server.key > server.csr+# openssl req -new -key server.key >server.csr 
 Enter pass phrase for server.key: Enter pass phrase for server.key:
 You are about to be asked to enter information that will be incorporated You are about to be asked to enter information that will be incorporated
行 135: 行 128:
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:PRODUCTION KusoGA Organization Name (eg, company) [Internet Widgits Pty Ltd]:PRODUCTION KusoGA
 Organizational Unit Name (eg, section) []:CA Organizational Unit Name (eg, section) []:CA
-Common Name (eg, YOUR name) []:mysvn.info(サーバのIPアドレもしくはドメイン+Common Name (eg, YOUR name) []:
 Email Address []:メールアドレス Email Address []:メールアドレス
  
 Please enter the following 'extra' attributes Please enter the following 'extra' attributes
 to be sent with your certificate request to be sent with your certificate request
-A challenge password []:(パスワード) +A challenge password []: 空白          
-An optional company name []:(特に指定しない)+An optional company name []: 空白 
 +</code>
  
-# openssl x509 -in server.csr -out server.crt -req -signkey server.key+==== 自己証明書の生成 ==== 
 +<code> 
 +# openssl x509 -in server.csr -days 3650 -req -signkey server.key > server.crt 
 +Signature ok 
 +subject=/C=JP/ST=Kanagawa/L=Yokohama-shi/O=PRODUCTION KusoGA/OU=CA/CN=ホスト名/emailAddress=メールアドレス 
 +Getting Private key 
 +Enter pass phrase for server.key: 
 +</code> 
 + 
 +==== 秘密鍵のパスワードの解除 ==== 
 +上記方法で生成したキーだとApacheの起動時にパスワードの入力を求められるらしいが、Mac OS Xだと何それ美味しいの状態なのでパスワードを解除しておく。 
 +<code> 
 +# mv server.key server.key.bak 
 +# openssl rsa -in server.key.bak -out server.key 
 +Enter pass phrase for server.key.bak: 
 +writing RSA key 
 +</code> 
 + 
 +==== subversion.confの編集==== 
 +subversion.conf.incにリネームし、''SSLRequireSSL''を追加する。 
 +<code> 
 +# mv subversion.conf subversion.conf.inc 
 +# emacs subversion.conf.inc 
 +<file> 
 +<IfModule dav_svn_module> 
 + 
 +<Location /svn-repos> 
 +    DAV svn 
 +    SVNListParentPath on 
 +    SVNParentPath /doko/soko/svn/repos 
 +    SSLRequireSSL                              # SSLを必須にする 
 +    Satisfy Any                                # 匿名ユーザーを許可 
 +    Require valid-user                         # 匿名ユーザーが許可されてない操作は正規ユーザーを要求 
 +    AuthType Basic                             # ベーシック認証を使う 
 +    AuthName "Subversion Authorization"        # 認証領域の設定。設定を忘れると500エラーで小一時間苦しむことになるので注意。 
 +    AuthUserFile /doko/soko/svn/htpasswd       # ベーシック認証のユーザーとパスワードファイル 
 +    AuthzSVNAccessFile /doko/soko/svn/authz    # リポジトリのアクセス制御情報ファイル 
 +</Location> 
 + 
 +</IfModule> 
 +</file>
 </code> </code>
  
 ==== mod_sslの設定 ==== ==== mod_sslの設定 ====
 /etc/apache2/extra/にmod_ssl用の設定サンプルがあるのでコピーしておく。 /etc/apache2/extra/にmod_ssl用の設定サンプルがあるのでコピーしておく。
- 
-また、先ほど作成したsubversion.confをsubversion.conf.incにリネームしておく。 
  
 <code> <code>
行 202: 行 234:
 </file> </file>
  
-<ilcode>&lt;VirtualHost&gt;</ilcode>の最後でsubversion.conf.incを取り込んでSSL接続時にBasic認証を有効にするとともに、非SSL時はリポジトリにアクセス出来ないようにする。+''&lt;VirtualHost&gt;''の最後でsubversion.conf.incを取り込んでSSL接続時にBasic認証を有効にするとともに、非SSL時はリポジトリにアクセス出来ないようにする。
  
 ===== 参考サイト ===== ===== 参考サイト =====
 +  * [[http://www.maruko2.com/mw/Apache/SSL%E8%87%AA%E5%B7%B1%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%81%AE%E4%BD%9C%E6%88%90%E3%81%A8mod_ssl%E3%81%AE%E8%A8%AD%E5%AE%9A|Apache/SSL自己証明書の作成とmod sslの設定 - maruko2 Note.]]
 +  * [[http://www.makies.com/2008/03/44/|家XenでTracを使えるようにしたよ « わすれないように.]]
   * [[http://blog.livedoor.jp/knaka01/archives/51410971.html|酔いどれ日誌:Subversion + AuthzSVNAccessFile = Forbidden 403 Error]]   * [[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 サーバ)]]   * [[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 サーバ)]]
   * [[http://memo.kappa-lab.com/2007/06/svnwebdavssl.html|SVN+WebDAV+SSLをポートを分けて設定 (memo.kappa-lab.com)]]   * [[http://memo.kappa-lab.com/2007/06/svnwebdavssl.html|SVN+WebDAV+SSLをポートを分けて設定 (memo.kappa-lab.com)]]
   * [[http://kay.air-nifty.com/art/2008/09/sslbasic-77ec.html|SSL+Basic認証の設定で意外に苦労しました(技術的な話題): ITスペシャリストが語る芸術]]   * [[http://kay.air-nifty.com/art/2008/09/sslbasic-77ec.html|SSL+Basic認証の設定で意外に苦労しました(技術的な話題): ITスペシャリストが語る芸術]]
 +
 +~~DISCUSSION~~
 +
  • mac/mac_os_x_v10.6でsubversionリポジトリのパスベース認証を行う.1306680976.txt.gz
  • 最終更新: 2011-05-29 23:56
  • by Decomo