Trac 1.0 + PostgreSQL 8.4 のインストール

  • 参考

http://attosoft.info/trac/wiki/TracJaInstall#
http://discypus.jp/trac/sandbox/wiki/TracInstall

http://yum.postgresql.org/rpmchart.php

http://www.python.org/ftp/python/

    • setuptools-0.6c11-py2.6.egg「Pythonのライブラリ管理ツール」

http://pypi.python.org/pypi/setuptools

    • Babel-0.9.6-py2.6.egg「Pythonの国際化」

http://ftp.edgewall.com/pub/babel

    • Genshi-0.6-py2.6.egg

http://ftp.edgewall.com/pub/genshi/

    • Pygments-1.5

http://pypi.python.org/packages/source/P/Pygments/

http://www.initd.org/psycopg/tarballs/

  • インストール
    • Postgres インストール

rpmpostgresql, postgresql-libs, postgresql-server, postgresql-devel
# rpm -ivh postgresql*.rpm
# su - postgres
/var/lib/pgsql/data/配下にPostgreSQLが管理するデータを作成
$ initdb --encoding=UTF-8 --no-locale -D /var/lib/pgsql/data/
PostgreSQLの起動
$ pg_ctl start
ユーザ(tracuser)とデータベース(trac)の作成
$ createuser -U postgres -E -P tracuser
$ 新しいロールをスーパーユーザとしますか? (y/n)n
$ 新しいロールにデータベース作成権限を与えますか? (y/n)n
$ 新しいロールにロールを作成する権限を与えますか? (y/n)n
$ createdb -U postgres -O tracuser -E UTF8 trac

# tar zxfv Python-2.6.8.tar
# cd Python-2.6.8
# ./configure
# make
# make install
古いバージョンがインストールされ混合環境への対応
# mv /usr/bin/python /usr/bin/python.old
# ln -s /usr/local/bin/python2.6 /usr/bin/python
インストール確認
# python -V

    • Python ライブラリインストール

# chmod +x ./setuptools-0.6c11-py2.6.egg
# ./setuptools-0.6c11-py2.6.egg --prefix=/usr/local
# easy_install Babel-0.9.6-py2.6.egg
# easy_install Genshi-0.6-py2.6.egg
# easy_install Pygments-1.5.tar.gz
# easy_install psycopg2-2.2.2.tar.gz

    • Trac のインストール

# cd /opt/
# unzip Trac-1.0.ja1.zip
# cd Trac-1.0.ja1
# python ./setup.py install --prefix=/usr/local

Tracプロジェクトは/var/trac/に配置する
# mkdir /var/trac
# rpm -ihv mod_fcgid-2.2-4.el5.kb.x86_64.rpm

なにかアクセスするので
# mkdir /var/www/.python-eggs
# chown apache /var/www/.python-eggs
CGIの設置
# cp /opt/Trac-1.0.ja1/contrib/cgi-bin/trac.fcgi /var/www/cgi-bin/
プロジェクトへのパスを追加(3行目)
# vi /var/www/cgi-bin/trac.fcgi
import os
os.environ['TRAC_ENV_PARENT_DIR']="/var/trac/"

ログイン認証方式としてダイジェスト認証を使用する
# vi /etc/httpd/conf/httpd.conf

AuthType Digest
AuthName "trac"
AuthDigestDomain /trac
AuthUserFile /var/trac/trac.htpasswd
Require valid-user

ScriptAlias /trac /var/www/cgi-bin/trac.fcgi/
ログインユーザのパスワードファイルと管理者を作成
# htdigest -c /var/trac/trac.htpasswd trac admin
# /etc/init.d/httpd start

  • プロジェクトの新規作成

# cd /var/svn
# svnadmin create プロジェクト名
# cd /var/trac
# trac-admin プロジェクト名 initenv
プロジェクト名>表示プロジェクト名(日本語可)
データベース接続文字列 [sqlite:db/trac.db]>postgres://tracuser:パスワード@localhost/trac?schema=hineプロジェクト名
# chown -R apache プロジェクト名
管理者に管理権限を付与
# trac-admin /var/trac/プロジェクト名 permission add admin TRAC_ADMIN

  • アカウント管理
    • ユーザの追加

# htdigest -c /var/trac/trac.htpasswd trac ユーザ名

    • 権限付与

# trac-admin /var/trac/プロジェクト名 permission add ユーザ名 権限名