FreeBSD 10.4 RELEASE - Subversion - 基本設定
- 1. ports
- 2. リポジトリの作成
- 3. ウェブアクセス設定
1. ports
ここでは、「https」を通して、「Subversion」のリポジトリにアクセスする方法を説明しますので、「apache」とともにインストールします。
/usr/ports/www/apache24
/usr/ports/www/mod_dav_svn
/usr/ports/devel/subversion
apache のインストールについては「ウェブサーバ apache24」を参考にしてください。
mod_dav_svn は https に必要なモジュールで、以前は、subversion のオプションで選択できていたのですが、現在ではオプションから選択肢が消えています。
別途インストールすることになるので注意してください。
mod_dav_svn は subversion と依存関係があるため、mod_dav_svn をインストールすると同時に subversion もインストールすることになります。
suvbersion のリポジトリを別のバックアップサーバに同期させる場合は、/usr/ports/devel/subversion のオプションで必ず SERF にチェックをいれてください。
2. リポジトリの作成
リポジトリの名前を hogehoge、配置する場所を /usr/local/www/svn とすれば
> mkdir /usr/local/www/svn
> svnadmin create /usr/local/www/svn/hogehoge
> chown -R www:www /usr/local/www/svn/hogehoge
リポジトリの作成はこれだけです。
ちなみに、Subversion サーバで使用するマシンが Subversion サーバとしてしか使用しない場合も、apache の /usr/local/etc/apache24/httpd.conf で定義している DocumentRoot と Subversion のリポジトリを定義している場所は物理的に別のディレクトリを定義しなければなりません。
同じディレクトリを使用しているとクライアントでチェックアウトしようとするときに
svnsync: リポジトリは恒久的に 'リポジトリの URL' へ移動しました。relocate (参照 URL の変更) を実行してください
というエラーになって、チェックアウトできません。
3. ウェブアクセス設定
ウェブ経由でアクセスできるように設定します。
/usr/local/etc/apache24/httpd.conf に以下の記述があることを確認し、なければ追加します。
LoadModule dav_svn_module libexec/apache24/mod_dav_svn.so
追加する場合は、LoadModule の記述の続く行の固まりの末尾くらいがよいです。
/usr/local/etc/apache24/Includes に svn.conf というファイルを作成して以下のように記述します。
<Directory "/usr/local/www/svn/">
Options Followsymlinks
AllowOverride All
Require all granted
</Directory>
<Location /svn>
<IfModule dav_module>
DAV svn
SVNParentPath /usr/local/www/svn
</IfModule>
AuthType Basic
AuthName "Subversion hogehoge"
AuthUserFile /usr/local/www/svn/passwd # ← パスワード設定する場合です
Require valid-user
SSLRequireSSL
SSLVerifyClient require
SSLVerifyDepth 1
SSLRenegBufferSize 100000000
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
Order Allow,Deny
Allow from all
</Location>
16行目、パスワード設定については「apache24 - アクセス制限」を参照。
ここまで記述したら、定義ファイルの確認をして apache を再起動します。
/usr/local/etc/rc.d/apache22 configtest
/usr/local/etc/rc.d/apache22 restart
|
|