= さくらインターネットにTracを構築する(Trac0.11b1, Trac0.11rc1) = さくらインターネットにTrac0.11-beta1をインストールします。このサイトでは0.10がすでに動いていますので、これを壊さないようにやってみます。 追記(2008/5/1):Trac0.11rc1のインストール方法は、[http://weekbuild.sakura.ne.jp/trac/tblog/author/hirobe/id/221 これ]を参照。 == 0. まず注意。 == 使いたいプラグインがTrac0.11-beta1に対応しているか確認してください。Trac0.11はいまだ開発中のため、内部の仕様が変化しています。0.11に対応していると書いてあるプラグインでも、Trac0.11-beta1で動くとは限りません。ローカルで環境を作って、実際に動かしてみるのをお勧めします。 以降、Trac0.11-beta1をTrac0.11と記載します。 == 1.環境変数とか == ~/.cshrcに以下を記載します。以降、$TRAC011HOME(=~/trac011)をインストール先として扱います。[[BR]]なお、以下の変数として既に別の値を設定している場合は、自分の環境に合わせて適切に設定してください。Tracの過去のバージョンを入れている場合は、ぶつからないように前のバージョン用の値は削ったほうがよいでしょう。 {{{ setenv TRAC011HOME $HOME/trac011 setenv PYTHONPATH $TRAC011HOME/py-lib:$TRAC011HOME/lib/svn-python:$TRAC011HOME/lib/python2.4/site-packages setenv LD_LIBRARY_PATH $TRAC011HOME/lib:/usr/local/lib set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin $TRAC011HOME/bin) }}} 以下の環境変数をセットしています。 ||TRAC011HOME||$HOME/trac011|||| ||PYTHONPATH||$TRAC011HOME/py-lib[[BR]]$TRAC011HOME/lib/svn-python[[BR]]$TRAC011HOME/lib/python2.4/site-packages|||| ||LD_LIBRARY_PATH||$TRAC011HOME/lib[[BR]]/usr/local/lib|||| ||PATH(追加)||$TRAC011HOME/bin|||| 環境変数を反映させるために、 '''一度シェルを終了してログインしなおしてください。''' envコマンドを打って、正しく環境変数が反映されていることを確認してください。 必要なフォルダを作ります。 {{{ cd ~ mkdir $TRAC011HOME mkdir $TRAC011HOME/src mkdir $TRAC011HOME/py-lib mkdir $TRAC011HOME/bin }}} [[BR]] == 2.Subversion関係 == * [http://subversion.tigris.org/downloads/subversion-1.4.6.tar.gz subversion-1.4.6.tar.gz] * [http://subversion.tigris.org/downloads/subversion-deps-1.4.6.tar.gz subversion-deps-1.4.6.tar.gz] ダウンロード。depsは、subversionが依存するパッケージらしい。zip版にはconfigureが含まれないので注意。あと、 http://trac.edgewall.org/wiki/TracSubversion によると、swigはsubversionにバンドルされているらしい。まとめてインストールする。[[BR]] configureするときに以下にあるようにオプション(--with-ssl -with-zlib --enable-shared --enable-static)を指定しないと、 あとでPythonから使うときにエラーが起きるので注意(参考:[http://d.hatena.ne.jp/yach/20071118 やっとむでぽん]) {{{ cd $TRAC011HOME/src wget http://subversion.tigris.org/downloads/subversion-1.4.6.tar.gz wget http://subversion.tigris.org/downloads/subversion-deps-1.4.6.tar.gz gunzip subversion-1.4.6.tar.gz tar xvf subversion-1.4.6.tar gunzip subversion-deps-1.4.6.tar.gz tar xvf subversion-deps-1.4.6.tar cd subversion-1.4.6 ./configure --with-ssl -with-zlib --enable-shared --enable-static --prefix=$TRAC011HOME make clean make clean-swig-py make make install make swig-py make install-swig-py }}} [[BR]]swigはインストールフォルダ($TRAC011HOME)配下のlib/svn-python-svnにインストールされる。これはPYTHONPATHに加えること。(今回の例ではすでに.cshrcに記載してある) テスト {{{ %cd %python Python 2.4.3 (#2, Nov  7 2006, 13:07:47) [GCC 3.4.4 [FreeBSD] 20050518] on freebsd6 Type "help", "copyright", "credits" or "license" for more information. >>> from svn import fs, repos, core, delta >>> }}} == 3. Sqlite3とpysqlite == 2007/1/3現在、さくらにはsqlite3がすでにインストールされてるみたい。(バージョンは3.3.17)。なので、Sqlite3はインストールせずにpysqliteのみをインストールします。 {{{ cd $TRAC011HOME/src wget http://initd.org/pub/software/pysqlite/releases/2.4/2.4.0/pysqlite-2.4.0.tar.gz gunzip pysqlite-2.4.0.tar.gz tar xvf pysqlite-2.4.0.tar cd pysqlite-2.4.0 }}} このままビルドするとエラーになってしまいます。[[BR]]pysqlite-2.4.0/setup.cfgを以下のように書き換えます。 {{{ [build_ext] define= include_dirs=/usr/local/include library_dirs=/usr/local/lib libraries=sqlite3 }}} その後、 {{{ python setup.py build python setup.py install --prefix=$TRAC011HOME }}} インストール中にpy25tests.pyでエラーが出ているけど、まあとりあえず気にせずに。[[BR]]ちなみに、pysqliteは$TRAC011HOME/lib/python2.4/site-packages/pysqlite2 にインストールされます。[[BR]]インストールが終わったらテスト。(以下はプロンプト付きで記載しています) {{{ %cd %python Python 2.4.3 (#2, Nov  7 2006, 13:07:47) [GCC 3.4.4 [FreeBSD] 20050518] on freebsd6 Type "help", "copyright", "credits" or "license" for more information. >>> from pysqlite2 import test >>> test.test() (省略) OK >>> }}} == 4.EasyInstallの準備 == EasyInstallを使えるようにします。 さくらインターネットでは、Admin権限はもらえませんので、自分のホームにインストールされるように設定を変更します。EasyInstallのサイトによると、いくつか方法があるようですが、今回は「 [http://peak.telecommunity.com/DevCenter/EasyInstall#id29 "Traditional" PYTHONPATH-based Installation] 」で行きます。 以下の内容の~/ `.pydistutils.cfg` ファイルを作成します。 {{{ [install] install_lib = $TRAC011HOME/py-lib install_scripts = $TRAC011HOME/bin }}} '''念のため、ここで一度シェルを終了してログインしなおしてください。''' $TRAC011HOME/py-libがPYTHONPATHに含まれていますか?envコマンドで確認しておいてください。 {{{ cd $TRAC011HOME/src wget http://peak.telecommunity.com/dist/ez_setup.py chmod 744 ez_setup.py python ez_setup.py }}} == 5. Tracとかのインストール == ここまで来たら、あとはeasy_installを使って必要なものをインストールします。 {{{ easy_install Pygments easy_install Genshi easy_install Trac }}} 注意:現時点では、以下のバージョンがインストールされました。時期によって変わるでしょう。 ||Pygments||Pygments 0.9|| ||Genshi||Genshi 0.4.4|| ||Trac||Trac 0.11b1|| == 6. 動くまでの設定 == {{{ }}} === (1) subversionのリポジトリを作成 === {{{ mkdir -p $TRAC011HOME/var/svn svnadmin create --fs-type=fsfs $TRAC011HOME/var/svn/repo }}} リポジトリ内にフォルダを作る。 {{{ mkdir $TRAC011HOME/tmp cd $TRAC011HOME/tmp mkdir proj cd proj mkdir trunk branches tags cd .. svn import proj file:///$TRAC011HOME/var/svn/repo -m "Import First" rm -r proj }}} これで、リポジトリへのフォルダの作成はできた。 === (2) trac の環境を設定 === {{{ mkdir -p $TRAC011HOME/var/trac trac-admin $TRAC011HOME/var/trac/repo initenv }}} リポジトリフォルダは~とか使わずに/home/XXXという形で全部入力すること。 === (3) trac.cgiの作成 === trac.cgiが見つからないので、Edgewallのサイトからダウンロードします。[[BR]] [None trac-0.11b1用のもの] をダウンロードして、trac011_.cgiというファイル名で$HOME/www/にFTPで置きます。 おいたら、パーミッションを変更します。 {{{ cd $HOME/www chmod 755 trac011_.cgi }}} trac011.cgiを作ります。XXXはユーザフォルダに置き換えること。 {{{ #!/bin/sh TRAC011HOME=/home/XXX/trac011;export TRAC011 LD_LIBRARY_PATH=$TRAC011HOME/lib:/usr/local/lib;export LD_LIBRARY_PATH TRAC_ENV=$TRAC011HOME/var/trac/repo;export TRAC_ENV PYTHONPATH=$TRAC011HOME/py-lib:$TRAC011HOME/lib/python2.4/site-packages:$TRAC011HOME/lib/svn-python;export PYTHONPATH /usr/local/bin/python /home/XXX/www/trac011_.cgi }}} AccountManagerプラグイン {{{ easy_install http://trac-hacks.org/svn/accountmanagerplugin/trunk }}} 失敗した。 === Trac0.11 ja1 === {{{ %cd src %wget http://www.i-act.co.jp/project/products/downloads/Trac-0.11.ja1.zip --18:44:40-- http://www.i-act.co.jp/project/products/downloads/Trac-0.11.ja1.zip => `Trac-0.11.ja1.zip' Resolving www.i-act.co.jp... 221.186.147.250 Connecting to www.i-act.co.jp|221.186.147.250|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 955,241 (933K) [application/zip] 100%[==============================================>] 955,241 5.80M/s 18:44:41 (5.80 MB/s) - `Trac-0.11.ja1.zip' saved [955241/955241] %unzip Trac-0.11.ja1.zip Archive: Trac-0.11.ja1.zip creating: Trac-0.11.ja1/ (省略) inflating: Trac-0.11.ja1/wiki-macros/README %easy_install Trac-0.11.ja1 Processing Trac-0.11.ja1 Running setup.py -q bdist_egg --dist-dir /home/hoge/trac011/src/Trac-0.11.ja1/egg-dist-tmp-HzS9Z3 Removing Trac 0.11rc1 from easy-install.pth file Adding Trac 0.11.ja1 to easy-install.pth file Installing trac-admin script to /home/hoge/trac011/bin Installing tracd script to /home/hoge/trac011/bin Installed /home/hoge/trac011/py-lib/Trac-0.11.ja1-py2.4.egg Processing dependencies for Trac==0.11.ja1 Searching for Genshi>=0.5 Reading http://pypi.python.org/simple/Genshi/ Reading http://genshi.edgewall.org/ Reading http://genshi.edgewall.org/wiki/Download Best match: Genshi 0.5.1 Downloading http://ftp.edgewall.com/pub/genshi/Genshi-0.5.1.zip Processing Genshi-0.5.1.zip Running Genshi-0.5.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-3VKOJU/Genshi-0.5.1/egg-dist-tmp-llinYD warning: no previously-included files found matching 'doc/2000ft.graffle' warning: no previously-included files matching '*' found under directory 'doc/logo.lineform' Removing Genshi 0.4.4 from easy-install.pth file Adding Genshi 0.5.1 to easy-install.pth file Installed /home/hoge/trac011/py-lib/Genshi-0.5.1-py2.4-freebsd-6.1-RELEASE-p23-i386.egg Finished processing dependencies for Trac==0.11.ja1 % }}}