Warning: リポジトリと同期できません (サポートされていないバージョンコントロールシステム "svn です。 Python のライブラリに "svn" が正しくインストールされているか確認してください。)

バージョン 9 から バージョン 10 における更新: TracDoc/SakuraInternet

差分発生行の前後
無視リスト:
更新日時:
2008/04/26 18:16:57 (16 年 前)
更新者:
hirobe (IP アドレス: 133.6.203.10)
コメント:

--

凡例:

変更なし
追加
削除
変更
  • TracDoc/SakuraInternet

    v9 v10  
    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 &quot;Import First&quot;<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]&gt;<br />Database connection string [sqlite:db/trac.db]&gt;<br />Path to repository [/var/svn/test]&gt; /home/XXX/var/svn/repo<br />Templates directory [/home/weekbuild/local/share/trac/templates]&gt;<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の設定画面を開いてください(エクスプローラで適当なフォルダを選び右クリック&rarr;ToriseSVN&rarr;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>&quot;C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe&quot; -l XXX -i &quot;C:\Program Files\TortoiseSVN\bin\id_rsa.ppk&quot;<br /></pre>      </li> </ol> <h3 id="(4) つないでみる">(4) つないでみる</h3> <ol>   <li>  適当なフォルダで右クリック&rarr;TortoiseSVN&rarr;RepositoryBrowser(またはリポジトリブラウザ)</li>   <li>URLを入力(&quot;svn+ssh&quot; + &quot;://さくらサーバのアドレス&quot; + レポジトリの絶対パス)。<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{{{ 
     13mkdir -p $HOME/local/src 
     14cd $HOME/local/src 
     15mkdir -p $HOME/local/lib/python2.4/site-packages 
     16ln -s ~/local/lib/python2.4 ~/local/lib/python 
     17setenv PYTHONPATH $HOME/local/lib/python:$HOME/local/lib/python/site-packages 
     18setenv PATH $HOME/local/bin:$PATH 
     19setenv LD_LIBRARY_PATH $HOME/local/lib 
     20}}} 
     21 
     22=== (2) swig === 
     23 
     24swig-1.3.21を使用。1.3.24では動かないらしいが未確認。[[BR]]ダウンロード先は、日本のミラーサーバを指定します。[[BR]] 
     25 
     26{{{ 
     27cd $HOME/local/src 
     28wget http://jaist.dl.sourceforge.net/sourceforge/swig/swig-1.3.21.tar.gz 
     29gunzip swig-1.3.21.tar.gz 
     30tar xvf swig-1.3.21.tar 
     31cd SWIG-1.3.21 
     32./configure  --prefix=$HOME/local  
     33make 
     34make runtime 
     35make install 
     36make install-runtime 
     37cd .. 
     38}}} 
     39 
     40=== (3) Subversion === 
     41 
     42最後のlnコマンドをやらないと、pythonがsvnを見つけてくれない。[[BR]] 
     43 
     44{{{ 
     45cd $HOME/local/src 
     46wget http://subversion.tigris.org/downloads/subversion-1.2.3.tar.bz2 
     47tar jxf subversion-1.2.3.tar.bz2 
     48cd 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 
     50make 
     51make install 
     52make swig-py 
     53make install-swig-py 
     54ln -s $HOME/local/lib/svn-python $HOME/local/lib/python/site-packages/svn-python 
     55ln -s $HOME/local/lib/svn-python/svn $HOME/local/lib/python/site-packages/svn 
     56ln -s $HOME/local/lib/svn-python/libsvn $HOME/local/lib/python/site-packages/libsvn 
     57cd .. 
     58}}} 
     59 
     60=== (4) sqlite === 
     61 
     623.3.4では何故かうまく動かなかった。 [http://atty.skr.jp/sakura_log.html atty.skr.jp] 
     63 
     64さんを参考に3.2.1を使う。[[BR]] 
     65 
     66{{{ 
     67cd $HOME/local/src 
     68wget  http://www.sqlite.org/sqlite-3.2.1.tar.gz 
     69gunzip sqlite-3.2.1.tar.gz 
     70tar -xvf sqlite-3.2.1.tar 
     71cd sqlite-3.2.1  
     72./configure --prefix=$HOME/local --disable-dynamic 
     73make 
     74make install 
     75cd ..   
     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{{{ 
     83cd $HOME/local/src 
     84wget http://initd.org/pub/software/pysqlite/releases/1.1/1.1.7/pysqlite-1.1.7.tar.gz 
     85gunzip pysqlite-1.1.7.tar.gz 
     86tar -xvf pysqlite-1.1.7.tar 
     87cd pysqlite 
     88setenv LOCALBASE $HOME/local 
     89python setup.py build 
     90python setup.py install --prefix=$HOME/local 
     91}}} 
     92 
     93=== (8) clearsilver === 
     94 
     95makeがこけるので。gmakeを使う。[[BR]]pythonモジュールは、gmakeではインストールされないので、python setup.pyが必要。[[BR]] 
     96 
     97{{{ 
     98cd $HOME/local/src 
     99wget http://www.clearsilver.net/downloads/clearsilver-0.9.14.tar.gz 
     100gunzip clearsilver-0.9.14.tar.gz 
     101tar -xvf clearsilver-0.9.14.tar 
     102cd 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 
     104gmake 
     105gmake install 
     106cd python 
     107python setup.py build 
     108python setup.py install --prefix=$HOME/local 
     109}}} 
     110 
     111=== (9) docutils === 
     112 
     113エラーが出ているので、うまく行ってないかも。[[BR]]ダウンロード先は、日本のミラーサーバを指定します。[[BR]] 
     114 
     115{{{ 
     116cd $HOME/local/src 
     117wget http://jaist.dl.sourceforge.net/sourceforge/docutils/docutils-0.4.tar.gz 
     118gunzip docutils-0.4.tar.gz 
     119tar -xvf docutils-0.4.tar 
     120cd docutils-0.4 
     121python 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{{{ 
     129cd $HOME/local/src 
     130wget http://www.i-act.co.jp/project/products/downloads/trac-0.9.5-ja-1.zip 
     131unzip trac-0.9.5-ja-1 
     132cd $HOME/local/src/trac-0.9.5-ja-1 
     133python ./setup.py install --prefix=$HOME/local 
     134cp $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 
     148mkdir -p $HOME/var/svn 
     149svnadmin create --fs-type=fsfs $HOME/var/svn/repo 
     150}}} 
     151リポジトリ内にフォルダを作る。[[BR]] 
     152 
     153{{{ 
     154mkdir $HOME/tmp 
     155cd $HOME/tmp 
     156mkdir proj 
     157cd proj 
     158mkdir trunk branches tags 
     159cd .. 
     160svn import proj file:///$HOME/var/svn/repo -m "Import First" 
     161rm -r proj 
     162}}} 
     163これで、リポジトリへのフォルダの作成はできた。 
     164 
     165=== (2) trac の環境を設定 === 
     166 
     167{{{ 
     168mkdir -p $HOME/var/trac 
     169trac-admin $HOME/var/trac/repo initenv 
     170}}} 
     171リポジトリフォルダは~とか使わずに/home/XXXという形で全部入力すること。[[BR]] 
     172 
     173{{{ 
     174%trac-admin $HOME/var/trac/repo initenv 
     175Project Name [My Project]> 
     176Database connection string [sqlite:db/trac.db]> 
     177Path to repository [/var/svn/test]> /home/XXX/var/svn/repo 
     178Templates 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{{{ 
     187mv $HOME/www/trac.cgi $HOME/www/trac_.cgi 
     188}}} 
     189CGIに環境変数を渡すために、新たな$HOME/www/trac.cgiを作成します。 ブラウザからリクエストがくると、これがまず呼ばれることになります。[[BR]]XXXの個所は自分のアカウント名にしてください。 
     190 
     191{{{ 
     192#!/bin/sh 
     193LD_LIBRARY_PATH=/home/XXX/local/lib;export LD_LIBRARY_PATH 
     194TRAC_ENV=/home/XXX/var/trac/repo;export TRAC_ENV 
     195PYTHONPATH=/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{{{ 
     204RewriteEngine On 
     205RewriteBase / 
     206RewriteRule ^$ /trac/ [R=301,L] 
     207RewriteRule ^/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 
     215http.confをいじることが出来ないので、ユーザを作成するために!AccountManager プラグインを使用します。 
     216 
     217{{{ 
     218mkdir $HOME/local/src/setuptools 
     219cd $HOME/local/src/setuptools 
     220wget http://peak.telecommunity.com/dist/ez_setup.py 
     221python ez_setup.py --prefix=$HOME/local http://cheeseshop.python.org/packages/2.4/s/setuptools/setuptools-0.6a11-py2.4.egg 
     222python ez_setup.py --prefix=$HOME/local -U setuptools 
     223}}} 
     224 
     225{{{ 
     226cd $HOME/local/src 
     227wget http://trac-hacks.org/download/accountmanagerplugin.zip 
     228unzip accountmanagerplugin.zip 
     229cd accountmanagerplugin.zip/0.9 
     230python setup.py install --prefix=$HOME/local 
     231}}} 
     232 
     233trac.ini($HOME/var/trac/repo/conf/trac.ini)を編集。XXXは、さくらインターネットのアカウント名を入れること[[BR]] 
     234 
     235{{{ 
     236[account-manager] 
     237password_format = htpasswd 
     238password_file = /home/XXX/var/trac/repo/conf/trac.htpasswd 
     239[components] 
     240trac.web.auth.LoginModule = disabled 
     241acct_mgr.web_ui.LoginModule = enabled 
     242}}} 
     243 
     244=== (6) アカウントの作成 === 
     245 
     246ブラウザでTracを見ると、右上にRegisterというリンクが出来ています。これをクリックして、アカウントを作成してください。[[BR]] 
     247 
     248必要なアカウントを作成したら、他の人がアカウントを勝手に作成できないようにします。(4)で編集したtrac.iniを再編集。[[BR]] 
     249 
     250{{{ 
     251[components] 
     252trac.web.auth.LoginModule = disabled 
     253acct_mgr.web_ui.LoginModule = enabled 
     254acct_mgr.web_ui.registrationmodule = disabled 
     255}}} 
     256 
     257パーミッションを設定します。trac-adminを起動します。[[BR]] 
     258 
     259{{{ 
     260trac-admin $HOME/var/trac/repo 
     261}}} 
     262 
     263とりあえずは、いたずらされないように自分(XXX)は全て可能とし、自分以外は参照のみ可能とします。[[BR]]必要に応じて変更してください。[[BR]] 
     264 
     265{{{ 
     266permission add XXX WIKI_ADMIN 
     267permission add XXX REPORT_ADMIN 
     268permission add XXX TICKET_ADMIN 
     269permission add XXX MILESTONE_ADMIN 
     270permission remove anonymous WIKI_CREATE 
     271permission remove anonymous WIKI_MODIFY 
     272permission remove anonymous TICKET_CREATE 
     273permission 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]]