- http://blog.clouder.jp/archives/000734.html
- http://www.hazama.nu/t2o2/archives/002700.shtml
- http://d.hatena.ne.jp/torutk/20080614/p1
- http://blog.mufu.jp/2009/01/tracsvn.html
- apache
- subversionをhttp経由で使う場合は--enable-davしとく
- python
./configure --prefix=/usr/local/python-2.6.2 make make install ln -s /usr/local/python-2.6.2 /usr/local/python
2.4以上?2.6出てるからそれでもいいか。
モジュールとか
- setuptools
- http://peak.telecommunity.com/dist/ez_setup.py
- tracに直接関係ないけど。easy_install可能にするため。
- docutils
- pysqlite
- Genshi
- templateエンジン?trac 0.11からこれになったらしい。
- trac 0.10まではclearsilver。
- egenix-mx-base
- http://www.egenix.com/products/python/mxBase/
- DateTimeとかで
- pyPgSQL
subversion
install時にpythonのpathを指定するぐらいで後は普通に。
subversion-deps取ってきたら依存関係解消するの楽チンなので。
あと、installしたpython 2.6を指定したかったのでconfigureで環境変数指定。
cd /usr/local/src/ wget http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gz tar xzf subversion-1.6.6.tar.gz wget http://subversion.tigris.org/downloads/subversion-deps-1.6.6.tar.gz tar xzf subversion-deps-1.6.6.tar.gz ### ./subversion-1.6.6 以下に依存するものが入る cd subversion-1.6.6 ./configure PYTHON=/usr/local/python-2.6.2/bin/python \ --prefix=/usr/local/subversion-1.6.6 \ --with-swig=/usr/bin/swig \ --with-apxs=/usr/local/apache2/bin/apxs \ --without-berkeley-db make make install ln -s /usr/local/subversion-1.6.6 /usr/local/subversion
- python binding install
## 上のsubversionのソースディレクトリのまま make swig-py make install-swig-py
- pythonライブラリ用のpathを通す
echo /usr/local/subversion/lib/svn-python > \ /usr/local/python/lib/python2.6/site-packages/subversion.pth
mod_python
CentOS 5.4だとflexのバージョン低すぎたのでソースで入れる。
./configure && make && make install
ソース修正
makeでこけるからソース修正する必要あり
src/conobject.cの142行目付近
- !(b == APR_BRIGADE_SENTINEL(b) || + !(b == APR_BRIGADE_SENTINEL(bb) ||
./configure \ --with-apxs=/usr/local/apache-2.2.14/bin/apxs \ --with-python=/usr/local/python-2.6.2/bin/python \ --with-flex=/usr/local/bin/flex make && make install
- httpd.conf修正
LoadModule python_module modules/mod_python.so
Trac
日本語版で。
wget http://www.i-act.co.jp/project/products/downloads/Trac-0.11.5.ja1.zip unzip Trac-0.11.5.ja1.zip cd Trac-0.11.5.ja1 /usr/local/bin/python setup.py build /usr/local/bin/python setup.py install ## trac管理用のコマンドはpythonのディレクトリにinstallされるのでsymlink ln -s /usr/local/python/bin/trac* /usr/local/bin/ ## tracのファイル一式がpythonライブラリの中にinstallされて探しにくいのでsymlink ln -s /usr/local/lib/python2.6/site-packages/Trac-0.11.5.ja1-py2.6.egg/trac/ /usr/local/trac
Tracのplugin install
webからユーザ追加できるようにする。
- WebAdmin
### trac 0.11からcoreに統合されたので不要
$ svn export http://svn.edgewall.org/repos/trac/plugins/0.10/webadmin $ cd webadmin $ /usr/local/bin/python setup.py build $ /usr/local/bin/python setup.py install
- AccountManagerPlugin
webからbasic/digest認証ファイルを編集するplugin?
でもユーザ追加しようとしたら、internal server errorで失敗した。
ぐぐったら不具合があるのでソース編集する必要があるらしいのでeasy_installじゃなくて、リポジトリから取ってくる。
TracError instance has no attribute 'acctmgr' on new user creation
$ svn co http://trac-hacks.org/svn/accountmanagerplugin/0.11 accountmanagerplugin $ cd accountmanagerplugin/ $ vi acct_mgr/admin.py $ vi acct_mgr/web_ui.py ## 以下のdiffを参考にそれぞれ1箇所ずつ修正 $ $ diff -u admin.py.org admin.py --- admin.py.org 2009-12-28 13:43:07.000000000 +0900 +++ admin.py 2009-12-28 17:21:00.000000000 +0900 @@ -185,7 +185,7 @@ _create_user(req, self.env, check_permissions=False) except TracError, e: data['registration_error'] = e.message - data['acctmgr'] = e.acctmgr + data['acctmgr'] = getattr(e, 'acctmgr', '') else: data['registration_error'] = 'The password store does ' \ 'not support creating users' $ diff -u web_ui.py.org web_ui.py --- web_ui.py.org 2009-12-28 13:43:07.000000000 +0900 +++ web_ui.py 2009-12-28 17:21:09.000000000 +0900 @@ -70,7 +70,7 @@ try: mgr.set_password(user, password) except TracError, e: - e.acctmge = acctmgr + e.acctmgr = acctmgr raise e db = env.get_db_cnx() $ /usr/local/bin/python setup.py build $ /usr/local/bin/python setup.py install
- AuthzWebadminPlugin
webからsubversionの認証ファイル編集するplugin
$ svn co http://trac-hacks.org/svn/authzwebadminplugin $ cd authzwebadminplugin/0.9 $ /usr/local/bin/python setup.py build $ /usr/local/bin/python setup.py install
installしてもplugin一覧に反映されないぞ???
もしかしてtrac0.9までしか対応してないのかな。
こっちでやってみる。SvnAuthzAdminPlugin
=> できた
webのメニューから追加できる。
ただし自由に編集はできないぽい?。
グループメンバの追加とか。
adminでログインしてても自分以外のユーザをグループに追加できなかっり。。
# ちゃんとは確認してない
svn co http://trac-hacks.org/svn/svnauthzadminplugin/ cd svnauthzadminplugin/0.11 /usr/local/bin/python setup.py build /usr/local/bin/python setup.py install
- trac.ini
[components] svnauthz.* = enabled [svnauthzadmin] show_all_repos = true
こんなんもあった。
こちらはauthzファイルを普通に編集する感じ。
なので自由に編集可能。
当然、メニューによる案内がないので全部自分で編集する必要あり。
ちなみに、↑のpluginとは共存できないもよう。
easy_install https://svn.geophysik.uni-muenchen.de/svn/tracmods/tracsvnauthzplugin/0.11 # or svn co https://svn.geophysik.uni-muenchen.de/svn/tracmods/tracsvnauthzplugin/0.11 cd 0.11 /usr/local/bin/python setup.py build /usr/local/bin/python setup.py install
- trac.in
[components] svnauthz.svnauthz.svnauthzplugin = enabled [trac] authz_file = /opt/svn/.authz