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
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