前回に引き続き、Subversionのリポジトリの作成方法を書きます。
以下リポジトリ名を REPOSITORY と表記するので、適宜リポジトリ名に読み替えます。
1.svnrootユーザーでリポジトリを作成
# su - svnroot
$ svnadmin create /usr/local/var/svn/REPOSITORY
2.リポジトリごとの設定ファイル書き換え
/usr/local/var/svn/REPOSITORY/conf/svnserve.conf に下記を追加して認証を通したユーザーのみがアクセスできるようにします。
/usr/local/var/svn/REPOSITORY/conf/passwdに下記の型式で許可するユーザーを追加
3. 基本ディレクトリを作成
$ svn mkdir file:///usr/local/var/svn/REPOSITORY/trunk ¥
-m 'setup trunk'
$ svn mkdir file:///usr/local/var/svn/REPOSITORY/branches ¥
-m 'setup branches'
$ svn mkdir file:///usr/local/var/svn/REPOSITORY/tags ¥
-m 'setup tags'
4. 既存のファイルをインポートする場合は、既存ファイルが格納されているディレクトリの親ディレクトリで下記コマンドを実行します。
$ svn import 既存ディレクトリ file:///usr/local/var/svn/REPOSITORY/trunk -m ¥
'import REPOSITORY'
5. コミットされた時にwebスペースに更新かけるフックスクリプト作成
/usr/local/var/svn/REPOSITORY/hooks/post-commit
/usr/local/share/subversion/hook-scripts/commit-update.sh(rootじゃないとファイルを作れないかも)
$ chmod +x /usr/local/var/svn/REPOSITORY/hooks/post-commit
$ chmod +x /usr/local/share/subversion/hook-scripts/commit-update.sh
6. 5のフックスクリプトを設置した場合は、一度、下記コマンドでwebスペースにチェックアウトします。
$ svn checkout file:///usr/local/var/svn/REPOSITORY/trunk REPOSITORY
7. Web DAVでアクセスできるようにする場合は、下記2ファイルを下記のように編集します。
/usr/local/etc/apache2/Includes/dav_svn.conf
/usr/local/etc/apache2/httpd.conf
anon-access = none
auth-access = write
password-db = passwd