自宅でもtrac導入
hardyにアップグレードしたついでにtracも入れた。
svnは既に立ててあるのでtrac-admin実行時に指定してやるだけ。
sudo aptitude install trac sudo aptitude install libapache2-mod-fastcgi trac-admin /path/to/mytrac initenv chown www-data.www-data /path/to/mytrac/db sudo cp /usr/share/trac/cgi-bin/trac.fcgi /usr/lib/cgi-bin
tracのプロジェクトディレクトリとりあえず認識させるため、/etc/apache2/mod-available/fastcgi.conf に以下の設定追加。
<IfModule mod_fastcgi.c> AddHandler fastcgi-script .fcgi #FastCgiWrapper /usr/lib/apache2/suexec FastCgiIpcDir /var/lib/apache2/fastcgi FastCgiConfig -initial-env TRAC_ENV=/path/to/project/ </IfModule>
しかしこの設定だと複数プロジェクトにも対応できないし、第一設定として美しくない。あとで変える。
追記: いろいろ直して認証追加まで
上記の fastcgi.conf の設定はやはり必要なかった。
trac 用の設定は /etc/apache2/sites-available/trac だけにまとめて書く方がずっとスマートだ。
ScriptAlias /trac /usr/share/trac/cgi-bin/trac.fcgi <Location "/trac"> SetEnv TRAC_ENV_PARENT_DIR "/path/to/project/parent/dir" </Location> <LocationMatch "/trac/[^/]+/login"> AuthType Basic AuthName "Trac" AuthUserFile /path/to/trac.htpasswd Require valid-user </LocationMatch>
そして認証用の .htpasswd ファイルを作り設定を反映する
sudo htpasswd -c /path/to/trac.htpasswd sudo a2ensite trac sudo /etc/init.d/apache2 reload
これで .htpasswd に登録したユーザでログインできるようになる。
さらに追記: 認可を設定する
とりあえず自分は何でもできるようにし、ログインしていない人は見るだけにする。
sudo trac-admin trac/study permission add smotokezuru TRAC_ADMIN sudo trac-admin trac/study permission remove anonymous WIKI_CREATE sudo trac-admin trac/study permission remove anonymous WIKI_MODIFY sudo trac-admin trac/study permission remove anonymous TICKET_CREATE sudo trac-admin trac/study permission remove anonymous TICKET_MODIFY