1 | | {{{ |
2 | | #!html |
3 | | <h1 id="さくらインターネットにTracを構築する ">さくらインターネットにTracを構築する </h1> <h2 id="1.説明">1.説明</h2> さくらインターネットにTracを構築します。ライトプランだとTelnetが使えないので、スタンダードプラン以上が必要です。<br /> 今回の例では、~/local/配下に構築します。svnのリポジトリは~/var/svn/repo、TracEnvは~/var/trac/repoとします。<br /> 基本的に、いかに書いてあるコマンドをそのまま実行すればよい(一部変更必要)ですが、<br /> 若干スクリプトの変更等が必要なので、viを使える程度の知識が必要です。<br /> なお、以下のコマンドは、tcsh(デフォルト)で実行することを前提としています。<br /> <h2 id="2.インストール">2.インストール</h2> <h3 id="(1)環境設定 ">(1)環境設定 </h3> <pre>mkdir -p $HOME/local/src<br />cd $HOME/local/src<br />mkdir -p $HOME/local/lib/python2.4/site-packages<br />ln -s ~/local/lib/python2.4 ~/local/lib/python<br /><br />setenv PYTHONPATH $HOME/local/lib/python:$HOME/local/lib/python/site-packages<br />setenv PATH $HOME/local/bin:$PATH<br />setenv LD_LIBRARY_PATH $HOME/local/lib<br /><br /></pre><h3 id="(2) swig">(2) swig</h3> <p align="left">swig-1.3.21を使用。1.3.24では動かないらしいが未確認。<br /> ダウンロード先は、日本のミラーサーバを指定します。<br /> </p> <pre class="wiki">cd $HOME/local/src<br />wget http://jaist.dl.sourceforge.net/sourceforge/swig/swig-1.3.21.tar.gz<br />gunzip swig-1.3.21.tar.gz<br />tar xvf swig-1.3.21.tar<br />cd SWIG-1.3.21<br />./configure --prefix=$HOME/local <br />make<br />make runtime<br />make install<br />make install-runtime<br />cd ..<br /></pre> <h3 id=" (3) Subversion"> (3) Subversion</h3> 最後のlnコマンドをやらないと、pythonがsvnを見つけてくれない。<br /> <pre>cd $HOME/local/src<br />wget http://subversion.tigris.org/downloads/subversion-1.2.3.tar.bz2<br />tar jxf subversion-1.2.3.tar.bz2<br />cd subversion-1.2.3<br />./configure --prefix=$HOME/local --with-neon=$HOME/local --without-berkeley-db --enable-swig-bindings=python --with-swig=$HOME/local/bin/swig --disable-static<br />make<br />make install<br />make swig-py<br />make install-swig-py<br /><br />ln -s $HOME/local/lib/svn-python $HOME/local/lib/python/site-packages/svn-python<br />ln -s $HOME/local/lib/svn-python/svn $HOME/local/lib/python/site-packages/svn<br />ln -s $HOME/local/lib/svn-python/libsvn $HOME/local/lib/python/site-packages/libsvn<br /><br />cd ..<br /><br /></pre><h3 id="(4) sqlite">(4) sqlite</h3> <p align="left">3.3.4では何故かうまく動かなかった。<a href="http://atty.skr.jp/sakura_log.html">atty.skr.jp</a></a>さんを参考に3.2.1を使う。<br /> </p> <pre class="wiki">cd $HOME/local/src<br />wget http://www.sqlite.org/sqlite-3.2.1.tar.gz<br />gunzip sqlite-3.2.1.tar.gz<br />tar -xvf sqlite-3.2.1.tar<br />cd sqlite-3.2.1 <br />./configure --prefix=$HOME/local --disable-dynamic<br />make<br />make install<br />cd .. <br /></pre> <h3 id="(7) pysqlite">(7) pysqlite</h3> これも、2.1.3では動かなかった。<a href="http://atty.skr.jp/sakura_log.html">atty.skr.jp</a></a>さんを参考に1.1.7を使う。 <pre>cd $HOME/local/src<br />wget http://initd.org/pub/software/pysqlite/releases/1.1/1.1.7/pysqlite-1.1.7.tar.gz<br />gunzip pysqlite-1.1.7.tar.gz<br />tar -xvf pysqlite-1.1.7.tar<br />cd pysqlite<br />setenv LOCALBASE $HOME/local<br />python setup.py build<br />python setup.py install --prefix=$HOME/local<br /><br /></pre> <h3 id="(8) clearsilver">(8) clearsilver</h3> makeがこけるので。gmakeを使う。<br /> pythonモジュールは、gmakeではインストールされないので、python setup.pyが必要。<br /> <pre class="wiki">cd $HOME/local/src<br />wget http://www.clearsilver.net/downloads/clearsilver-0.9.14.tar.gz<br />gunzip clearsilver-0.9.14.tar.gz<br />tar -xvf clearsilver-0.9.14.tar<br />cd clearsilver-0.9.14<br />./configure --prefix=$HOME/local --oldincludedir=$HOME/local/include --disable-ruby --disable-java --disable-perl --disable-csharp --disable-python --disable-static<br />gmake<br />gmake install<br /><br />cd python<br />python setup.py build<br />python setup.py install --prefix=$HOME/local<br /><br /></pre><h3 id="(9) docutils">(9) docutils</h3> <p align="left">エラーが出ているので、うまく行ってないかも。<br /> ダウンロード先は、日本のミラーサーバを指定します。<br /> </p> <pre class="wiki">cd $HOME/local/src<br />wget http://jaist.dl.sourceforge.net/sourceforge/docutils/docutils-0.4.tar.gz<br />gunzip docutils-0.4.tar.gz<br />tar -xvf docutils-0.4.tar<br />cd docutils-0.4<br />python setup.py install --home=$HOME/local<br /><br /></pre><h3 id="(10) trac">(10) trac</h3> <p align="left"><span class="ext-link">[http://www.i-act.co.jp/project/products/products.html trac-0.9.5-ja-1] </span> を使用します。なお、既に0.9.4をインストールしてある人は、#75を参照して0.9.5にUpgradeしましょう。<br /> </p> <pre class="wiki">cd $HOME/local/src<br />wget http://www.i-act.co.jp/project/products/downloads/trac-0.9.5-ja-1.zip<br />unzip trac-0.9.5-ja-1<br />cd $HOME/local/src/trac-0.9.5-ja-1<br />python ./setup.py install --prefix=$HOME/local<br />cp $HOME/local/share/trac/cgi-bin/trac.cgi $HOME/www<br /><br /></pre><br /> <h2 id="3.動くまでの設定">3.動くまでの設定</h2> <blockquote> </blockquote> <h3 id=" (1) subversionのリポジトリを作成 "> (1) subversionのリポジトリを作成 </h3> <pre class="wiki">#sudo chmod 777 /var<br />#mkdir /var/svn<br /><br />mkdir -p $HOME/var/svn<br />svnadmin create --fs-type=fsfs $HOME/var/svn/repo<br /><br /></pre> リポジトリ内にフォルダを作る。<br /> <pre class="wiki">mkdir $HOME/tmp<br />cd $HOME/tmp<br />mkdir proj<br />cd proj<br />mkdir trunk branches tags<br />cd ..<br />svn import proj file:///$HOME/var/svn/repo -m "Import First"<br />rm -r proj<br /><br /></pre> これで、リポジトリへのフォルダの作成はできた。 <h3 id=" (2) trac の環境を設定 "> (2) trac の環境を設定 </h3> <pre class="wiki">mkdir -p $HOME/var/trac<br />trac-admin $HOME/var/trac/repo initenv<br /></pre> リポジトリフォルダは~とか使わずに/home/XXXという形で全部入力すること。<br /> <pre>%trac-admin $HOME/var/trac/repo initenv<br />Project Name [My Project]><br />Database connection string [sqlite:db/trac.db]><br />Path to repository [/var/svn/test]> /home/XXX/var/svn/repo<br />Templates directory [/home/weekbuild/local/share/trac/templates]><br /><br /></pre><br /> <h3 id="(3) trac.cgiの作成">(3) trac.cgiの作成</h3>まず、$HOME/www/trac.cgiをtrac_.cgiという名前に変更します。<br /> <pre>mv $HOME/www/trac.cgi $HOME/www/trac_.cgi<br /></pre> CGIに環境変数を渡すために、新たな$HOME/www/trac.cgiを作成します。 ブラウザからリクエストがくると、これがまず呼ばれることになります。<br /> XXXの個所は自分のアカウント名にしてください。 <pre>#!/bin/sh<br />LD_LIBRARY_PATH=/home/XXX/local/lib;export LD_LIBRARY_PATH<br />TRAC_ENV=/home/XXX/var/trac/repo;export TRAC_ENV<br />PYTHONPATH=/home/XXX/local/lib/python:/home/XXX/local/lib/python/site-packages;export PYTHONPATH<br />/usr/local/bin/python /home/XXX/www/trac_.cgi<br /></pre> <h3 id="(4) URLのRewrite設定">(4) URLのRewrite設定</h3>$HOME/www/.htaccessに以下を記載<br /> <pre>RewriteEngine On<br />RewriteBase /<br />RewriteRule ^$ /trac/ [R=301,L]<br />RewriteRule ^/trac/(.*)$ /trac.cgi/$1 [L]<br /></pre> これで書いているのは以下の2つ<br /> <ul> <li>!http://xxx.sakura.ne.jp/ というような、サーバ直指定のURLの場合に、/trac/というURLに移動する。</li> <li>!http://xxx.sakura.ne.jp/trac/hogehoge というようなURLの場合に、/trac.cgi/hogehoge を内部で(ブラウザに見せずに)呼び出す。</li> </ul>ブラウザでURLを開いて、Tracが見えるか確認してください。<br /> なお、Tracのリンクも自動的に/trac.cgi/から/trac/に変更されます。何故かは不明。<br /> <h3 id="(5) AccountManagerプラグインのインストール">(5) AccountManagerプラグインのインストール</h3> <p>http.confをいじることが出来ないので、ユーザを作成するために!AccountManager プラグインを使用します。 </p> <pre>mkdir $HOME/local/src/setuptools<br />cd $HOME/local/src/setuptools<br />wget http://peak.telecommunity.com/dist/ez_setup.py<br />python ez_setup.py --prefix=$HOME/local http://cheeseshop.python.org/packages/2.4/s/setuptools/setuptools-0.6a11-py2.4.egg<br />python ez_setup.py --prefix=$HOME/local -U setuptools<br /></pre> <pre>cd $HOME/local/src<br />wget http://trac-hacks.org/download/accountmanagerplugin.zip<br />unzip accountmanagerplugin.zip<br />cd accountmanagerplugin.zip/0.9<br />python setup.py install --prefix=$HOME/local<br /><br /></pre><p>trac.ini($HOME/var/trac/repo/conf/trac.ini)を編集。XXXは、さくらインターネットのアカウント名を入れること<br /> </p> <pre>[account-manager]<br />password_format = htpasswd<br />password_file = /home/XXX/var/trac/repo/conf/trac.htpasswd<br /><br />[components]<br />trac.web.auth.LoginModule = disabled<br />acct_mgr.web_ui.LoginModule = enabled<br /></pre> <h3 id="(6) アカウントの作成 ">(6) アカウントの作成 </h3> <p>ブラウザでTracを見ると、右上にRegisterというリンクが出来ています。これをクリックして、アカウントを作成してください。<br /> </p> <p>必要なアカウントを作成したら、他の人がアカウントを勝手に作成できないようにします。(4)で編集したtrac.iniを再編集。<br /> </p> <pre>[components]<br />trac.web.auth.LoginModule = disabled<br />acct_mgr.web_ui.LoginModule = enabled<br />acct_mgr.web_ui.registrationmodule = disabled<br /><br /></pre> <p>パーミッションを設定します。trac-adminを起動します。<br /> </p> <pre>trac-admin $HOME/var/trac/repo<br /></pre> <p>とりあえずは、いたずらされないように自分(XXX)は全て可能とし、自分以外は参照のみ可能とします。<br /> 必要に応じて変更してください。<br /> </p> <pre>permission add XXX WIKI_ADMIN<br />permission add XXX REPORT_ADMIN<br />permission add XXX TICKET_ADMIN<br />permission add XXX MILESTONE_ADMIN<br />permission remove anonymous WIKI_CREATE<br />permission remove anonymous WIKI_MODIFY<br />permission remove anonymous TICKET_CREATE<br />permission remove anonymous TICKET_MODIFY<br /><br /></pre> <h2 id="4. ToritoiseSVNでsvn+sshを使って接続する">4. ToritoiseSVNでsvn+sshを使って接続する</h2> <p>参考:<br /> </p> <h3 id="(1) ToritoiseSVNをインストールする ">(1) ToritoiseSVNをインストールする </h3> <p>省略</p> <h3 id="(2) PuTTYgenを使い鍵を作成する">(2) PuTTYgenを使い鍵を作成する</h3>[http://saikyoline.jp/weblog/archives/2005/10/subversion_2.html SaikyoLine.jp] さんを参照。<br /> <ol> <li>Windowsで実施します。</li> <li>[http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY Download Page] よりputtygen.exeをダウンロードしてください。</li> <li> puttygen.exeを起動して、Generateボタンを押してください(空白エリアの中でマウスを動かせと表示されます。グリグリ動かしましょう)。</li> <li> 表示されるテキストエリア(Puglib key for pasting into OpenSSH authorized_keys file)の中身をコピーし、メモ帳でテキストファイルに保存してください。そのファイルをauthorized_keysというファイル名(拡張子な し)に変更してください。</li> <li> そのままSave private keyボタンを押して秘密鍵を適当なフォルダに適当な名前で保存してください(私は忘れないようにToritoiseSVNのインストールフォルダ/binにおきました)。</li> <li>authorized_keysをFTPで$HOME/.ssh/に置いてください。</li> <li>さくらインターネットにTelnetで接続して、パーミッションを変更してください。あと、.cshrcを書き換えて$HOME/local/binにPATHを通しておくことも忘れずに(2.(1)で既にやってあれば大丈夫)。<br /> <pre>cd <br />chmod 700 .ssh<br />cd .ssh<br />chmod 600 authorized_keys</pre> </li> </ol> <h3 id="(3) ToritoiseSVNの設定">(3) ToritoiseSVNの設定</h3>[http://yebisuya.dip.jp/yeblog/archives/a000496.html ゑBLOG] さんを参照。<br /> <ol> <li>ToritoiseSVNの設定画面を開いてください(エクスプローラで適当なフォルダを選び右クリック→ToriseSVN→setting(または設定))。</li> <li>画面左のツリーからNetwork(またはネットワーク)を選び、SSHクライアント欄にTortoiseSVNのインストールディレクトリ\binにある!TortoisePlink.exeのフルパスを指定してください。引数は 「-l アカウント名」と「-i 4.(2).5で作成した秘密鍵のパス」を指定してください。<br /> <br /> 例:秘密鍵id_rsa.ppkを!TortoisePlink.exeと同じフォルダに置いた場合。XXXはさくらインターネットのユーザID<br /> <pre>"C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -l XXX -i "C:\Program Files\TortoiseSVN\bin\id_rsa.ppk"<br /></pre> </li> </ol> <h3 id="(4) つないでみる">(4) つないでみる</h3> <ol> <li> 適当なフォルダで右クリック→TortoiseSVN→RepositoryBrowser(またはリポジトリブラウザ)</li> <li>URLを入力("svn+ssh" + "://さくらサーバのアドレス" + レポジトリの絶対パス)。<br /> <br /> 例:$HOME/var/svn/repoにレポジトリを作った場合。XXXはさくらインターネットのユーザID<br /> <pre>svn+ssh://XXX.sakura.ne.jp/home/XXX/var/svn/repo<br /></pre></li> <li>なんかキャッシュに入れていいかというメッセージが出る。アドレスが正しければ「はい」をクリック。</li><li>パスワードを聞かれたら、さくらインターネットのパスワードを入力。</li> <li>リポジトリが見えて、ツリーを開くことが出来ればOK</li> </ol> <h2 id="5.追記">5.追記</h2><h3 id="(1) !ImportError: No module named thread が出たら">(1) !ImportError: No module named thread が出たら</h3>[http://www.machu.jp/diary/20060527.html#p01 まちゅダイアリー] さん、[http://diary.atzm.org/20060507.html#p02 Today's HOGE] さんを参照。<br /><br />trac-adminにてTracEnvを作る際に、「!ImportError:No module named thread」というエラーがでることがあるようです。<br />さくらインターネットのpythonにはthreadモジュールが入っていことが原因らしいです。<br />エラーが出たら、上記ページを参照して対処する必要があります。<br /><h3 id="(2) スパムチケット対策">(2) スパムチケット対策</h3>#76を参照<br /><br /><h2 id="6.参考">6.参考</h2> <ul> <li>attr.skr.jp<br /> http://atty.skr.jp/sakura_log.html <br /> <br /> </li><li>!SaikyoLine.jp:さくらインターネットでSubversion<br /> http://saikyoline.jp/weblog/archives/2005/10/subversion_2.html <br /> <br /> </li> <li><span class="l">「さくらのレンタルサーバ」で Python 外部モジュールを使う</span><br /> http://www.emptypage.jp/notes/pymods-on-sakura.html <br /> <br /> </li><li>!TachTracについて<br /> http://tach.arege.net/trac/wiki/TachTrac <br /> <br /> </li> <li>Discypus.jp/ソフト/Bug Tracking/trac/AccountManagerPlugin<br /> http://discypus.jp/wiki/?%A5%BD%A5%D5%A5%C8%2FBug%20Tracking%2Ftrac%2FAccountManagerPlugin <br /> </li> <li> <p>ゑBLOG<br /> http://yebisuya.dip.jp/yeblog/archives/a000496.html </p></li><li>まちゅダイアリー<br />http://www.machu.jp/diary/20060527.html#p01 <br /><br /></li><li>Today's HOGE<br />http://diary.atzm.org/20060507.html#p02 <br /></li></ul><br />[[VisitCounter(TracDoc/SakuraInternet)]]<br /> <br /> <br /> |
4 | | }}} |
| 1 | |
| 2 | = さくらインターネットにTracを構築する = |
| 3 | |
| 4 | == 1.説明 == |
| 5 | |
| 6 | さくらインターネットにTracを構築します。ライトプランだとTelnetが使えないので、スタンダードプラン以上が必要です。[[BR]]今回の例では、~/local/配下に構築します。svnのリポジトリは~/var/svn/repo、TracEnvは~/var/trac/repoとします。[[BR]]基本的に、いかに書いてあるコマンドをそのまま実行すればよい(一部変更必要)ですが、[[BR]]若干スクリプトの変更等が必要なので、viを使える程度の知識が必要です。[[BR]]なお、以下のコマンドは、tcsh(デフォルト)で実行することを前提としています。[[BR]] |
| 7 | |
| 8 | == 2.インストール == |
| 9 | |
| 10 | === (1)環境設定 === |
| 11 | |
| 12 | {{{ |
| 13 | mkdir -p $HOME/local/src |
| 14 | cd $HOME/local/src |
| 15 | mkdir -p $HOME/local/lib/python2.4/site-packages |
| 16 | ln -s ~/local/lib/python2.4 ~/local/lib/python |
| 17 | setenv PYTHONPATH $HOME/local/lib/python:$HOME/local/lib/python/site-packages |
| 18 | setenv PATH $HOME/local/bin:$PATH |
| 19 | setenv LD_LIBRARY_PATH $HOME/local/lib |
| 20 | }}} |
| 21 | |
| 22 | === (2) swig === |
| 23 | |
| 24 | swig-1.3.21を使用。1.3.24では動かないらしいが未確認。[[BR]]ダウンロード先は、日本のミラーサーバを指定します。[[BR]] |
| 25 | |
| 26 | {{{ |
| 27 | cd $HOME/local/src |
| 28 | wget http://jaist.dl.sourceforge.net/sourceforge/swig/swig-1.3.21.tar.gz |
| 29 | gunzip swig-1.3.21.tar.gz |
| 30 | tar xvf swig-1.3.21.tar |
| 31 | cd SWIG-1.3.21 |
| 32 | ./configure --prefix=$HOME/local |
| 33 | make |
| 34 | make runtime |
| 35 | make install |
| 36 | make install-runtime |
| 37 | cd .. |
| 38 | }}} |
| 39 | |
| 40 | === (3) Subversion === |
| 41 | |
| 42 | 最後のlnコマンドをやらないと、pythonがsvnを見つけてくれない。[[BR]] |
| 43 | |
| 44 | {{{ |
| 45 | cd $HOME/local/src |
| 46 | wget http://subversion.tigris.org/downloads/subversion-1.2.3.tar.bz2 |
| 47 | tar jxf subversion-1.2.3.tar.bz2 |
| 48 | cd subversion-1.2.3 |
| 49 | ./configure --prefix=$HOME/local --with-neon=$HOME/local --without-berkeley-db --enable-swig-bindings=python --with-swig=$HOME/local/bin/swig --disable-static |
| 50 | make |
| 51 | make install |
| 52 | make swig-py |
| 53 | make install-swig-py |
| 54 | ln -s $HOME/local/lib/svn-python $HOME/local/lib/python/site-packages/svn-python |
| 55 | ln -s $HOME/local/lib/svn-python/svn $HOME/local/lib/python/site-packages/svn |
| 56 | ln -s $HOME/local/lib/svn-python/libsvn $HOME/local/lib/python/site-packages/libsvn |
| 57 | cd .. |
| 58 | }}} |
| 59 | |
| 60 | === (4) sqlite === |
| 61 | |
| 62 | 3.3.4では何故かうまく動かなかった。 [http://atty.skr.jp/sakura_log.html atty.skr.jp] |
| 63 | |
| 64 | さんを参考に3.2.1を使う。[[BR]] |
| 65 | |
| 66 | {{{ |
| 67 | cd $HOME/local/src |
| 68 | wget http://www.sqlite.org/sqlite-3.2.1.tar.gz |
| 69 | gunzip sqlite-3.2.1.tar.gz |
| 70 | tar -xvf sqlite-3.2.1.tar |
| 71 | cd sqlite-3.2.1 |
| 72 | ./configure --prefix=$HOME/local --disable-dynamic |
| 73 | make |
| 74 | make install |
| 75 | cd .. |
| 76 | }}} |
| 77 | |
| 78 | === (7) pysqlite === |
| 79 | |
| 80 | これも、2.1.3では動かなかった。 [http://atty.skr.jp/sakura_log.html atty.skr.jp] さんを参考に1.1.7を使う。 |
| 81 | |
| 82 | {{{ |
| 83 | cd $HOME/local/src |
| 84 | wget http://initd.org/pub/software/pysqlite/releases/1.1/1.1.7/pysqlite-1.1.7.tar.gz |
| 85 | gunzip pysqlite-1.1.7.tar.gz |
| 86 | tar -xvf pysqlite-1.1.7.tar |
| 87 | cd pysqlite |
| 88 | setenv LOCALBASE $HOME/local |
| 89 | python setup.py build |
| 90 | python setup.py install --prefix=$HOME/local |
| 91 | }}} |
| 92 | |
| 93 | === (8) clearsilver === |
| 94 | |
| 95 | makeがこけるので。gmakeを使う。[[BR]]pythonモジュールは、gmakeではインストールされないので、python setup.pyが必要。[[BR]] |
| 96 | |
| 97 | {{{ |
| 98 | cd $HOME/local/src |
| 99 | wget http://www.clearsilver.net/downloads/clearsilver-0.9.14.tar.gz |
| 100 | gunzip clearsilver-0.9.14.tar.gz |
| 101 | tar -xvf clearsilver-0.9.14.tar |
| 102 | cd clearsilver-0.9.14 |
| 103 | ./configure --prefix=$HOME/local --oldincludedir=$HOME/local/include --disable-ruby --disable-java --disable-perl --disable-csharp --disable-python --disable-static |
| 104 | gmake |
| 105 | gmake install |
| 106 | cd python |
| 107 | python setup.py build |
| 108 | python setup.py install --prefix=$HOME/local |
| 109 | }}} |
| 110 | |
| 111 | === (9) docutils === |
| 112 | |
| 113 | エラーが出ているので、うまく行ってないかも。[[BR]]ダウンロード先は、日本のミラーサーバを指定します。[[BR]] |
| 114 | |
| 115 | {{{ |
| 116 | cd $HOME/local/src |
| 117 | wget http://jaist.dl.sourceforge.net/sourceforge/docutils/docutils-0.4.tar.gz |
| 118 | gunzip docutils-0.4.tar.gz |
| 119 | tar -xvf docutils-0.4.tar |
| 120 | cd docutils-0.4 |
| 121 | python setup.py install --home=$HOME/local |
| 122 | }}} |
| 123 | |
| 124 | === (10) trac === |
| 125 | |
| 126 | [http://www.i-act.co.jp/project/products/products.html trac-0.9.5-ja-1]を使用します。なお、既に0.9.4をインストールしてある人は、#75を参照して0.9.5にUpgradeしましょう。[[BR]] |
| 127 | |
| 128 | {{{ |
| 129 | cd $HOME/local/src |
| 130 | wget http://www.i-act.co.jp/project/products/downloads/trac-0.9.5-ja-1.zip |
| 131 | unzip trac-0.9.5-ja-1 |
| 132 | cd $HOME/local/src/trac-0.9.5-ja-1 |
| 133 | python ./setup.py install --prefix=$HOME/local |
| 134 | cp $HOME/local/share/trac/cgi-bin/trac.cgi $HOME/www |
| 135 | }}} |
| 136 | [[BR]] |
| 137 | |
| 138 | == 3.動くまでの設定 == |
| 139 | |
| 140 | {{{ |
| 141 | }}} |
| 142 | |
| 143 | === (1) subversionのリポジトリを作成 === |
| 144 | |
| 145 | {{{ |
| 146 | #sudo chmod 777 /var |
| 147 | #mkdir /var/svn |
| 148 | mkdir -p $HOME/var/svn |
| 149 | svnadmin create --fs-type=fsfs $HOME/var/svn/repo |
| 150 | }}} |
| 151 | リポジトリ内にフォルダを作る。[[BR]] |
| 152 | |
| 153 | {{{ |
| 154 | mkdir $HOME/tmp |
| 155 | cd $HOME/tmp |
| 156 | mkdir proj |
| 157 | cd proj |
| 158 | mkdir trunk branches tags |
| 159 | cd .. |
| 160 | svn import proj file:///$HOME/var/svn/repo -m "Import First" |
| 161 | rm -r proj |
| 162 | }}} |
| 163 | これで、リポジトリへのフォルダの作成はできた。 |
| 164 | |
| 165 | === (2) trac の環境を設定 === |
| 166 | |
| 167 | {{{ |
| 168 | mkdir -p $HOME/var/trac |
| 169 | trac-admin $HOME/var/trac/repo initenv |
| 170 | }}} |
| 171 | リポジトリフォルダは~とか使わずに/home/XXXという形で全部入力すること。[[BR]] |
| 172 | |
| 173 | {{{ |
| 174 | %trac-admin $HOME/var/trac/repo initenv |
| 175 | Project Name [My Project]> |
| 176 | Database connection string [sqlite:db/trac.db]> |
| 177 | Path to repository [/var/svn/test]> /home/XXX/var/svn/repo |
| 178 | Templates directory [/home/weekbuild/local/share/trac/templates]> |
| 179 | }}} |
| 180 | [[BR]] |
| 181 | |
| 182 | === (3) trac.cgiの作成 === |
| 183 | |
| 184 | まず、$HOME/www/trac.cgiをtrac_.cgiという名前に変更します。[[BR]] |
| 185 | |
| 186 | {{{ |
| 187 | mv $HOME/www/trac.cgi $HOME/www/trac_.cgi |
| 188 | }}} |
| 189 | CGIに環境変数を渡すために、新たな$HOME/www/trac.cgiを作成します。 ブラウザからリクエストがくると、これがまず呼ばれることになります。[[BR]]XXXの個所は自分のアカウント名にしてください。 |
| 190 | |
| 191 | {{{ |
| 192 | #!/bin/sh |
| 193 | LD_LIBRARY_PATH=/home/XXX/local/lib;export LD_LIBRARY_PATH |
| 194 | TRAC_ENV=/home/XXX/var/trac/repo;export TRAC_ENV |
| 195 | PYTHONPATH=/home/XXX/local/lib/python:/home/XXX/local/lib/python/site-packages;export PYTHONPATH |
| 196 | /usr/local/bin/python /home/XXX/www/trac_.cgi |
| 197 | }}} |
| 198 | |
| 199 | === (4) URLのRewrite設定 === |
| 200 | |
| 201 | $HOME/www/.htaccessに以下を記載[[BR]] |
| 202 | |
| 203 | {{{ |
| 204 | RewriteEngine On |
| 205 | RewriteBase / |
| 206 | RewriteRule ^$ /trac/ [R=301,L] |
| 207 | RewriteRule ^/trac/(.*)$ /trac.cgi/$1 [L] |
| 208 | }}} |
| 209 | これで書いているのは以下の2つ[[BR]] * !http://xxx.sakura.ne.jp/ というような、サーバ直指定のURLの場合に、/trac/というURLに移動する。 |
| 210 | * !http://xxx.sakura.ne.jp/trac/hogehoge というようなURLの場合に、/trac.cgi/hogehoge を内部で(ブラウザに見せずに)呼び出す。 |
| 211 | ブラウザでURLを開いて、Tracが見えるか確認してください。[[BR]]なお、Tracのリンクも自動的に/trac.cgi/から/trac/に変更されます。何故かは不明。[[BR]] |
| 212 | |
| 213 | === (5) AccountManagerプラグインのインストール === |
| 214 | |
| 215 | http.confをいじることが出来ないので、ユーザを作成するために!AccountManager プラグインを使用します。 |
| 216 | |
| 217 | {{{ |
| 218 | mkdir $HOME/local/src/setuptools |
| 219 | cd $HOME/local/src/setuptools |
| 220 | wget http://peak.telecommunity.com/dist/ez_setup.py |
| 221 | python ez_setup.py --prefix=$HOME/local http://cheeseshop.python.org/packages/2.4/s/setuptools/setuptools-0.6a11-py2.4.egg |
| 222 | python ez_setup.py --prefix=$HOME/local -U setuptools |
| 223 | }}} |
| 224 | |
| 225 | {{{ |
| 226 | cd $HOME/local/src |
| 227 | wget http://trac-hacks.org/download/accountmanagerplugin.zip |
| 228 | unzip accountmanagerplugin.zip |
| 229 | cd accountmanagerplugin.zip/0.9 |
| 230 | python setup.py install --prefix=$HOME/local |
| 231 | }}} |
| 232 | |
| 233 | trac.ini($HOME/var/trac/repo/conf/trac.ini)を編集。XXXは、さくらインターネットのアカウント名を入れること[[BR]] |
| 234 | |
| 235 | {{{ |
| 236 | [account-manager] |
| 237 | password_format = htpasswd |
| 238 | password_file = /home/XXX/var/trac/repo/conf/trac.htpasswd |
| 239 | [components] |
| 240 | trac.web.auth.LoginModule = disabled |
| 241 | acct_mgr.web_ui.LoginModule = enabled |
| 242 | }}} |
| 243 | |
| 244 | === (6) アカウントの作成 === |
| 245 | |
| 246 | ブラウザでTracを見ると、右上にRegisterというリンクが出来ています。これをクリックして、アカウントを作成してください。[[BR]] |
| 247 | |
| 248 | 必要なアカウントを作成したら、他の人がアカウントを勝手に作成できないようにします。(4)で編集したtrac.iniを再編集。[[BR]] |
| 249 | |
| 250 | {{{ |
| 251 | [components] |
| 252 | trac.web.auth.LoginModule = disabled |
| 253 | acct_mgr.web_ui.LoginModule = enabled |
| 254 | acct_mgr.web_ui.registrationmodule = disabled |
| 255 | }}} |
| 256 | |
| 257 | パーミッションを設定します。trac-adminを起動します。[[BR]] |
| 258 | |
| 259 | {{{ |
| 260 | trac-admin $HOME/var/trac/repo |
| 261 | }}} |
| 262 | |
| 263 | とりあえずは、いたずらされないように自分(XXX)は全て可能とし、自分以外は参照のみ可能とします。[[BR]]必要に応じて変更してください。[[BR]] |
| 264 | |
| 265 | {{{ |
| 266 | permission add XXX WIKI_ADMIN |
| 267 | permission add XXX REPORT_ADMIN |
| 268 | permission add XXX TICKET_ADMIN |
| 269 | permission add XXX MILESTONE_ADMIN |
| 270 | permission remove anonymous WIKI_CREATE |
| 271 | permission remove anonymous WIKI_MODIFY |
| 272 | permission remove anonymous TICKET_CREATE |
| 273 | permission remove anonymous TICKET_MODIFY |
| 274 | }}} |
| 275 | |
| 276 | == 4. ToritoiseSVNでsvn+sshを使って接続する == |
| 277 | |
| 278 | 参考:[[BR]] |
| 279 | |
| 280 | === (1) ToritoiseSVNをインストールする === |
| 281 | |
| 282 | 省略 |
| 283 | |
| 284 | === (2) PuTTYgenを使い鍵を作成する === |
| 285 | |
| 286 | [http://saikyoline.jp/weblog/archives/2005/10/subversion_2.html SaikyoLine.jp] さんを参照。[[BR]] 1. Windowsで実施します。 |
| 287 | 1. [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY Download Page] よりputtygen.exeをダウンロードしてください。 |
| 288 | 1. puttygen.exeを起動して、Generateボタンを押してください(空白エリアの中でマウスを動かせと表示されます。グリグリ動かしましょう)。 |
| 289 | 1. 表示されるテキストエリア(Puglib key for pasting into OpenSSH authorized_keys file)の中身をコピーし、メモ帳でテキストファイルに保存してください。そのファイルをauthorized_keysというファイル名(拡張子な し)に変更してください。 |
| 290 | 1. そのままSave private keyボタンを押して秘密鍵を適当なフォルダに適当な名前で保存してください(私は忘れないようにToritoiseSVNのインストールフォルダ/binにおきました)。 |
| 291 | 1. authorized_keysをFTPで$HOME/.ssh/に置いてください。 |
| 292 | 1. さくらインターネットにTelnetで接続して、パーミッションを変更してください。あと、.cshrcを書き換えて$HOME/local/binにPATHを通しておくことも忘れずに(2.(1)で既にやってあれば大丈夫)。[[BR]] |
| 293 | |
| 294 | === (3) ToritoiseSVNの設定 === |
| 295 | |
| 296 | [http://yebisuya.dip.jp/yeblog/archives/a000496.html ゑBLOG] さんを参照。[[BR]] 1. ToritoiseSVNの設定画面を開いてください(エクスプローラで適当なフォルダを選び右クリック→ToriseSVN→setting(または設定))。 |
| 297 | 1. 画面左のツリーからNetwork(またはネットワーク)を選び、SSHクライアント欄にTortoiseSVNのインストールディレクトリ\binにある!TortoisePlink.exeのフルパスを指定してください。引数は 「-l アカウント名」と「-i 4.(2).5で作成した秘密鍵のパス」を指定してください。[[BR]][[BR]]例:秘密鍵id_rsa.ppkを!TortoisePlink.exeと同じフォルダに置いた場合。XXXはさくらインターネットのユーザID[[BR]] |
| 298 | |
| 299 | === (4) つないでみる === |
| 300 | |
| 301 | 1. 適当なフォルダで右クリック→TortoiseSVN→RepositoryBrowser(またはリポジトリブラウザ) |
| 302 | 1. URLを入力("svn+ssh" + "://さくらサーバのアドレス" + レポジトリの絶対パス)。[[BR]][[BR]]例:$HOME/var/svn/repoにレポジトリを作った場合。XXXはさくらインターネットのユーザID[[BR]] |
| 303 | 1. なんかキャッシュに入れていいかというメッセージが出る。アドレスが正しければ「はい」をクリック。 |
| 304 | 1. パスワードを聞かれたら、さくらインターネットのパスワードを入力。 |
| 305 | 1. リポジトリが見えて、ツリーを開くことが出来ればOK |
| 306 | |
| 307 | == 5.追記 == |
| 308 | |
| 309 | === (1) !ImportError: No module named thread が出たら === |
| 310 | |
| 311 | [http://www.machu.jp/diary/20060527.html#p01 まちゅダイアリー] さん、[http://diary.atzm.org/20060507.html#p02 Today's HOGE] さんを参照。[[BR]][[BR]]trac-adminにてTracEnvを作る際に、「!ImportError:No module named thread」というエラーがでることがあるようです。[[BR]]さくらインターネットのpythonにはthreadモジュールが入っていことが原因らしいです。[[BR]]エラーが出たら、上記ページを参照して対処する必要があります。[[BR]] |
| 312 | |
| 313 | === (2) スパムチケット対策 === |
| 314 | |
| 315 | #76を参照[[BR]][[BR]] |
| 316 | |
| 317 | == 6.参考 == |
| 318 | |
| 319 | * attr.skr.jp[[BR]]http://atty.skr.jp/sakura_log.html[[BR]][[BR]] |
| 320 | * !SaikyoLine.jp:さくらインターネットでSubversion[[BR]]http://saikyoline.jp/weblog/archives/2005/10/subversion_2.html[[BR]][[BR]] |
| 321 | * 「さくらのレンタルサーバ」で Python 外部モジュールを使う[[BR]]http://www.emptypage.jp/notes/pymods-on-sakura.html[[BR]][[BR]] |
| 322 | * !TachTracについて[[BR]]http://tach.arege.net/trac/wiki/TachTrac[[BR]][[BR]] |
| 323 | * Discypus.jp/ソフト/Bug Tracking/trac/AccountManagerPlugin[[BR]]http://discypus.jp/wiki/?%A5%BD%A5%D5%A5%C8%2FBug%20Tracking%2Ftrac%2FAccountManagerPlugin[[BR]] |
| 324 | * ゑBLOG[[BR]]http://yebisuya.dip.jp/yeblog/archives/a000496.html |
| 325 | * まちゅダイアリー[[BR]]http://www.machu.jp/diary/20060527.html#p01[[BR]][[BR]] |
| 326 | * Today's HOGE[[BR]]http://diary.atzm.org/20060507.html#p02[[BR]] |
| 327 | [[BR]][[VisitCounter(TracDoc/SakuraInternet)]][[BR]][[BR]][[BR]] |