Debian Wheezy amd64 にTracをインストール・設定する

環境

OS:Debian Wheezy amd64

インストールするソフトウェアが多いので個々のパージョンは省略.

‘apt-cache show’などで確認してください.

インストール

Tracのインストール

  • コマンド

    # apt-get install trac

  • 提案パッケージは後から入れるので次の質問に[Y]と答えてください.

    以下の特別パッケージがインストールされます:
    apache2 apache2-mpm-worker apache2-utils apache2.2-common docutils-common
    docutils-doc libsvn1 python-babel python-docutils python-genshi
    python-pygments python-roman python-setuptools python-subversion python-tz
    subversion
    提案パッケージ:
    apache2-doc apache2-suexec apache2-suexec-custom texlive-lang-french
    doc-base python-genshi-doc ttf-bitstream-vera subversion-tools db5.1-util
    libapache2-mod-wsgi python-textile trac-git trac-spamfilter trac-bzr
    trac-mercurial trac-accountmanager trac-email2trac trac-xmlrpc trac-wysiwyg
    trac-mastertickets trac-customfieldadmin trac-bitten trac-authopenid
    trac-graphviz trac-wikirename trac-wikiprint trac-ja-resource
    python-psycopg2
    以下のパッケージが新たにインストールされます:
    apache2 apache2-mpm-worker apache2-utils apache2.2-common docutils-common
    docutils-doc libsvn1 python-babel python-docutils python-genshi
    python-pygments python-roman python-setuptools python-subversion python-tz
    subversion trac
    アップグレード: 0 個、新規インストール: 17 個、削除: 0 個、保留: 0 個。
    10.8 MB のアーカイブを取得する必要があります。
    この操作後に追加で 38.2 MB のディスク容量が消費されます。
    続行しますか [Y/n]?

libapache2-mod-wsgi のインストール

  • コマンド

    # apt-get install libapache2-mod-wsgi

  • 次の質問に[Y]と答えてください.

    パッケージリストを読み込んでいます… 完了
    依存関係ツリーを作成しています
    状態情報を読み取っています… 完了
    以下の特別パッケージがインストールされます:
    libpython2.6
    以下のパッケージが新たにインストールされます:
    libapache2-mod-wsgi libpython2.6
    アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
    1,240 kB のアーカイブを取得する必要があります。
    この操作後に追加で 3,342 kB のディスク容量が消費されます。
    続行しますか [Y/n]?

trac-git のインストール

今回はVCSにGitを使いたいので trac-gitをインストールします.

  • コマンド

    # apt-get install tac-git

PostgreSQLのインストール

  • コマンド

    # apt-get install python-psycopg2 postgresql

  • 次の質問に[Y]と答えてください.

    パッケージリストを読み込んでいます… 完了
    依存関係ツリーを作成しています
    状態情報を読み取っています… 完了
    以下の特別パッケージがインストールされます:
    libpq5 postgresql-9.1 postgresql-client-9.1 postgresql-client-common
    postgresql-common python-egenix-mxdatetime python-egenix-mxtools
    提案パッケージ:
    oidentd ident-server locales-all postgresql-doc-9.1
    python-egenix-mxdatetime-dbg python-egenix-mxdatetime-doc
    python-egenix-mxtools-dbg python-egenix-mxtools-doc python-psycopg2-doc
    以下のパッケージが新たにインストールされます:
    libpq5 postgresql postgresql-9.1 postgresql-client-9.1
    postgresql-client-common postgresql-common python-egenix-mxdatetime
    python-egenix-mxtools python-psycopg2
    アップグレード: 0 個、新規インストール: 9 個、削除: 0 個、保留: 0 個。
    6,177 kB のアーカイブを取得する必要があります。
    この操作後に追加で 25.0 MB のディスク容量が消費されます。
    続行しますか [Y/n]?

設定

Gitリポジトリを作る

