「Mac/開発環境/trac」の編集履歴(バックアップ)一覧はこちら
「Mac/開発環境/trac」(2009/06/01 (月) 04:12:09) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
* 先にGenshiは入れておく
[[Genshiのダウンロードページ>http://genshi.edgewall.org/wiki/Download]]をみてみると、現状Leopard版はi386しかありません。&br()
i386版で動かしても特に問題は無いようなのですが、Core2Duoなマシンの場合x86_64版を探しに行くのかTracのsetup.pyで途中でeggファイルが無いと言われてこけてしまいます。
で、Genshiは先に入れておくとそいつを使うので、Tracのsetup.pyを走らせる前に別途入れておきます。
[[GenshiのダウンロードページのSource Tarballsの所>http://genshi.edgewall.org/wiki/Download#SourceTarballs]]から適当な形式のファイルを取ってきます。&br()
今回、私はzipを取りましたが、たぶんtar.bz2の方が小さかったかも…
で、こいつを解凍してできたフォルダの中に入り、
python setup.py install
とすればOKです。
* Tracのインストール
Tracの日本語版は[[インタアクト株式会社さんの公開資料(Trac)>http://www.i-act.co.jp/project/products/products.html]]の一番下のダウンロードの所から落としてきました。
こいつを解凍して中に入り、
./setup.py install
とすれば入ります。Tracを入れた後にGenshiを探し出して落ちるのですが、とりあえずTracが入れ終わっていればOKぽいです。
* trac環境の作成
apacheのfast_cgiやmod_pythonで動かす場合、tracの環境ディレクトリはwwwユーザが扱えないといけません。&br()
なので、trac環境ディレクトリのオーナーはwwwユーザにします。
まずは、tracの環境フォルダの作成。ここでは/var/tracroot以下に作成する事とします。以下適宜読み替えてください。&br()
これもLeopardからは/homeが使えないので要注意です。
sudo mkdir /var/tracroot
cd /var/tracroot
sudo chown www:www .
後は、プロジェクトごとにwwwユーザでtracroot内にtrac環境を作ればOKです。&br()
<プロジェクト名>となっているところは適宜読み替えてください。&br()
今回毎回sudoでwwwになってますが、suでwwwになって作業をして行った方が楽かもしれません。
sudo -u www mkdir <プロジェクト名>
sudo -u www trac-admin <プロジェクト名> initenv
trac環境作成用の対話UIが起動します。&br()
質問に答えて行くだけで、デフォルトままで良いところは何も入れずにreturnでかまいません。&br()
以下> までが質問、その後ろに入力内容を記述して行きます。
Project Name [My Project]> <プロジェクト名>
<プロジェクト名>は適宜指定してください。
Database connection string [sqlite:db/trac.db]>
Repository type [svn]>
この2つは基本的にデフォルトままでかまいません。&br()
svn以外に対応するのはいつになるんでしょうねー…
Path to repository [/path/to/repos]> /var/svnroot/<プロジェクト名>
これはsvnリポジトリへのパスを指定します。/var/svnroot/以下にプロジェクト名でリポジトリを作成している場合はこうですが、適宜読み替えてください。
以上で設定が終わり、いろいろと読み込みやら何やらが走って環境が作成されます。
ここで一度
sudo -u www tracd -p 8080 -e /var/tracroot
として動作を確認した方が良いでしょう。
* apacheの設定
tracdで動かしても良いのですが、せっかくなのでapacheをかます事にしました。&br()
細かいアクセス制御やsslなどはapacheをかませた方がやりやすいです。が、tracdで動かすのが一番高速らしいので、LAN内のみで使う分にはtracdで良いかもしれません。
apacheと連携させる動かし方としては、早い方からmod_python, fast_cgi, cgiとなるようです。&br()
それぞれtrac環境以下のwiki/TracModPython、wiki/TracFastCgi、wiki/TracCgiに説明があるので、tracdで起動してマニュアルを読みつつ進めると良いかもしれません。
** fast_cgiで動かす場合
可能ならmod_pythonで行きたいのですが、mod_pythonがデフォルトではi386でビルドされてしまうため、ちょっとハマるようです。&br()
ですので、まずはfast_cgiで動かします。
apacheにはmod_fcgiとmod_fastcgiの2種類があるそうなのですが、mod_fastcgiはLoepardにもとから入ってるのでこれを使います。
*** trac.confの記述
Mac os Xデフォルトのapacheの設定では/etc/apache2/other/配下の*.confが自動で取り込まれるので、ここにtrac.confを作成します。
sudo vi /etc/apache2/other/trac.conf
内容は以下の通り
<IfModule mod_fastcgi.c>
AddHandler fastcgi-script .fcgi
</IfModule>
LoadModule fastcgi_module libexec/apache2/mod_fastcgi.so
<Directory "/usr/local/Trac-0.11.4.ja1/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /trac /usr/local/Trac-0.11.4.ja1/cgi-bin/trac.fcgi
<Location "/trac">
SetEnv TRAC_ENV_PARENT_DIR "/var/tracroot"
</Location>
<LocationMatch "/trac/[^/]+/login">
AuthType Digest
AuthName "develop"
AuthDigestDomain /trac
AuthUserFile /var/svnroot/passwd
Require valid-user
</LocationMatch>
DirectoryディレクティブやScriptAliasのパスは適宜入れたTracのパスに、&br()
Locationディレクティブの中のTRAC_ENV_PARENT_DIRはtrac環境をたてたディレクトリに、&br()
LocationMatchディレクティブの中のAuthUserFileは認証用のpasswdファイルのパスに、それぞれ読み替えてください。
*** eggキャッシュディレクトリの作成
これでapacheの設定ができました。ここで起動してみます。&br()
apacheの起動はシステム環境設定の「共有」でweb共有のチェックを入れる(入れ直す)のが楽です。&br()
apacheは起動するのですが、http://localhost/tracにアクセスするとエラーが発生します。&br()
ただ、pythonのエラーが出るようになるので、ここから先はエラーの内容を見ながら直して行くのが楽です。&br()
ここから先は、基本的に問題に対応した後apacheを再起動しなくてもリロードすれば解消します。
さて、エラーの内容を見てみると、/Library/WebServer/.python-eggsにeggファイルを展開したいのに書き込めないようです。&br()
なので、この.python-eggsを作ります。
sudo mkdir /Library/WebServer/.python-eggs
sudo chown www:www /Library/WebServer/.python-eggs
これで動くようになりました。
* 先にGenshiは入れておく
[[Genshiのダウンロードページ>http://genshi.edgewall.org/wiki/Download]]をみてみると、現状Leopard版はi386しかありません。&br()
i386版で動かしても特に問題は無いようなのですが、Core2Duoなマシンの場合x86_64版を探しに行くのかTracのsetup.pyで途中でeggファイルが無いと言われてこけてしまいます。
で、Genshiは先に入れておくとそいつを使うので、Tracのsetup.pyを走らせる前に別途入れておきます。
[[GenshiのダウンロードページのSource Tarballsの所>http://genshi.edgewall.org/wiki/Download#SourceTarballs]]から適当な形式のファイルを取ってきます。&br()
今回、私はzipを取りましたが、たぶんtar.bz2の方が小さかったかも…
で、こいつを解凍してできたフォルダの中に入り、
python setup.py install
とすればOKです。
* Tracのインストール
Tracの日本語版は[[インタアクト株式会社さんの公開資料(Trac)>http://www.i-act.co.jp/project/products/products.html]]の一番下のダウンロードの所から落としてきました。
こいつを解凍して中に入り、
./setup.py install
とすれば入ります。Tracを入れた後にGenshiを探し出して落ちるのですが、とりあえずTracが入れ終わっていればOKぽいです。
* trac環境の作成
apacheのfast_cgiやmod_pythonで動かす場合、tracの環境ディレクトリはwwwユーザが扱えないといけません。&br()
なので、trac環境ディレクトリのオーナーはwwwユーザにします。
まずは、tracの環境フォルダの作成。ここでは/var/tracroot以下に作成する事とします。以下適宜読み替えてください。&br()
これもLeopardからは/homeが使えないので要注意です。
sudo mkdir /var/tracroot
cd /var/tracroot
sudo chown www:www .
後は、プロジェクトごとにwwwユーザでtracroot内にtrac環境を作ればOKです。&br()
「<プロジェクト用ディレクトリ>」となっているところは適宜読み替えてください。&br()
今回毎回sudoでwwwになってますが、suでwwwになって作業をして行った方が楽かもしれません。
sudo -u www mkdir <プロジェクト用ディレクトリ>
sudo -u www trac-admin <プロジェクト用ディレクトリ> initenv
trac環境作成用の対話UIが起動します。&br()
質問に答えて行くだけで、デフォルトままで良いところは何も入れずにreturnでかまいません。&br()
以下> までが質問、その後ろに入力内容を記述して行きます。
Project Name [My Project]> <プロジェクト名>
「<プロジェクト名>」は適宜指定してください。
Database connection string [sqlite:db/trac.db]>
Repository type [svn]>
この2つは基本的にデフォルトままでかまいません。&br()
svn以外に対応するのはいつになるんでしょうねー…
Path to repository [/path/to/repos]> <svnリポジトリのパス>
これはsvnリポジトリへのパスを指定します。適宜読み替えてください。
以上で設定が終わり、いろいろと読み込みやら何やらが走って環境が作成されます。
ここで一度
sudo -u www tracd -p 8080 -e /var/tracroot
として動作を確認した方が良いでしょう。
* apacheの設定
tracdで動かしても良いのですが、せっかくなのでapacheをかます事にしました。&br()
細かいアクセス制御やsslなどはapacheをかませた方がやりやすいです。が、tracdで動かすのが一番高速らしいので、LAN内のみで使う分にはtracdで良いかもしれません。
apacheと連携させる動かし方としては、早い方からmod_python, fast_cgi, cgiとなるようです。&br()
それぞれtrac環境以下のwiki/TracModPython、wiki/TracFastCgi、wiki/TracCgiに説明があるので、tracdで起動してマニュアルを読みつつ進めると良いかもしれません。
** fast_cgiで動かす場合
可能ならmod_pythonで行きたいのですが、mod_pythonがデフォルトではi386でビルドされてしまうため、ちょっとハマるようです。&br()
ですので、まずはfast_cgiで動かします。
apacheにはmod_fcgiとmod_fastcgiの2種類があるそうなのですが、mod_fastcgiはLoepardにもとから入ってるのでこれを使います。
*** trac.confの記述
Mac os Xデフォルトのapacheの設定では/etc/apache2/other/配下の*.confが自動で取り込まれるので、ここにtrac.confを作成します。
sudo vi /etc/apache2/other/trac.conf
内容は以下の通り
<IfModule mod_fastcgi.c>
AddHandler fastcgi-script .fcgi
</IfModule>
LoadModule fastcgi_module libexec/apache2/mod_fastcgi.so
<Directory "/usr/local/Trac-0.11.4.ja1/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /trac /usr/local/Trac-0.11.4.ja1/cgi-bin/trac.fcgi
<Location "/trac">
SetEnv TRAC_ENV_PARENT_DIR "/var/tracroot"
</Location>
<LocationMatch "/trac/[^/]+/login">
AuthType Digest
AuthName "develop"
AuthDigestDomain /trac
AuthUserFile /var/svnroot/passwd
Require valid-user
</LocationMatch>
DirectoryディレクティブやScriptAliasのパスは適宜入れたTracのパスに、&br()
Locationディレクティブの中のTRAC_ENV_PARENT_DIRはtrac環境をたてたディレクトリに、&br()
LocationMatchディレクティブの中のAuthUserFileは認証用のpasswdファイルのパスに、それぞれ読み替えてください。
*** eggキャッシュディレクトリの作成
これでapacheの設定ができました。ここで起動してみます。&br()
apacheの起動はシステム環境設定の「共有」でweb共有のチェックを入れる(入れ直す)のが楽です。&br()
apacheは起動するのですが、http://localhost/tracにアクセスするとエラーが発生します。&br()
ただ、pythonのエラーが出るようになるので、ここから先はエラーの内容を見ながら直して行くのが楽です。&br()
ここから先は、基本的に問題に対応した後apacheを再起動しなくてもリロードすれば解消します。
さて、エラーの内容を見てみると、/Library/WebServer/.python-eggsにeggファイルを展開したいのに書き込めないようです。&br()
なので、この.python-eggsを作ります。
sudo mkdir /Library/WebServer/.python-eggs
sudo chown www:www /Library/WebServer/.python-eggs
これで動くようになりました。
表示オプション
横に並べて表示:
変化行の前後のみ表示: