Trac を CentOS 6.7 へインストール

Trac でソフトウェア開発のタスクやバグを管理することになりました。導入までの手順をまとめておきます。

1. 準備

Trac は Python で書かれているので Python が必要です。

# yum install python python-devel

他にも必要なパッケージをインストールします。

# yum install httpd httpd-devel
# yum install sqlite

2. Python Seteuptools のインストール

setuptools が後でインストールする Genshi や Babel などの Python ライブラリのインストールに必要です。

# yum install python-setuptools

3. Genshi のインストール

Genshi は Python のテンプレートエンジンです。先にインストールした setuptools の easy_install コマンドでインストールします。

# easy_install Genshi

4. Babel のインストール

Babel は ローカライズのための Python のパッケージです。Genshi と同様に easy_install コマンドでインストールします。

# easy_install Babel

5. Trac のインストール

Trac の本体をインストールします。

# easy_install Trac

6. mod_wsgi のインストール
Apatch から Python プログラムを実行するための Apache のモジュール mod_wsgi をインストールします。

# yum install mod_wsgi

7. Trac プロジェクトの作成

準備ができたら、Trac プロジェクトを作成します。
ここでは、foo というTracプロジェクトを /var/trac/projects/foo ディレクトリに配置します。

まずは、foo ディレクトリを作成し、ディレクトリのオーナーを apache に設定します。

# mkdir -p /var/trac/projects/foo
# chown -R apache.apache /var/trac/projects/foo

次に、trac-admin にプロジェクト用ディレクトリと initenv コマンドで初期化します。
これは、apache ユーザーで行います。

# sudo -E -u apache /usr/bin/trac-admin /var/trac/projects/foo initenv 

上記コマンドを実行するとプロジェクト名とデータベース接続文字列を聞かれるので適宜入力します。
ここではプロジェクト名には “foo”、データベース接続文字列はデフォルトのままとします。

 (... 途中省略 ...)

プロジェクト名 [My Project]> foo                     <-- プロジェクト名を入力して [Enter] キーを押下

 (... 途中省略 ...)

データベース接続文字列 [sqlite:db/trac.db]>          <-- デフォルトのままで [Enter] キーを押下

 (... 途中省略 ...)

Congratulations!

8. Apache との連携

Apache とtrac を連携できるように設定を追加します。
mod_wsgi モジュールのスクリプトを作成します。

# vi /var/trac/trac.wsgi

上記ファイルに、以下の内容を記述し保存します。

import os

os.environ['TRAC_ENV_PARENT_DIR'] = '/var/trac/projects'
os.environ['PYTHON_EGG_CACHE'] = '/var/trac/.python-eggs'

import trac.web.main
application = trac.web.main.dispatch_request

上記スクリプトのアクセス権限を設定します。

# chmod 755 /var/trac/trac.wsgi
# chown apache.apache /var/trac/trac.wsgi

最後に、Apache の設定を追加します。

# vi /etc/httpd/conf.d/wsgi.conf

上記ファイルに、以下の内容を記述し保存します。

LoadModule wsgi_module modules/mod_wsgi.so

WSGIScriptAlias /trac /var/trac/trac.wsgi

<Directory /var/trac/projects>
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>

そして、Basic 認証をかけます。

# vi /etc/httpd/conf.d/trac.conf

以下を入力して保存します。

<LocationMatch "/trac/[^/]+/login">
    AuthType Basic
    AuthName "Trac"
    AuthUserFile /var/trac/.htpasswd
    Require valid-user
</LocationMatch>

Basic認証で使用するユーザー名とパスワードを登録します。

# htpasswd -c /var/trac/.htpasswd admin
New password: 
Re-type new password: 
Adding password for user admin

# htpasswd /var/trac/.htpasswd bar
New password: 
Re-type new password: 
Adding password for user bar

Apache を再起動します。

# service httpd restart

ブラウザから以下のような URL をアドレスに指定するとプロジェクト用 Tracサイトが開かれます。

http://server/trac/foo

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください