CentOS5.4でapache+subversionを導入するための手順をログしておこうと思う。
svnserveでも動かすことはできるけど、複数のリポジトリを管理する時などはこっちのほうが便利なので。
最低限度の設定しか入れていないので、apacheのssl設定やその他もろもろの手順は他を参考にしてください。
git?なにそれおいしいの?
最初にapacheの実行ユーザwwwを作成しておく。
[root@vm ~]# groupadd www
[root@vm ~]# useradd -g www -d /home/www -s /sbin/nologin www
次に、apacheをインストールする。(2010-09-05時点での最新は2.2.16のようです。)
[root@vm ~]# cd /usr/local/src/
[root@vm src]# wget http://ftp.riken.jp/net/apache//httpd/httpd-2.2.16.tar.gz
[root@vm src]# tar zxf httpd-2.2.16.tar.gz
[root@vm src]# cd httpd-2.2.16
[root@vm httpd-2.2.16]# yum install openssl-devel.i386
[root@vm httpd-2.2.16]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd/conf --datadir=/var/www --localstatedir=/var --enable-module=so --enable-proxy --enable-headers --enable-ssl --enable-rewrite --enable-shared=max --enable-rule=SHARED_CORE --enable-dav
[root@vm httpd-2.2.16]# make
[root@vm httpd-2.2.16]# make install
続いてsubversionのインストール。(2010-09-05時点での最新は1.6.12のようです。)
[root@vm ~]# cd /usr/local/src/
// 本体のダウンロード
[root@vm src]# wget http://subversion.tigris.org/downloads/subversion-1.6.12.tar.gz
[root@vm src]# tar zxf subversion-1.6.12.tar.gz
// 関連パッケージなどを包括したもの、らしい。
[root@vm src]# wget http://subversion.tigris.org/downloads/subversion-deps-1.6.12.tar.gz
[root@vm src]# tar zxf subversion-deps-1.6.12.tar.gz
[root@vm src]# cd subversion-1.6.12
// libxml2-develがないと怒られた気がしたけど、問題なく通った。
[root@vm subversion-1.6.12]# ./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache/bin/apxs
// selinuxを無効にしていないと変なエラーが出た。エラー内容を忘れてしまったので割愛。
[root@vm subversion-1.6.12]# make
[root@vm subversion-1.6.12]# make install
svn用のディレクトリを作成する。
リポジトリ用のディレクトリと、アクセス制限用のディレクトリを作成。
そしてリポジトリの作成も。
[root@vm subversion-1.6.12]# mkdir /var/svn
[root@vm subversion-1.6.12]# mkdir /var/svn/conf
[root@vm subversion-1.6.12]# mkdir /var/svn/repos
[root@vm subversion-1.6.12]# /usr/local/svn/bin/svnadmin create /var/svn/repos
// 所有権をwwwにしておく。
[root@vm subversion-1.6.12]# chown -R www:www /var/svn/repos/
リポジトリアクセス用のパスワードファイルを作成。
[root@vm conf]# /usr/local/apache/bin/htpasswd -c /var/svn/conf/.htpasswd test
New password:
Re-type new password:
Adding password for user test
apacheの設定を変更し、リポジトリアクセス可能にする。
[root@vm subversion-1.6.12]# cd /etc/httpd/conf/
// 念のためバックアップ
[root@vm conf]# cp -p httpd.conf httpd.conf.20100905
[root@vm conf]# vi httpd.conf
// 実行者を変更
- User daemon
- Group daemon
+ User www
+ Group www
// 末尾にsvn用の設定を追記
+ <Location /svn/repos>
+ DAV svn
+ SVNPath /var/svn/repos
+ AuthType Basic
+ AuthName "SVN Basic Auth"
+ AuthUserFile /var/svn/conf/.htpasswd
+ Require valid-user
+ </Location>
これで準備は完了。あとはapacheを起動し、
[root@vm conf]# /usr/local/apache/bin/apachectl start
終了。
http://localhost/svn/repos
にアクセスすればbasic認証の後にリポジトリの確認が可能のはず。
かなり端折ったが、これでうまくいく!はず!