trac


tracリポジトリ作成

リポジトリの追加はtracリポジトリを入れるためのフォルダを作成
sudo mkdir /var/lib/trac とか
サンプルリポジトリ用のフォルダ作成
sudo mkdir /var/lib/trac/SampleProject
ファイルの所有権を変更
sudo chown -R www-data:www-data /var/lib/trac/SampleProject
リポジトリ作成
sudo trac-admin /var/liv/trac/SampleProject initenv

質問があるので答える
このときタイプミスなどしてしまうとエラーになるのでミスったらフォルダ削除して最初からリトライ
成功!までできてたら/リポジトリ/conf/init.confを編集すれば大丈夫

データベースを使うならアドレスを記入
参考に乗っているやり方はSQLiteでのみOKな書き方なので注意
MySQLだと以下のように書く
mysql://trac_user:trac_pass@localhost/trac
trac:データベース名
trac_user:データベースのユーザー名
tracp_ass:ユーザーのパスワード参考

リポジトリの場所
svnリポジトリがある場所を答える
今回の場合は
/var/lib/svn/SampleProject

以上でリポジトリ作成完了


クライアントPCからリポジトリを見れるようにする

ubuntuでLANPサーバーをデフォルトでインストールした場合
設定ファイルは/etc/apache2/の中にある
基本的にhttpd.confに追加すればいい
ServerNameとかはapache2.confにあるかも

先ほど作成したSampleProjectについて記述する
sudo vi httpd.conf

以下追加
<Location /trac>
 SetHandler mod_python
 PythonHandler trac.web.modpython_frontend
 PythonOption TracUriRoot "/trac"
 PythonOption TracEnvParentDir /var/lib/trac
<Location>

追加したらapacheを再起動する
sudo /etc/init.d/apache2 restart

サーバー名がclilinだとしたら以下で追加したリポジトリが確認できるはず
ポートの設定をしているならば”サーバー名:ポート”とする
http://clilin/trac

Tracのロゴが表示されない

今回の場合/var/lib/trac/SampleProject/conf/trac.iniを編集する
[header_logo]
alt = ...
height = ...
link = ...
src = trac_banner.png ←この部分をこう修正
width = ...

認証

認証方式は2通り
BasicかDigest
BasicよりもDigestの方が安全性が高い
Basic認証はパスワードなどが平分でネットワークを流れてしまうが、
Digest認証は暗号化するため
この設定をしないとtracのページからログインをクリックしてもエラーが表示される

Digest認証方法
とりあえずテストリポジトリがあるフォルダにパスワードファイルを作成する
/var/lib/trac% sudo htdigest -c .htdigest AuthName username
AuthName:httpd.confにパスワード設定するのと同じ名前にする
username:パスワード設定したい人のID
コマンド実行するとパスワードが2度聞かれるので入力する
2度目以降は
sudo htdigest .htdigest AuthName username

/etc/apacch2/httpd.confを編集する
<LocationMatch "/trac/[^/]+/login">
 LoadModule auth_digest_module /usr/lib/apache2/modules/mod_auth_digest.so ←認証に必要なモジュールを読込む
 AuthType digest ←Basic認証だったらbasic
 AuthName AuthName ←先ほどパスワード登録したときの名前を入力
 AuthUserFile /var/lib/trac/.htdigest
 Require valid-user
</LocationMatch>


tracページからzipアーカイブでダウンロードすると文字化けする

以下のファイルを修正する
/usr/lib/python2.X/dist-packages/trac/versioncontrol/web/ui/changeset.py
修正箇所はzipinfo.filenameで検索して以下のように修正する
 zipinfo.filename = new_node.path.strip('/').encode('utf8')
 ↓
 zipinfo.filename = new_node.path.strip('/').encode('shift_jis')

最終更新:2014年07月29日 10:04
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。