2010年11月23日火曜日

svnサーバー構築

svnサーバーの構築手順

  リポジトリ作成

mkdir -p /Library/Subversion/Repository
svnadmin create /Library/Subversion/Repository/xxx
svn mkdir file:///Volume/Library/Subversion/Repository/xxx/trunk  -m "〜"
svn mkdir file:///Volume/Library/Subversion/Repository/xxx/tags  -m "〜"
svn mkdir file:///Volume/Library/Subversion/Repository/xxx/branches  -m "〜"

*import時などに、パーミッションエラーが出る場合は次のように適切なパスのパーミッションを変更する。

sudo chmod -R ug+rwX,o= /Repository
sudo chown -R www:www /Repository

  サーバー設定

dnsにホスト名を追加

サーバ管理を起動し、dnsの項目のゾーンを選択。
プライマリゾーンを選択して、レコードを次のような設定で追加する。
・レコード   CNAME(エイリアス)
・エイリアス名 repository(なんでもいい)
・割当先    xxx.xxx(ホスト名にする)
保存する。

ポート解放

WebDAVポートを有効にする
web → 設定
・dav_svn_moduleにチェック

webにサイトを追加

web → サイトからサイトを追加する。設定情報は下記の通り。
 ・一般
 ・・ホスト名   repository.xxx.xxx(dnsに設定したエイリアスを設定する)
 ・・ポート    443
 ・・Webフォルダ 適当?
 ・オプション
 ・・WebDAVにチェック
 ・保護領域
 ・・次の設定を追加する
 ・・・保護領域名 svn(適当)
 ・・・認証    基本
 ・・・場所    /svn/(適当, 最初は"フォルダ"とかになっているので、"場所"にする)
 ・・適切なユーザやグループを追加する
 ・セキュリティ
 ・・SSLにチェック
 ・Webサービス
 ・・とりあえず全部チェック外しておいてもいいと思います。
保存する。

ターミナルから/svn/の転送設定を行う

ターミナルを起動して、次のコマンドを実行
sudo vi /etc/apache2/sites/0001_〜_443.conf

のタグを見つけ、直下に以下の内容を記述
DAV svn
SVNParentPath /Library/Subversion/Repository
セーブする 。

*ここはサーバ管理のWebDAVのチェック外したりすると、"DAV off"になっていたりするので注意。

テスト

適当なクライアントから以下を実行してインポートする。
svn import インポート元パス https://repository.xxx.xxx/svn/xxx -m "メッセージ"


特にエラーもなく、インポートできれば完了。


エラー時のTIps


・コミット時にWebDAVが動いてないんじゃない?とか言われる。
  >> ポート解放、上記赤字の部分とサーバ管理のWebのサイトのチェック項目を見てみる。


・パーミッションがおかしいと言われる(Permission denied [500 #13]とか)
  >> コミット、インポート先のパーミッションを見てみる 

特にエラーもなく、インポートできれば完了。


エラー時のTIps

参考
http://ameblo.jp/oyasai10/entry-10508455224.html

0 件のコメント:

コメントを投稿