Snow Leopard に Trac をインストール

自宅で開発をするための準備として Snow Leopard @ Mac miniTrac をインストールしたときのメモ。Tiger のときにもインストールして遊んでみたけど、そのときはもっと結構苦労した記憶が...

環境

MacPorts からインストール

本家サイトを見ると、MacPortsを使ってインストールできるみたいなので、それを使うことに。

コマンド3行くらいでインストールできるみたい。

sudo port install apache2
sudo port install subversion +mod_dav_svn
sudo port install trac

事前に Java Developer Package をインストールする必要があった

ところがいきなりApacheのインストールでエラーが出て躓く。

Error: db46 requires the Java for Mac OS X development headers.Error: Download the Java Developer Package from: <https://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=20719>

エラーメッセージのリンクは切れているけど、Java Developer Packageをインストールする必要があるみたいなので、ADCから、"Java for Mac OS X 10.6 Update 3 Developer Package" をダウンロードしてインストール。

インストール完了

最終的にインストールされたのは次のバージョン

Installing apache2 @2.2.17_0+preforkmpm
Installing subversion @1.6.13_0+mod_dav_svn
Installing trac @0.12.1_0

Apacheの設定

80番ポートで動かす前に、Web共有が動いていたら、停止させておく。

httpd.conf の設定。

# for Subversion
LoadModule dav_svn_module modules/mod_dav_svn.so
# for Trac
LoadModule python_module modules/mod_python.so

起動時の自動実行が行われるように設定する

sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist

手動で起動/終了させるときのコマンドは次の通り。

Apacheの起動コマンド
sudo launchctl start org.macports.apache2

もしくは

sudo /opt/local/apache2/bin/apachectl start
Apacheの終了コマンド
sudo launchctl stop org.macports.apache2

もしくは

sudo /opt/local/apache2/bin/apachectl stop

Apache の実行ユーザは _www になるみたいなので、動いているかどうかは次のコマンドで確認できる。

ps -Au | grep www

Tracの設定

"sandbox" というプロジェクトを管理者 "cloudliner" で作成する場合。
Trac の初期化。

trac-admin /Trac/sandbox initenv

パーミッション設定。

sudo chown -R _www:admin /Trac/

ユーザを追加。

htpasswd users cloudliner

SVNリポジトリを追加。

trac-admin /Trac/sandbox repository add sandbox /Subvresion/sandbox

自分の管理者権限を追加する。

trac-admin /Trac/sandbox permission add cloudliner TRAC_ADMIN

本家サイトの情報を参考にして httpd.conf にVirtualHostの設定をする。

<VirtualHost *>
  DocumentRoot "/Trac"

  <Directory "/Trac">
    Order allow,deny
    Allow from all
  </Directory>

  <Location /svn>
    DAV svn
    SVNParentPath /Subversion
    AuthType Basic
    AuthName "trac"
    AuthUserFile "/opt/local/etc/users"
    Require valid-user
  </Location>

  <Location /trac>
    SetHandler mod_python
    PythonInterpreter main_interpreter
    PythonHandler trac.web.modpython_frontend
    PythonOption TracUriRoot "/trac"
    PythonOption TracEnvParentDir "/Trac"
  </Location>

  <LocationMatch /trac/[[:alnum:]]+/login>
    AuthType Basic
    AuthName "trac"
    AuthUserFile "/opt/local/etc/users"
    Require valid-user
  </LocationMatch>
</VirtualHost>

動いた!


0.12 は多言語対応しているので日本語で表示される。
ここからプラグインを追加していくのが面倒くさいけど...

補足

trac-admin を実行すると、パーミッションが変わってしまって、Tracが動かなくなってしまった。

そのときに「trac-admin /Trac/sandbox upgrade を実行してください」というメッセージが表示されるが、それではうまくいかないのでパーミンションを再設定する。

sudo chown -R _www:admin /Trac/

trac-admin は _www ユーザで実行するといいみたい。

sudo -u _www trac-admin /Trac/sandbox


入門Trac第2版―Linux/Windows対応

入門Trac第2版―Linux/Windows対応