kikukawa's diary

都内で活動するシステムエンジニアが書いてます。 興味を持った技術やハマったポイント、自分用メモをつけてます。 最近はweb中心

CentOs5.3にsvnをインストール

CentOS svn subversion apache httpd

CentOs5.3にsvnをインストールし、apache経由でアクセスする
apacheは入っていること前提

yumからインストール

yum install mod_dav_svn subversion

レポジトリを /home/svn以下に作成する


ディレクトリを作成する

cd /home
mkdir svn

レポジトリの作成をする

cd svn
mkdir ProjectA
svnadmin create /home/svn/ProjectA

apacheが書き込めるようにする

chown -R apache.apache /home/svn/ProjectA

SELinuxが有効になっている場合は以下のコマンドを実行する

chcon -R -h -t httpd_sys_content_t /home/svn/ProjectA

svnの設定
/etc/httpd/conf.d/subversion.confを編集する

まずはデフォルトのファイルをコピーしておく

cd /etc/httpd/conf.d/
cp subversion.conf subversion.conf_save

編集する

vim subversion.conf

以下を追加
レポジトリを追加したいときは、このブロックごとに追加していく


   DAV svn
   SVNPath /home/svn/ProjectA
      AuthType Basic
      AuthName "Authorization ProjectA"
      AuthUserFile /home/svn/ProjectA/conf/mypasswd
      Require valid-user

Basic認証用のパスワードファイルの作成とhogeユーザーの追加。

cd  /home/svn/ProjectA/conf/
htpasswd -c -m mypasswd hoge

入力するとパスワードの入力が求められる。

次にユーザーを追加するときは、-cオプションは追加しない

間違えたときは以下で削除

htpasswd -D mypasswd hoge


apacheの設定ファイルを読み込みなおす

/etc/init.d/httpd reload

ブラウザから、
http://localhost/repos/ProjectA
でアクセスできればOK

余談だがレポジトリを作成するとconfディレクトリ以下に
authzやpasswdやsvnserve.confができるが、これはapache経由で動かす時は読み込まれないので注意