tracでソースコードの色つけと権限設定

SilverCityのインストール

ソースコードを色付けするためのツール.fedora core 6で.yumに関しては自分のところで足りなかった分.インストールでエラーがでる場合,追加するとよいかも

$ yum install gcc gcc-c++ python-devel
$ wget http://downloads.sourceforge.net/silvercity/SilverCity-0.9.7.tar.gz
$ cd SilverCity-0.9.7
$ python setup.py install

pythonはアプリケーションのインストール方法がいつでも同じで,わかりやすい.アーカイブが一人歩きしてもインストールできるし.WSGIといった仕組みもいい感じ

PHPのソースを色つきで表示するならtrac.iniを書き換える必要あり.enscript_modesとmime_mapにPHP関連の記述を足す

[mimeviewer]
enscript_modes = text/x-dylan:dylan:4, text/x-php:php:4
enscript_path = /usr/bin/enscript
max_preview_size = 262144
mime_map = text/x-dylan:dylan,text/x-idl:ice,text/x-ada:ads:adb, text/x-php:php
php_path = /usr/bin/php
silvercity_modes =
tab_width = 4

権限の設定

認証自体はふつうにbasic認証で.権限を設定するためにtrac-adminコマンドを使う.trac立てれば,wikiに説明がある

認証設定に関するオプションはこんな感じ

permission list [user]
        -- List permission rules

permission add <user> <action> [action] [...]
        -- Add a new permission rule

permission remove <user> <action> [action] [...]
        -- Remove permission rule

tracの権限はパーミッションをグループ化できるので,グループを作って,その単位で権限付与するといい感じ.developerというグループを作って・そのグループに権限を付与して・ユーザにさらにそのグループを付与するという手順になる.ここではdeveloperというWikiの削除権限があるグループを作成した(あまり意味無いけど)

$ trac-admin /var/trac/project permission add developer WIKI_DELETE
$ trac-admin /var/trac/project permission add lapis25 developer
  • anonymousグループはログインしている人も,していない人も含めたすべての人
  • だから先ほど作ったdeveloperというグループはanonymousグループの持っているすべての権限を持っている
  • またログインした人というグループもあり,それはauthenticatedという名前でanonymousグループのすべての権限を持っていて,さらに権限を追加することもできる
  • anonymousグループの権限が強いので,そのまま使うのならほかのグループを作る意味はあまりないような気もする