Trac 1.0 + PostgreSQL 8.4 のインストール
- 参考
http://attosoft.info/trac/wiki/TracJaInstall#
http://discypus.jp/trac/sandbox/wiki/TracInstall
- 環境(ダウンロード先)
- CentOS 5.6
- PostgreSQL 8.4.14
http://yum.postgresql.org/rpmchart.php
-
- Python 2.6.8
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/
-
- psycopg2-2.2.2「PostgreSQLドライバ」
http://www.initd.org/psycopg/tarballs/
- インストール
- Postgres インストール
rpm:postgresql, 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
-
- Python インストール
# 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 ユーザ名
-
- 権限付与