#freeze
''目次''
#contents
~
----
*目的 [#lf25eadd]
*準備 [#h8eb8606]
-apache 2.2.8
-OpenSSL
-zlib
-expat
-neon~
HTTP and WebDAV client library
-subversion -- http://subversion.tigris.org/~
ソース:subversion-1.4.6.tar.gz
*インストール [#c7ebbd68]
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のヘルプ>subversionのconfigureヘルプ]]
-neonが無い場合,下記が表示される
(省略)
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
(省略)
-expatが無い場合,下記が表示される
(省略)
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
*Apacheへの埋め込み [#p464b8ef]
-''リポジトリ用のディレクトリを作成''
# mkdir /home/svn
-''httpd-dav.confの設定''
# 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>
-''httpd.confの設定''~
DAV用設定ファイルの有効化
# vi /usr/local/apache2/conf/httpd.conf
DAV設定ファイルのリンク
# 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
*動作確認 [#r62325c4]
''リポジトリの作成''
# /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。~
*↓これ何だっけ? (Trac用の設定?) [#reb68237]
+''Python用PATH?''
# 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
~
+''Apacheの設定(httpd.confの編集)''
# vi /usr/local/apache2/conf/httpd.conf
Include conf/extra/httpd-svn.conf ← 追記
~
+''Apacheの設定(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>
~
+''Apacheの設定(svnaccessの作成)''
# vi /usr/local/apache2/conf/svnaccess
# グループ定義
[groups]
hoge-project = user1, user2
# user0に全リポジトリ以下の読み書き権限を与える。
[/]
user0 = rw
# hoge-projectに属するユーザにhoge-projectリポジトリ以下の読み書き権限を与える
[hoge-project:/]
@hoge-project = rw
~
+''Apacheの設定(usersの作成)''
# vi /usr/local/apache2/conf/users
user0:jeuWTQC7DmLt.
user1:/D3ZokHltqisY
user2:1goFvgl8KngsY
user3:ra9qRtqiVfMfA