自分が、ココのサーバにインストール/設置した手順。
流用したい場合は、適当にオプションやパス等を変更する事。
インストール以外の事は、bk-subversionやViewCVSに書く。
必要な物を、順番にインストールする。
wget http://www.python.org/ftp/python/2.4/Python-2.4.tar.bz2 tar xvfy Python-2.4.tar.bz2 cd Python-2.4 CFLAGS="-Os -march=i686" \ ./configure \ --prefix=/usr/local/python \ --with-ncurses \ --with-threads \ --enable-shared nice make nice make check su make install grep /usr/local/python/lib /etc/ld.so.conf \ || echo /usr/local/python/lib >> /etc/ld.so.conf ldconfig -v
wget ftp://sleepycat1.inetu.net/releases/db-4.3.27.tar.gz tar xvfz db-4.3.27.tar.gz cd db-4.3.27 mkdir build-dir cd build-dir CFLAGS="-Os -march=i686" \ CXXFLAGS="-Os -march=i686" \ ../dist/configure \ --prefix=/usr \ --enable-shared \ --enable-rpc \ --enable-compat185 nice make su make install ldconfig -v
wget http://belnet.dl.sourceforge.net/sourceforge/expat/expat-1.95.8.tar.gz tar xvfz expat-1.95.8.tar.gz cd expat-1.95.8 CFLAGS="-Os -march=i686" ./configure --prefix=/usr nice make nice make check su make install ldconfig -v
wget http://belnet.dl.sourceforge.net/sourceforge/swig/swig-1.3.21.tar.gz tar xvfz swig-1.3.21 cd SWIG-1.3.21 CFLAGS="-Os -march=i686" \ ./configure \ --with-python=/usr/local/python/bin/python nice make nice make -k runtime su make install install-runtime
wget http://subversion.tigris.org/tarballs/subversion-1.1.2.tar.gz tar xvfz subversion-1.1.2.tar.gz cd subversion-1.1.2 export PYTHONPATH=/usr/local/python/bin/python CFLAGS="-Os -march=i686" \ ./configure \ --disable-nls \ --with-zlib \ --enable-swig-bindings=python \ --with-swig=/usr/local nice make all swig-py # nice make check su make install install-swig-py ln -s /usr/local/lib/svn-python/* \ /usr/local/python/lib/python2.3/site-packages
groupadd svn useradd -g svn svn mkdir -p /home/svn/repos chown -R svn.svn /home/svn chmod 751 /home/svn chmod 2775 /home/svn/repos
(umask 002; svnadmin create --fs-type fsfs /home/svn/repos/test)
必要な物を、順番にインストールする。
wget http://belnet.dl.sourceforge.net/sourceforge/mysql-python/MySQL-python-1.0.1.tar.gz tar xvfz MySQL-python-1.0.1.tar.gz cd MySQL-python-1.0.1 /usr/local/python/bin/python setup.py build su /usr/local/python/bin/python setup.py install
/usr/local/python/bin/python setup.py build su /usr/local/python/bin/python setup.py install
wget http://www.gembook.jp/html/download/pykf-0.3.4.tgz tar xvfz pykf-0.3.4.tgz cd pykf-0.3.4 /usr/local/python/bin/python setup.py build su /usr/local/python/bin/python setup.py install
wget http://www.python.jp/Zope/download/JapaneseCodecs/JapaneseCodecs-1.4.11.tar.gz tar xvfz JapaneseCodecs-1.4.11.tar.gz cd JapaneseCodecs-1.4.11 /usr/local/python/bin/python setup.py build su /usr/local/python/bin/python setup.py install
http://www.iki.fi/mtr/genscript/enscript-1.6.4.tar.gz tar xvfz enscript-1.6.4.tar.gz cd enscript-1.6.4 CFLAGS="-Os -march=i686" ./configure --prefix=/usr/local --disable-nls nice make all check su make install cd /usr/local/share/enscript wget http://people.ssh.com/mtr/genscript/hl.tar.gz tar xvfz hl.tar.gz
wget http://www.akhphd.au.dk/~bertho/cvsgraph/release/cvsgraph-1.5.1.tar.gz tar xvfz cvsgraph-1.5.1.tar.gz cd cvsgraph-1.5.1 CFLAGS="-Os -march=i686" LIBS="-L/usr/lib -liconv" \ ./configure \ --with-gd-inc=/usr/local/include \ --with-gd-lib=/usr/local/lib \ --with-freetype2-lib=/usr/local/lib \ --with-png-inc=/usr/include \ --with-png-lib=/usr/lib \ --with-jpeg-inc=/usr/include \ --with-jpeg-lib=/usr/lib \ --with-z-inc=/usr/include \ --with-z-lib=/usr/lib nice make su cp ./cvsgraph /usr/local/bin
mkdir viewcvs-build cd viewcvs-build cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/viewcvs login cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/viewcvs co viewcvs wget http://d.tir.jp/viewcvs-encode-eucjp-005.patch cd viewcvs patch -p0 < ../viewcvs-encode-eucjp-005.patch export PATH="/usr/local/python/bin:$PATH" ./viewcvs-install
/home/svn/viewcvs
コレが無くても動作するが、コレが無いと重い。
mysql -u root -p create database subversion; grant all on subversion.* to subversion@localhost identified by "pass-str"; \q cd /home/svn/viewcvs ./make-database
$EDITOR viewcvs.conf
[cvsdb] enabled = 1 host = localhost database_name = subversion user = subversion passwd = ******** readonly_user = subversion readonly_passwd = ******** row_limit = 512
./svndbadmin rebuild /home/svn/repos/testで、リポジトリからmysqlへとキャッシュが構築される。
TARGET=test echo -n '#!/bin/sh REPOS="$1" REV="$2" cd /home/svn/viewcvs ./svndbadmin rebuild "$REPOS" "$REV" ' > /home/svn/repos/$TARGET/hooks/post-commit chmod 775 /home/svn/repos/$TARGET/hooks/post-commit(尚、post-commitハンドラは、更新通知メールの送信等にも使う為、こんな乱暴に設定しない方が良いと思う、本当は)
ALL (echo %{sVv}; cat) | /path/to/installed/of/viewcvs/loginfo-handler
以下の設定を行う。
root_parents = /home/svn/repos : svn default_root = testコレで、何も考えずにアクセスすると、/home/svn/repos/testリポジトリが表示される事になる。
mime_types_file = /usr/local/apache/conf/mime.types
address = svn.tir.jp
main_title = svn.tir.jp
root_as_url_component = 1
http_expiration_time = 0
generate_etags = 0
allow_compress = 1
use_localtime = 1
use_enscript = 1 enscript_path = /usr/local/bin/
allow_tar = 1
use_cvsgraph = 1 cvsgraph_path = /usr/local/bin/ cvsgraph_conf = /home/svn/viewcvs/cvsgraph.conf
一番最後の「その他の注意点」も読む事。
<meta name="ROBOTS" content="NOINDEX,NOFOLLOW">を追加する、とか。
cp /home/svn/viewcvs/www/cgi/viewcvs.cgi /home/svn/htdocs.svn.tir.jp echo DirectoryIndex viewcvs.cgi > /home/svn/htdocs.svn.tir.jp/.htaccess