TracLightningをインストールしたのでメモ(2) 最初の設定
TracLightningをインストールしたのでメモ - kanonjiの日記 の続きです。
TracLightningをインストールしたので、最初に行なった設定などをまとめます。
Subversionのアクセス権を変える
デフォルトの設定
[groups] [/] admin = rw * = rw guest = r
変更後の設定
[groups] developer = foo,bar,foobar [/] admin = rw guest = r @developer = rw
デフォルトでは「* = rw」とあるように、全てのユーザーにリード権限もライト権限(コミット可能)も与えています。
TracLightningでは、SVNリポジトリへのアクセスはDigest認証が必要なので、問題ないような気もしますが、例えばリード権限だけは一般公開するといった運用をする場合は、注意が必要です。
アスタリスク変数 (*) も特に注意しておく価値があります: それは匿名ユーザにマッチするような 唯一のパターン です。Locationブロックで匿名と認証されたアクセスの 組合せを許すように設定した場合、すべてのユーザは Apache に対して匿名で アクセスするところから話が始まります。 mod_authz_svn はアクセスするパスのために 定義された * の値を探します; みつからなければ Apache はクライアントに対して実際に認証要求を出します。
http://subversion.bluegate.org/doc/ch06s04.html#svn.serverconfig.httpd.authz.perdir
オライリーの「Subversionによるバージョン管理」という本のHTML版によると、どうやら認証が必要のないケースのある設定をした場合、アスタリスク変数(*)は認証を経ていない匿名ユーザも含めたものになると書いてあるように見えます。*2
うっかりミスを防ぐ為に、Subversion groupとしてdeveloperを作って、管理者が明示的に権限を与える形にしました。
なお、Subversion groupの[groups]セクションは、Tracの管理画面から設定できるようになっています。
なので、「* = rw」を「@developer = rw」に変えるだけで充分です。
Subversion groupを作る
TracLightningでは、TracとSubversionのユーザは一応統合されていますが、グループは別々に持っています。
前述の「developer」というSubversion groupはTracのグループとは別扱いです。*3
svnauthzを直接編集してもいいですが、Subversion groupの設定はTracの管理画面からもできます。
今回は前述の通り「developer」グループを作り、基本的にTracに開発者ユーザーを登録したら、管理者が「developer」グループに追加する事にしました。
注意点として、Tracの管理画面はTracプロジェクト毎に別個存在し、設定も別だったりしますが、Subversion groupの設定は全プロジェクトで共通です。
逆に、同じ画面にある権限の設定は、Tracプロジェクト毎に別個になっています。
svnauthzファイルで言うと[/SampleProject]の設定は出来ますが、[/]の設定は管理画面から出来ないようです。
初期ユーザーのパスワードを変更する
ユーザー | パスワード |
---|---|
admin | admin |
guest | guest |
leader | leader |
Tracプロジェクトを作成すると、初期では上記3つのユーザーが作られています。
Tracのユーザーはちょっと変わっていて、ユーザーがグループでもあります。*4
とあるプロジェクトの管理者が自分であれば、まずadminでログインし自分のアカウントを作成します。
そしてそのユーザーをadminグループに入れます。
同じように、自分が開発者のリーダーでもあるなら、leaderグループにも入れます。
これらはグループとして使っていてもユーザーでもあるので、いつまでもadmin/adminでログインが出来ると危ないです。
なのでパスワードを変えておきます。*5
SampleProjectはそのまま残しておく事に
SampleProjectで、色々と練習や実験をするのもいいですが、Tracのマニュアル的なWiki文章がサンプルとしておいてあります。
こういうのは消したりしないで取っておきたいので、SampleProjectに限りauthenticatedグループの権限を全部取り除きました。
まったく無くしてしまうと、authenticatedグループが見えなくなってしまうので、WIKI_VIEW権限だけ加えておきます。
なお、authenticatedグループというのは特殊なグループで、認証済みユーザー全てが含まれます。
Tracに登録してあるユーザー全てに権限をつけたりするのに使います。
逆に、ログインしていないアクセスは、anonymousグループの権限を使います。
anonymousグループからWIKI_VIEW権限を消すと、ログインしなければWikiを見れなくなります。
グローバル設定ファイルを編集する。
%TRAC_LIGHT_HOME%\python\share\trac\conf\trac.ini
[trac]セクションで文字コードを変更する。
default_charset = utf-8
Tracのリポジトリブラウザで、ソースコードを見る際、コメントなど日本語部分の文字化けを回避するものです。
svnリポジトリに格納するソースコードの文字コードを入力します。
web系が多く、基本的にutf-8で開発しているので、utf-8にしました。
プロジェクトによって異なる場合は、プロジェクト毎の設定ファイルに記述します。
[header_logo]セクションでロゴのリンク先を変更する。
link = http://localhost/
何故かデフォルトは「http://www.example.com/」になっていて、うっかりロゴをクリックするとイラっとします。
プロジェクトのホームに設定するには、プロジェクト毎の設定ファイルにそれぞれ記述しないとですが、せめてそのTracのホームに移動したいです。
URLは実際に自分のTracにアクセスするためのものを入力してください。