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_svnhttps に必要なモジュールで、以前は、subversion のオプションで選択できていたのですが、現在ではオプションから選択肢が消えています。  別途インストールすることになるので注意してください。  mod_dav_svnsubversion と依存関係があるため、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 で定義している DocumentRootSubversion のリポジトリを定義している場所は物理的に別のディレクトリを定義しなければなりません。  同じディレクトリを使用しているとクライアントでチェックアウトしようとするときに

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/Includessvn.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