差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
freebsd:mod_dav_svn_mod_authz_svnでsubversionサーバの構築 [2011-11-12 01:43] Decomo |
freebsd:mod_dav_svn_mod_authz_svnでsubversionサーバの構築 [2015-09-17 14:15] Decomo [秘密鍵のパスワードの解除] |
||
---|---|---|---|
行 14: | 行 14: | ||
^リポジトリパス | / | ^リポジトリパス | / | ||
^認証系のファイル置き場 | / | ^認証系のファイル置き場 | / | ||
+ | |||
+ | ※Apache 2.4では一部変更点があるので[[# | ||
===== インストール ===== | ===== インストール ===== | ||
行 93: | 行 95: | ||
==== 正規ユーザーの追加 ==== | ==== 正規ユーザーの追加 ==== | ||
- | < | + | '' |
<cli> | <cli> | ||
$ sudo htpasswd -c / | $ sudo htpasswd -c / | ||
行 103: | 行 105: | ||
==== リポジトリへのアクセス制御設定 ==== | ==== リポジトリへのアクセス制御設定 ==== | ||
- | < | + | '' |
< | < | ||
[groups] | [groups] | ||
行 143: | 行 145: | ||
==== 秘密鍵の生成 ==== | ==== 秘密鍵の生成 ==== | ||
+ | 秘密鍵は漏れてはならないので、ディレクトリのパーミッションに注意。 | ||
<cli prompt="# | <cli prompt="# | ||
- | # openssl genrsa -aes256 2048 > / | + | # cd / |
+ | # mkdir -m 0700 ssl.{key, | ||
+ | # openssl genrsa -aes256 2048 > ssl.key/secret.key | ||
Generating RSA private key, 2048 bit long modulus | Generating RSA private key, 2048 bit long modulus | ||
.........................................+++ | .........................................+++ | ||
行 153: | 行 158: | ||
</ | </ | ||
- | ==== 公開鍵の生成 ==== | + | ==== 証明書署名要求の生成 ==== |
<cli prompt="# | <cli prompt="# | ||
- | # openssl req -new -key server.key > | + | # openssl req -new -key ssl.key/ |
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 | ||
行 180: | 行 185: | ||
==== 自己証明書の生成 ==== | ==== 自己証明書の生成 ==== | ||
<cli prompt="# | <cli prompt="# | ||
- | # openssl x509 -in server.csr -days 3650 -req -signkey | + | # openssl x509 -in ssl.key/server.csr -days 3650 -req -signkey |
Signature ok | Signature ok | ||
subject=/ | subject=/ | ||
行 187: | 行 192: | ||
</ | </ | ||
+ | ==== 秘密鍵のパスワードの解除 ==== | ||
+ | Apache起動時に秘密鍵のパスワード入力を解除する。 | ||
+ | <cli prompt="# | ||
+ | # openssl rsa -in ssl.key/ | ||
+ | Enter pass phrase for ssl.key/ | ||
+ | writing RSA key | ||
+ | </ | ||
+ | |||
+ | ==== mod_sslの設定 ==== | ||
+ | extraディレクトリに設定サンプルがあるのでコピー。 | ||
+ | <cli prompt="# | ||
+ | $ cd / | ||
+ | $ sudo cp ../ | ||
+ | $ sudo mv subversion.conf subversion.conf.inc | ||
+ | </ | ||
+ | ssl.confから必要な部分のみ抜粋。 | ||
+ | <code apache|h / | ||
+ | SSLRandomSeed startup file:/ | ||
+ | SSLRandomSeed connect file:/ | ||
+ | |||
+ | Listen 443 | ||
+ | |||
+ | AddType application/ | ||
+ | AddType application/ | ||
+ | |||
+ | SSLPassPhraseDialog | ||
+ | |||
+ | SSLSessionCache | ||
+ | SSLSessionCacheTimeout | ||
+ | |||
+ | SSLMutex | ||
+ | |||
+ | < | ||
+ | |||
+ | DocumentRoot "/ | ||
+ | ServerName svnsvr:443 | ||
+ | ServerAdmin メールアドレス | ||
+ | ErrorLog "/ | ||
+ | TransferLog "/ | ||
+ | |||
+ | SSLEngine on | ||
+ | |||
+ | SSLCipherSuite ALL: | ||
+ | |||
+ | SSLCertificateFile "/ | ||
+ | |||
+ | SSLCertificateKeyFile "/ | ||
+ | |||
+ | < | ||
+ | SSLOptions +StdEnvVars | ||
+ | </ | ||
+ | < | ||
+ | SSLOptions +StdEnvVars | ||
+ | </ | ||
+ | |||
+ | BrowserMatch " | ||
+ | | ||
+ | | ||
+ | |||
+ | CustomLog "/ | ||
+ | "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \" | ||
+ | |||
+ | Include / | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== Apache 2.4 + Subversion 1.8対応 ===== | ||
+ | |||
+ | Apache 2.4 + Subversion 1.8にしたら動かなくなったので修正点を殴り書き。 | ||
+ | |||
+ | ==== mod_dav_svn ==== | ||
+ | |||
+ | / | ||
+ | |||
+ | ==== httpd.conf ==== | ||
+ | |||
+ | 以下のモジュールが有効になっているか確認。 | ||
+ | <code conf> | ||
+ | LoadModule socache_shmcb_module libexec/ | ||
+ | LoadModule ssl_module libexec/ | ||
+ | LoadModule dav_module libexec/ | ||
+ | LoadModule dav_fs_module libexec/ | ||
+ | </ | ||
+ | |||
+ | ==== 220_subversion.conf ==== | ||
+ | |||
+ | サードパーティ製モジュールの読み込みと設定は''/ | ||
+ | |||
+ | Subversion関連の設定は'' | ||
+ | |||
+ | '' | ||
+ | |||
+ | <code conf> | ||
+ | LoadModule dav_svn_module | ||
+ | LoadModule authz_svn_module | ||
+ | LoadModule dontdothat_module | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== ssl.conf ==== | ||
+ | |||
+ | **SSLMutex | ||
+ | |||
+ | ~~DISCUSSION~~ | ||