SVN覚え書き
バージョン管理ツールのSVN導入にスッゴイ手間取った。
Webの情報が統一されてなかったり(環境で違うのだろうか・・・)
欠けていたりで・・・。でもなんとかできました。
■インストール
# yum install subversion
↓はApacheでアクセス出来るようにする為のモジュール
# yum install mod_dav_svn
/ruriruri/svnはSVN用のディレクトリとして。
# mkdir /ruriruri/svn/nagamon
nagamonはリポジトリ用のディレクトリとして。
適宜読み替える事。
リポジトリを作る。
# svnadmin create /ruriruri/svn/nagamon
Apacheがアクセス出来るようにユーザを変えておく。
# chown -R apache:apache /ruriruri/svn
■リポジトリに登録
とりあえず登録するファイルを用意する。
$ vi /home/hoge/nagamon/yukirin.txt
登録する。
以下のapacheの設定をしている場合、「http://localhost/svn/nagamon」
$ svn import -m "hoge" /home/hoge/nagamon file:///ruriruri/svn/nagamon/
でも登録出来る。
以下のsvnserveを起動している場合、「svn://localhost/nagamon」でも
登録出来る。
# rm -rf /ruriruri/svn/nagamon
■Apacheによる公開
BASIC認証用のパスワードを設定する。
# htpasswd -c /ruriruri/svn/.htpasswd username
/etc/httpd/conf.d/subversion.confを編集する。
ファイルの末尾に以下の設定を追加する。
AuthNameは多分何でもいい。多分。
DAV svn
SVNParentPath /ruriruri/svnAuthType Basic
AuthName "SubVersion"
AuthUserFile "/ruriruri/svn/.htpasswd"
Require valid-user
AuthUserFileはさっき作ったパスワードのファイル。
Apache再起動。
ウチの環境では/usr/sbinにapachectlがあった。
# /usr/sbin/apachectl restart
以下のURLにアクセスすれば見れる。
何にも作ってなければ「Revesion 0:/」とか表示される。
http://ホスト名/svn/nagamon
■svnserveによる公開
TortoiseSVNとかでアクセス出来る様にしたいので
svnserveを起動させる。
リポジトリのアクセス権限を制御する為に設定ファイルを編集する。
以下の行のコメントを外して設定する。
# vi /ruriruri/svn/nagamon/conf/svnserve.conf
行の先頭に空白が混じっていると、チェックアウトしたりする時に
anon-access = none
auth-access = write
password-db = passwd
「Option expected」等と出てエラーになるので注意。
これで認証なしのアクセスは禁止に出来た。
パスワードの設定をする。
harry, sally等の例が載っているので、参考にしてユーザを追加する。
# vi /ruriruri/svn/nagamon/conf/passwd
これでhogeユーザが追加出来た。
# harry = harryssecret
# sally = sallyssecret
hoge = fuga
svnserveを起動する。
これで、svnコマンドやTortoiseSVN等から、「svn://ホスト名/nagamon/」の
# svnserve -d -r /ruriruri/svn
アドレスでアクセス出来るようになる。
ちなみにウチの環境ではsvnserveは「/usr/bin」にあった。
svnserveの在り処や起動方法は環境によって色々違うらしい??
後、svnserveはポート3690番を使うので、解放する。
この辺はまだ勉強不足でよくわからなかったり。
# /sbin/iptables -I INPUT -p tcp -m tcp --dport 3690 --syn -j ACCEPT
# /etc/init.d/iptables save
# /sbin/service/iptables restart
とりあえずこれで通る様になったのでおkとする。