2. FreeBSD 11.2 RELEASE - subversion - 基本設定

 
2.1 リポジトリの作成
2.2 /usr/local/etc/apache24/httpd.conf 設定
2.3 /usr/local/etc/apache24/Includes/svn.conf 作成
2.3 apache 再起動

2.1 リポジトリの作成

 リポジトリの名前を hogehoge、配置する場所を

/usr/local/www/svn
 とすれば

mkdir -pv /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 の変更) を実行してください
 というエラーになって、チェックアウトできません。

2.2 /usr/local/etc/apache24/httpd.conf 設定

 ウェブ経由でアクセスできるように設定します。  まず

/usr/local/etc/apache24/httpd.conf
 の設定。  mod_dav モジュールおよび SSLモジュールを使用しますので、以下の先頭の # をはずしてコメント解除します。

#LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so

#LoadModule ssl_module libexec/apache24/mod_ssl.so

#LoadModule dav_module libexec/apache24/mod_dav.so

#Include etc/apache24/extra/httpd-ssl.conf
 その他、SSL に関しては「ウェブサーバ apache24」の SSL に関する記述を参考にしてください。  以下の記述があることを確認し、なければ追加します。  追加する場合は、LoadModule の記述の続く行の固まりの末尾くらいがよいです。

LoadModule dav_svn_module libexec/apache24/mod_dav_svn.so

2.3 /usr/local/etc/apache24/Includes/svn.conf 作成

/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 - アクセス制限」を参照。

2.4 apache 再起動

 ここまで記述したら、定義ファイルの確認をして apache を再起動します。

service apache24 configtest
service apache24 graceful