$ mkdir /path/to/repos
$ git init /path/to/repos

PostgreSQLの設定

  • ユーザー作成コマンド

    # su – postgres -c ‘createuser -U postgres -S -D -R -E -P USER’

  • DB作成コマンド

    # su – postgres -c ‘createdb -U postgres -O USER -E UTF8 PROJECT’

    USER と PROJECTは適切なものに置き換えてください.

新しいTrac環境を作る

  • コマンド

    $ trac-admin /path/to/projectenv initenv

    新規 Trac Environment /path/to/projectenv の生成

    はじめに、プロジェクトのデータベースの初期化と準備をするために、
    あなたの環境についていくつか確認をします。

    プロジェクトの名前を入力してください。
    この名前は、ページのタイトルと説明に使用されます。

    プロジェクト名 [My Project]>

    好きなプロジェクト名を入れてください.

    使用するデータベースへの接続文字列を指定してください。
    デフォルトではローカルに SQLite データベースを作成します。
    既に存在する PostgreSQL データベースを使うこともできます。
    (Trac では、接続文字列は厳密に表記する必要があります。
    詳細は Trac のドキュメントを参照してください)

    データベース接続文字列 [sqlite:db/trac.db]>

    ここでは,データベースにPostgreSQLを使うので ‘postgres://USER:PASSWORD@localhost/PROJECT’ (USER,PASSWORD,PROJECTは上記DB作成時のもの に置き換える)と打ち込んでください.

    プロジェクトの生成と初期化
    デフォルトの Wiki ページのインストール
    TracImport を /usr/lib/python2.7/dist-packages/trac/wiki/default-pages/TracImport からインポートしました
    <中略>
    TracUnicode を /usr/lib/python2.7/dist-packages/trac/wiki/default-pages/TracUnicode からインポートしました


    Trac Environment ‘PROJECT’ ができました。

    今後、この環境の設定をする場合は、次のファイルを利用します:

    /path/to/projectenv/conf/trac.ini

    あなたがこの新しいプロジェクトのテストを考えているなら、
    スタンドアロンウェブサーバ `tracd` を試してみてください:

    tracd –port 8000 /path/to/projectenv

    それから、ブラウザで http://localhost:8000/projectenv にアクセスします。
    インストールしたバージョンに合わせた今後のセットアップ情報などが含まれた、
    ドキュメントが閲覧できます。(例えばウェブサーバで公開する手順など)

    最新のドキュメントは、プロジェクトのウェブサイトから入手できます:

    http://trac.edgewall.org/

    Congratulations!

Tracプロジェクトのテスト

  • コマンド

    # tracd –port 8000 /path/to/projectenv

  • ブラウザで確認
    http://localhost:8000/projectenv にアクセスします.

ディレクトリをウェブサーバユーザーで書き込めるようにする

  • コマンド

    # chown -R www-data /path/to/projectenv

Apache(WSGI)の設定

  • コマンド

    $ trac-admin /path/to/projectenv deploy /path/to/www/trac

    次の場所からリソースをコピー中です:
    trac.web.chrome.Chrome
    /usr/lib/python2.7/dist-packages/trac/htdocs
    /path/to/projectenv/htdocs
    スクリプトを作成しています。

    このコマンドで’/path/to/www/trac/cgi-bin’以下にスクリプトが作られます.

  • httpd.confの設定

    WSGIScriptAlias /trac /path/to/www/trac/cgi-bin/trac.wsgi

    <Directory /path/to/www/trac/cgi-bin>
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
    </Directory>

trac-gitの設定

プロジェクトごとにGitを使うか他のVCSを使うか決めたいので /path/to/projectenv/conf/trac.ini ファイルを編集します. 具体的には次の行を加えます.

[components]
tracext.git.* = enabled

Apache2のリスタート

変更後,サーバをリスタートします.

  • コマンド

    # /etc/init.d/apache2 restart

SNSでもご購読できます。