3. FreeBSD 11.1 RELEASE - subversion - バックアップ

 
3.1 概要
3.2 バックアップリポジトリの作成
3.3 WEBアクセス設定
3.4 初期化以降

3.1 概要

 ここで説明するバックアップというのは、テープ装置にバックアップをとるというような話でなく。  別にバックアップ用のサーバをたてて、定期的にバックアップをとる方法の説明です。  バックアップサーバがもう一台あって、定期的なバックアップをとっていれば、もし不幸にもマスタの Subversion サーバが故障しても、リポジトリの向く先をバックアップサーバに切り替えれば、少なくとも最後にバックアップした時点までは、戻せるし。  差分がなければ、クライアント側では何事もなかったかのように作業が続けられるわけです。

3.2 バックアップリポジトリの作成

 バックアップサーバは、同じプラットフォームでなくてもよいし、極端に違うのでなければ、Subversion サーバアプリケーションのバージョンが違っていてもかまいません。  サーバのバージョンが違う場合、マスタサーバの方が新しいほうがよいようです。  前ページで作成したリポジトリのバックアップを行うとすれば「11.1.2 リポジトリの作成」までの手順はバックアップサーバ側も同様です。

3.3 WEBアクセス設定

 ウェブ経由でアクセスできるように設定します。  /usr/local/etc/apache24/httpd.conf の設定は前ページと同様です。
/usr/local/etc/apache24/Includes/svn.conf
 の内容に、シェルスクリプトで定期的にバックアップをとることと、バックアップのみの間は、マスタサーバからしかアクセスさせないようにするための設定を書き加えます。

<Directory "/usr/local/www/svn/">
    Options Followsymlinks
    AllowOverride All

    <RequireAll>
        <RequireAny>
            Require ip  ← マスタサーバの IP アドレスを記述
        </RequireAny>
    </RequireAll>
</Directory>

<Location /svn>
    <IfModule dav_module>
	DAV svn
	SVNParentPath 	/usr/local/www/svn
    </IfModule>

    SSLRenegBufferSize 100000000

    <RequireAll>
        <RequireAny>
            Require ip  ← マスタサーバの IP アドレスを記述
        </RequireAny>
    </RequireAll>
</Location>
 定義ファイルの記述に誤りがないか確認をして apache を再起動します。

> service apache24 configtest
> service apache24 restart

3.4 初期化以降

 初期化以降の処理については「バージョン管理 - Subversion - バックアップ」に掲載しましたのでそちらをご参照ください。