自宅鯖でどうしてもgit-svnの検証がしたくて、仕方なくインストールしてみた。
意外に面倒だったのでメモしておこう。。。
なぜ、rpmではなくてソースからというツッコミが入りそうだが、apacheもソースから入れているため
連携させるモジュールの都合上そうなった。
環境:CentOS6.2
Apache/2.4.16
まずはSubversionのソースをダウンロードします。
shell > cd /usr/local/src/
shell > wget http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/subversion/subversion-1.9.0.tar.gz
shell > tar xzvf subversion/subversion-1.9.0.tar.gz
shell > cd subversion/subversion-1.9.0/
configureします。
./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-apxs=/usr/local/apache2/bin/apxs --with-apache-libexecdir=/usr/local/apache2/modules
apr系は環境によって変わってくると思います。
リポジトリへのアクセスはhttpdで行う想定なのでsvn用のモジュールのインストール先を
--with-apache-libexecdirで指定しているのがポイントです。
エラーメッセージがでて怒られたので
言われたとおりにsqlite-amalgamation-3071501.zip をダウンロードして解凍します。
shell > wget http://www.sqlite.org/sqlite-amalgamation-3071501.zip
shell > unzip sqlite-amalgamation-3071501.zip
shell > mv sqlite-amalgamation-3071501 sqlite-amalgamation
もう一回configureをやりなおします。
shell > ./configure
configureが成功したらmakeします。
shell > make
makeが成功したらmake installします。
shell > make install
ここまででsubversionのインストールは終わり。
次はApacheの設定しましょう。
shell > cd /usr/local/apache2/conf/
shell > vi httpd.conf
svnとの連携に必要なモジュールを有効にします。
まず、mod_dav.soがコメントになっているはずですので、コメントをはずししょう。
LoadModule dav_module modules/mod_dav.so
次に、svnインストール時にApacheのmodulesディレクトリにインストールされたモジュールを有効にします。
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
記述の順番はmod_dav mod_dav_svn mod_authz_svnの順になってないとダメです。
順番が間違っているとApacheが起動できません。
httpdでアクセスさせるリポジトリの設定はどこか適当なapacheの設定ファイルに追加しておけばいいでしょう。
自分はこう設定しました。<Location></Location>が追加した箇所です。
パスワードファイルは普通にhtpasswdで作ればいいです。
<VirtualHost *:80>
ServerAdmin webmaster@sabakan.org
DocumentRoot /home/sabakan/public_html
ServerName sabakan.org
ServerAlias www.sabakan.org
<Directory /home/sabakan/public_html>
AllowOverride All
Order deny,allow
Allow from all
Options MultiViews FollowSymLinks Includes ExecCGI
</Directory>
<Location /svn>
DAV svn
SVNParentPath /var/svn/
AuthType Basic
AuthName "SVN Repo"
AuthUserFile /usr/local/apache2/conf/.svn_htpasswd
Require valid-user
</Location>
</VirtualHost>
最後にApacheをrestartします。
shell > apachectl -k restart
以上、ハァハァ・・・・。
コメント