目次
1.ソースの取得
# wget -P /usr/local/src http://subversion.tigris.org/downloads/subversion-1.4.6.tar.gz
/usr/local/srcにsubversion-1.4.6.tar.gzを取得。
2.ソースの解凍
# cd /usr/local/src # tar zxvf subversion-1.4.6.tar.gz
/usr/local/srcにsubversion-1.4.6フォルダが作成される。
3.コンパイル設定
# cd /usr/local/src/subversion-1.4.6 # ./configure \ > --prefix=/usr/local/subversion-1.4.6 \ > --with-apxs=/usr/local/apache2/bin/apxs \ > --with-swig=/usr/local/swig > --without-berkeley-db
(省略) configure: checking neon library checking for neon-config... no An appropriate version of neon could not be found, so libsvn_ra_dav will not be built. If you want to build libsvn_ra_dav, please either install neon 0.25.5 on this system or get neon 0.25.5 from: http://www.webdav.org/neon/neon-0.25.5.tar.gz unpack the archive using tar/gunzip and rename the resulting directory from ./neon-0.25.5/ to ./neon/ no suitable neon found (省略)
(省略) checking expat.h usability... no checking expat.h presence... no checking for expat.h... no checking for xml2-config... no configure: error: no XML parser was found: expat or libxml 2.x required configure failed for neon
4.インストール
# make # make install # make swig-py # make install-swig-py
5.シンボリックリンクの作成
# ln -s /usr/local/subversion-1.4.6 /usr/local/subversion
# mkdir /home/svn
# mv /usr/local/apache2/conf/extra/httpd-dav.conf /usr/local/apache2/conf/extra/httpd-dav.conf.org ← Defaultを残して # vi /usr/local/apache2/conf/extra/httpd-dav.conf ← 新規作成 #以下を追加 <Location "/svn"> DAV svn SVNParentPath /home/svn SVNListParentPath On </Location>
# vi /usr/local/apache2/conf/httpd.confDAV設定ファイルのリンク
# Distributed authoring and versioning (WebDAV) #Include conf/extra/httpd-dav.conf ↓ Include conf/extra/httpd-dav.conf ← コメント外す確認
# /usr/local/apache2/bin/apachectl configtest Syntax OK
リポジトリの作成
# /usr/local/subversion/bin/svnadmin create /home/svn/test # chown -R apache:apache /home/svn/test
http,httpsでそれぞれ[http(s)://XXX.XXX.XXX.XXX/svn/test]へアクセスし「Revision 0:」と表示されればOK。
# echo /usr/local/subversion/lib/svn-python > /usr/local/python/lib/python2.5/site-packages/subversion.pth
# svnadmin create /home/svn/hoge-project
# chown -R apache:apache /home/svn/hoge-project
# vi /usr/local/apache2/conf/httpd.conf Include conf/extra/httpd-svn.conf ← 追記
# vi /usr/local/apache2/conf/extra/httpd-svn.conf ← 新規作成 <Location "/svn"> DAV svn SVNParentPath /home/svn AuthzSVNAccessFile /usr/local/apache2/conf/svnaccess Require valid-user AuthType Basic AuthName "Subversion repository" AuthUserFile /usr/local/apache2/conf/users </Location>
# vi /usr/local/apache2/conf/svnaccess # グループ定義 [groups] hoge-project = user1, user2 # user0に全リポジトリ以下の読み書き権限を与える。 [/] user0 = rw # hoge-projectに属するユーザにhoge-projectリポジトリ以下の読み書き権限を与える [hoge-project:/] @hoge-project = rw
# vi /usr/local/apache2/conf/users user0:jeuWTQC7DmLt. user1:/D3ZokHltqisY user2:1goFvgl8KngsY user3:ra9qRtqiVfMfA