Changes between Initial Version and Version 1 of TracInstall


Ignore:
Timestamp:
2010/10/12 00:14:07 (14 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracInstall

    v1 v1  
     1= Trac Installation Guide for 0.12 =  
     2[[TracGuideToc]] 
     3 
     4Trac は Python で書かれており、データベースとして [http://sqlite.org/ SQLite], [http://postgresql.org/ PostgreSQL], [http://mysql.com/ MySQL] のどれかが必要です。 Trac は HTML レンダリングのために [http://genshi.edgewall.org Genshi] テンプレートシステムを使用します。 
     5 
     6バージョン 0.12 以降で Trac はローカライズされているため、自分が普段使っている言語に翻訳されているかもしれません。 Trac のインタフェースで別の言語を使用したい場合は、任意のパッケージである [#OtherPythonPackages Babel] をインストールする必要があります。ローカライズの機能を使用するための手順については、このページに記載する [#InstallingTrac Trac のインストール] セクションを参照してください。 Babal がない状態では、通常はデフォルトの英語版が使用されます。 
     7 
     8新しい言語での翻訳の作成や、すでにある言語での翻訳のエンハンスをコントリビュートした場合は [[http://trac.edgewall.org/wiki/TracL10N TracL10N]] を見てみてください。 (訳注: 日本語の翻訳はすでにコントリビュートされています) 
     9 
     10Trac のインストールとセットアップに対する一般的な手順を以下に示します。 Trac を特定のシステムにインストールする手順は Trac Project サイトの [http://trac.edgewall.org/wiki/TracInstallPlatforms TracInstallPlatforms] にありますが、 '''まず最初に以下の一般的な手順を読み通して''' タスクの関係を確実に理解してください。 
     11 
     12[[PageOutline(2-3,インストール手順,inline)]] 
     13 
     14== 依存関係 == #Dependencies 
     15=== 必須の依存関係 === #MandatoryDependencies 
     16Trac をインストールするためには以下のソフトウェアパッケージがインストールされていなければなりません: 
     17 
     18 * [http://www.python.org/ Python], 2.4 以上 3.0 未満 
     19   (Pyhton 2.3 のサポートは、このリリース (訳注: 0.12) で打ち切られました) 
     20 * [http://peak.telecommunity.com/DevCenter/setuptools setuptools], 0.6 以上 
     21 * [http://genshi.edgewall.org/wiki/Download Genshi], 0.6 以上 
     22 
     23また、データベースと、それに対応する Python のバインディングが必要です。 
     24データベースは SQLite, PostgreSQL, MySQL のいずれかが使用できます。 
     25 
     26==== SQLite の場合 ==== #ForSQLite 
     27 
     28Python 2.5 か 2.6 の場合は、必要なライブラリは同梱されています。 
     29 
     30Python 2.4 の場合、 pysqlite が必要です。 pysqlite は 
     31[http://code.google.com/p/pysqlite/downloads/list google code] から Windows 
     32インストーラやソースからのビルド用の tar.gz アーカイブがダウンロードできます: 
     33{{{ 
     34$ tar xvfz <version>.tar.gz  
     35$ cd <version>  
     36$ python setup.py build_static install  
     37}}} 
     38  
     39上記の手順で SQLite のコードも展開されバインディングがビルドされます。 
     40 
     41SQLite 2.x は、もうじきサポートされなくなります。 SQLite 3.x 向けの pysqlite 1.1.x 
     42バインディングも、もうじきサポートされなくなるので、 pysqlite 2.x を使うようにしてください。 
     43 
     44詳しくは [http://trac.edgewall.org/wiki/PySqlite PySqlite] を参照してください。 
     45 
     46==== PostgreSQL の場合 ==== #ForPostgreSQL 
     47 
     48下記いずれかの Python バインディングをインストール擦る必要があります: 
     49 * [http://www.postgresql.org/ PostgreSQL] 
     50 * [http://pypi.python.org/pypi/psycopg2 psycopg2] 
     51 
     52詳しくは [http://trac.edgewall.org/wiki/DatabaseBackend#Postgresql DatabaseBackend] を参照してください。 
     53 
     54 
     55==== MySQL の場合 ==== #ForMySQL 
     56 
     57Trac は以下のガイドラインで、 MySQL でも良好に動作するようになりました。 
     58 
     59 * [http://mysql.com/ MySQL], 5.0 以降 
     60 * [http://sf.net/projects/mysql-python MySQLdb], 1.2.2 以降 
     61 
     62'''非常に''' 重要なことが記載されているので、データベースを作成するときに [http://trac.edgewall.org/wiki/MySqlDb MySqlDb] のページを注意深く読んでください。 
     63 
     64=== 任意の依存関係 === #OptionalDependencies 
     65 
     66==== バージョン管理システム ==== #VersionControlSystem 
     67 
     68===== Subversion ===== 
     69 * [http://subversion.apache.org/ Subversion], 1.5.x または 1.6.x と '''''対応する''''' Python バインディング。 1.2.4, 1.3.2, 1.4.2 のような 1.0 以降の古いバージョンも、今のところ動作します。トラブルシューティングの情報が [http://trac.edgewall.org/wiki/TracSubversion#Troubleshooting TracSubversion] のページに記載されていますので、確認してみてください。 
     70 
     71主要なプラットフォーム向けに [http://subversion.apache.org/packages.html コンパイル済みの SWIG バインディング] が用意されていますので、通常はこれを使ってください。 Trac は [http://pysvn.tigris.org/ Pysvn] のような新しい `ctype` 形式のバインディングでは '''動作しません'''。 
     72 
     73 
     74'''重要な Note:''' Subversion を使用するなら Trac を '''同じマシン''' にインストールする必要があります。リモートリポジトリは現在サポートされていません。 
     75 
     76 
     77===== その他のバージョン管理システム ===== #Others 
     78 
     79Subversion 以外のバージョン管理システムのサポートはサードパーティから提供されます。 [http://trac.edgewall.org/wiki/PluginList PluginList] および [http://trac.edgewall.org/wiki/VersioningSystemBackend VersioningSystemBackend] を参照してください。 
     80 
     81==== Web サーバ ==== #WebServer 
     82Trac にはサーバ機能が組み込まれているので、 Web サーバは必須ではありません。このページに下にある [#RunningtheStandaloneServer スタンドアロンサーバの起動] セクションを参照してください。 
     83 
     84Trac は下記の要件を満たす Web サーバで動作します。 
     85 * [http://httpd.apache.org/ Apache] との組み合わせで 
     86   - [http://code.google.com/p/modwsgi/ mod_wsgi], [wiki:TracModWSGI] および  
     87     http://code.google.com/p/modwsgi/wiki/IntegrationWithTrac を参照 
     88   - [http://modpython.org/ mod_python 3.3.1], TracModPython を参照 
     89 * [http://www.fastcgi.com/ FastCGI] が使用可能な Web サーバ (TracFastCgi を参照) 
     90 * [http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html AJP] が使用可能な Web 
     91   サーバ ([http://trac.edgewall.org/wiki/TracOnWindowsIisAjp TracOnWindowsIisAjp] を参照) 
     92 * CGI が使用可能な Web サーバ (TracCgi を参照), '''しかし Trac を CGI スクリプトとして使用することは 
     93   全く推奨されていません''' ので、上に挙げた方法を選択するようにしてください。 
     94    
     95 
     96==== その他の Python パッケージ ==== #OtherPythonPackages 
     97 
     98 * [http://babel.edgewall.org Babel], 0.9.5 以上。 
     99   ローカライズの機能を使用する場合は必要。 
     100 * [http://docutils.sourceforge.net/ docutils], 0.3.9 以上。 
     101   WikiRestructuredText を使用する場合は必要。 
     102 * [http://pygments.pocoo.org Pygments], 
     103   [wiki:TracSyntaxColoring シンタックスハイライト] を使用する場合は必要。 
     104   [http://silvercity.sourceforge.net/ SilverCity] や 
     105   [http://gnu.org/software/enscript/enscript.html Enscript] も、今のところ使用できますが、 
     106   サポートを打ち切る予定なので、 Pygments を使用してください。 
     107 * [http://pytz.sf.net pytz], タイムゾーンの完全なリストを取得する場合に必要。 
     108   pytz がない場合、 Trac は内部で定義している 
     109   短いタイムゾーンの実装にフォールバックします。 
     110 
     111'''Attention''': これらの依存関係は様々なバージョンで必ずしも置き換えできるとは限らないので、上記のバージョン番号に注意してください。 Trac を動かす上で問題が発生した場合は [http://trac.edgewall.org/wiki/MailingList メーリングリスト] や [http://trac.edgewall.org/wiki/IrcChannel IRC チャネル] で質問をする前にすべての依存関係を再度確認してください。 
     112 
     113これらのパッケージのドキュメンテーションを参照して、それらが最も上手にインストールできる方法を探してください。また [http://trac.edgewall.org/wiki/TracInstallPlatforms プラットフォーム特有の説明] の多くに、これらの依存関係のインストール方法が記述されています。しかしながら [http://trac.edgewall.org/wiki/TracInstallPlatforms プラットフォーム特有の説明] の情報はあなたがインストールしている Trac より古い バージョンについての説明があることを覚えておいてください (なんと Trac 0.8 に関する説明をしているページもあります)。 
     114 
     115 
     116== Trac のインストール == #InstallingTrac 
     117=== `easy_install` を使用したインストール ===#Usingeasy_install 
     118Trac をインストールする方法のひとつに `setuptools` の利用があります。 
     119setuptools を使用すると、 Trac を Subversion リポジトリからインストールすることもできます; 
     120 
     121例: 
     122 
     123 - Trac 0.12 をインストールする: 
     124   {{{ 
     125   easy_install Trac==0.12 
     126   }}} 
     127 
     128 - 開発中の最新バージョンをインストールする: 
     129   {{{ 
     130   easy_install Trac==dev 
     131   }}} 
     132   Note: 最新のバージョンは十分テストされているとは限りません。 
     133   リリースされているバージョンを使用するか、ソースからのインストールをおすすめします。 
     134 
     135=== `pip` を使用したインストール === #Usingpip 
     136'pip' は easy_install のリプレースであり、とても簡単に素早く Python パッケージをインストールすることができます。 
     137Trac をインストールして起動するまでに5分程度でできてしまいます: 
     138 
     139pip によってインストールされる場所を /opt/user/trac とした場合の例です 
     140 
     141 -  
     142{{{ 
     143pip -E /opt/user/trac install trac psycopg2  
     144}}} 
     145または 
     146 -  
     147{{{ 
     148pip -E /opt/user/trac install trac mysql-python  
     149}}} 
     150 
     151pip では OS 固有のヘッダファイルなとが整備されているため、 PostgreSQL (libpg-dev) や MySQL (libmysqlclient-dev) へのバインディングも自動でビルドされます。 
     152 
     153また pip は (Genshi, Pygments などの) 依存関係を解決し、 pypi.python.org から最新のパッケージをダウンロードして、 /opt/user/trac の配下にインストールするところまで自動化されています。 
     154 
     155すべてのコマンド (tracd, trac-admin) は /opt/user/trac/bin の配下にインストールされます。 mod_python (!PythonHandler ディレクティブを使用する場合) や mod_wsgi (!WSGIDaemonProcess ディレクティブを使用する場合) などのファイルも配置されます。 
     156 
     157加えて、 Trac プラグインのうちのいくつか ([http://pypi.python.org/pypi?:action=search&term=trac&submit=search ここ] で一覧を見ることができます) も pip からインストールすることが可能です。 
     158 
     159 
     160 
     161=== ソースからのインストール === #Fromsource 
     162もちろんのことながら、ソースコードディレクトリのトップで行う Python の伝統的な setup も動作します。 
     163 
     164ソースはリリースに一致する .tar.gz や .zip の形式 (Trac-0.12.tar.gz など) で取得できます。また、リポジトリから直接取得することもできます (詳しくは [http://trac.edgewall.org/wiki/SubversionRepository SubversionRepository] を参照してください)。 
     165 
     166{{{ 
     167$ python ./setup.py install 
     168}}} 
     169 
     170''このステップを実行するためには root 権限 (または root 権限と同等の権限) が必要です。'' 
     171 
     172この操作で Python のソースコードがバイトコンパイルされ、 .egg ファイルかディレクトリが Python インストールの `site-packages` ディレクトリにインストールされます。 
     173.egg には htdocs や templates のような、ソースファイル以外に標準インストールの Trac が必要とするすべてのリソースが含まれています。 
     174 
     175このスクリプトは [wiki:TracStandalone tracd] スタンドアロンサーバと一緒に、 [wiki:TracEnvironment プロジェクト Environment] を作成し維持するための [wiki:TracAdmin trac-admin] コマンドラインツールをインストールします。 
     176 
     177ソースからインストールする場合や、新しい言語で Trac を国際化するためには Babel をインストールしておく必要があります。この場合も `install` を実行するだけです (Babel がインストールされていない状態で、すでに Trac をインストールしてしまった場合でも、 `install` をやり直すことで Babel サポートを有効化できます): 
     178{{{ 
     179$ python ./setup.py install 
     180}}} 
     181また、 `bdist_egg` を実行すると dist ディレクトリに作成される .egg ファイルをインストール先にコピーしたり、 (`bdist_wininst` の実行によって) Windows インストーラを作成しても構いません。 
     182 
     183=== 高度なオプション === #AdvancedOptions 
     184 
     185Trac のインストール場所を変えるなどの高度なインストールオプションを知りたければ以下を実行してください: 
     186{{{ 
     187easy_install --help 
     188}}} 
     189 
     190詳細な情報は [http://docs.python.org/inst/inst.html Python モジュールをインストールする] を参照してください。 
     191 
     192特にあなたは以下に興味を持つかもしれません: 
     193{{{ 
     194easy_install --prefix=/path/to/installdir 
     195}}} 
     196Mac OS X に Trac をインストールする場合: 
     197{{{ 
     198easy_install --prefix=/usr/local --install-dir=/Library/Python/2.5/site-packages 
     199}}} 
     200Note: Mac OS X 10.6 上で {{{ easy_install http://svn.edgewall.org/repos/trac/trunk }}} を使用する場合は、オプションを指定しなくても {{{ /usr/local }}} および {{{ /Library/Python/2.6/site-packages }}} にインストールされます。 
     201 
     202上記の例は、 `tracd` と `trac-admin` コマンドを `/usr/local/bin` に、 Trac のライブラリと依存ファイルを `/Library/Python/2.5/site-packages` にインストールします。これらのパスは Apple での Pyhton サードパーティアプリケーションの標準ロケーションです。(訳注: つまり、上記と違うパスにインストールしたい場合のみ、オプションの指定が必要になります) 
     203 
     204 
     205== プロジェクト Environment の作成 == #CreatingaProjectEnvironment 
     206 
     207[TracEnvironment Trac Environment] は Trac が Wiki ページ、チケット、レポート、設定などの情報を保存するバックエンドストレージです。基本的に人間が読み込み可能な [TracIni 構成ファイル] と他の様々なファイルやディレクトリで構成されます。 
     208 
     209新しい Environment は [wiki:TracAdmin trac-admin] を使用して作成します: 
     210{{{ 
     211$ trac-admin /path/to/myproject initenv 
     212}}} 
     213 
     214[TracAdmin trac-admin] は、プロジェクトの名前や [TracEnvironment#DatabaseConnectionStrings データベース接続文字列] など、 Environment を新規作成するために必要な情報を入力するためのプロンプトを表示します。これらの設定項目について特に変更が必要ない場合は、単に `<Enter>` を押下すると、デフォルト値が使用されます。 
     215 
     216データベース接続文字列のデフォルトは SQLite が使用されます。 SQLite がインストールされている場合は、他の設定は不要です。 
     217他の [http://trac.edgewall.org/wiki/DatabaseBackend データベースバックエンド] を使用する場合は、あらかじめデータベースが使用可能な状態にしておかねばなりません。 
     218 
     2190.12 以降で Trac は、新しい Environment の作成時に [TracEnvironment#SourceCodeRepository ソースコードリポジトリ] を尋ねないようになりました。リポジトリを後で [TracRepositoryAdmin 追加する] までの間、バージョン管理のサポートは無効化されます。 
     220 
     221また、 ここで指定した値は [TracIni conf/trac.ini] 設定ファイルを直接編集することで後から変更できます。 
     222 
     223最後に、 Web のフロントエンドを実行しているユーザアカウントは、 Environment のディレクトリと、その中のすべてのファイルに対する書き込み権限が必要です。 `trac-admin ... initenv` の実行を該当するユーザで実行した場合は、この作業は不要ですが、そうでない場合、ただしユーザに権限を付与する作業が必要になります。たとえば Linux で `apache` ユーザ `apache` グループで Web サーバを起動する場合は: 
     224{{{ 
     225# chown -R apache.apache /path/to/myproject 
     226}}} 
     227 
     228== スタンドアロンサーバの起動 == #RunningtheStandaloneServer 
     229 
     230Trac 環境を作成した後に、スタンドアロンサーバ [wiki:TracStandalone tracd] を実行することで簡単に Web インタフェースを試すことができます。 
     231{{{ 
     232$ tracd --port 8000 /path/to/myproject 
     233}}} 
     234 
     235ブラウザを起動して、 `http://localhost:8000/` にアクセスしてください。 `tracd` が認識しているすべての Environment の簡単な一覧が表示されます。作成した Environment へのリンクにアクセスすることで Trac が動作中であることを確認できます。 Trac でプロジェクトをひとつだけ管理したい場合、以下のように起動することで、スタンドアロンサーバは Environment 一覧の表示をスキップして、直接 Environment を表示します: 
     236{{{ 
     237$ tracd -s --port 8000 /path/to/myproject 
     238}}} 
     239 
     240== Web サーバ上での Trac の起動 == #RunningTraconaWebServer 
     241 
     242Trac に "真の" Web サーバから接続するには、いくつかの方法があります: [wiki:TracCgi CGI], [wiki:TracFastCgi FastCGI], [wiki:TracModWSGI mod_wsgi], [wiki:TracModPython mod_python] です。まともな性能を出すには FastCGI か mod_wsgi のどちらかを使用することが推奨されます。 
     243 
     244Trac では [http://trac.edgewall.org/wiki/TracOnWindowsIisAjp AJP] も使用できます。これを使うと IIS とも接続することができます。 
     245 
     246==== Trac の cgi-bin ディレクトリを生成する ==== #GeneratingtheTraccgi-bindirectory 
     247 
     248Trac を FastCGI などで正しく機能させるには、 FastCGI であれば `trac.fcgi` ファイル、 mod_wsgi であれば `trac.wsgi` ファイルが必要となります。これらのファイルは適切な Python コードをロードする Python スクリプトです。 [wiki:TracAdmin trac-admin] コマンドの `deploy` オプションを使用することで生成できます。 
     249 
     250若干の「卵が先か鶏が先か」問題があります。 [wiki:TracAdmin trac-admin] コマンドが機能するためには Environment が必要なのですが、 deploy には既に存在するディレクトリは使用できません。これに起因して、 Environment は depoly するディレクトリのサブディレクトリを使用することができません。この制限を回避するには次のようにすます: 
     251{{{ 
     252mkdir -p /usr/share/trac/projects/my-project 
     253trac-admin /usr/share/trac/projects/my-project initenv 
     254trac-admin /usr/share/trac/projects/my-project deploy /tmp/deploy 
     255mv /tmp/deploy/* /usr/share/trac 
     256}}} 
     257 
     258==== プラグインキャッシュの設定 ==== #SettingupthePluginCache 
     259 
     260Python プラグインの中にはキャッシュディレクトリを必要とするものがあります。デフォルトではキャッシュディレクトリは、現在のユーザのホームディレクトリに置かれます。 Trac を Web サーバで動作させている場合、ホームディレクトリを持たない専用ユーザであることが多く (強く推奨します)、プラグインの起動が妨げられることがあります。キャッシュディレクトリの場所を変更するには、環境変数 PYTHON_EGG_CACHE を設定してください。環境変数を設定する方法の詳細は使用しているサーバのドキュメントから参照してください。 
     261 
     262== 認証の構成 == #ConfiguringAuthentication 
     263 
     264認証のためのユーザアカウントを追加、削除、構成する方法は Trac を起動する方法により異なります。基本的な手順は TracCgi ページの [wiki:TracCgi#AddingAuthentication "認証を追加する"] セクションで説明されていますが、各フロントエンドのための認証をセットアップする方法は、以下のいずれかを参照してください: 
     265 
     266 * スタンドアロンサーバ `tracd` を使用する場合は TracStandalone 
     267 * CGI か FastCGI を使用する場合は TracCgi 
     268 * Apache の mod_wsgi を使用する場合は [wiki:TracModWSGI] 
     269 * Apache の mod_python を使用する場合は TracModPython 
     270 
     271 
     272== SVN のチェンジセットを Trac のチケットに自動リンクする方法 == #AutomaticreferencetotheSVNchangesetsinTractickets 
     273 
     274変更をリポジトリにコミットした時に、チェンジセットへのリンクをチケットのコメントに自動で追加するように SVN を設定することができます。コミットメッセージには以下に示すいずれかの書式が含まれていなければなりません: 
     275 * '''Refs !#123''' - このチェンジセットへのリンクをチケット !#123 に追加します 
     276 * '''Fixes !#123''' - このチェンジセットへのリンクをチケット !#123 に追加し、チケットを ''fixed'' でクローズします。 
     277 
     278この機能を使用するためには post-commit フックを [wiki:TracRepositoryAdmin#ExplicitSync TracRepositoryAdmin] に記載したリポジトリにインストールし、  commit updater コンポーネントを有効にせねばなりません。コンポーネントの有効化は、 [wiki:TracIni#components-section trac.ini] ファイルの `[components]` セクションに下記記述を追加するか、 "プラグイン" (英語版では "Plugins") 管理パネルから設定します。 
     279{{{ 
     280tracopt.ticket.commit_updater.* = enabled 
     281}}} 
     282詳細な情報は "プラグイン" 管理パネルの `CommitTicketUpdater` コンポーネントにあるドキュメントを参照してください。 
     283 
     284== Tracを使用する == #UsingTrac 
     285 
     286一度 Trac サイトを稼働させれば、チケットを作成したり、タイムラインを見たり、 (設定されていれば) バージョン管理のリポジトリを閲覧したりできるはずです。 
     287 
     288anonymous (ログインしていない) でアクセスするユーザは、デフォルトでほとんどの機能を使用することができますが、すべての機能を使用できるわけではないことに留意してください。すべての機能を使用するためには認証を構成して、認証されたユーザに対し [wiki:TracPermissions アクセス許可] を与える必要があるでしょう。 
     289 
     290'' Enjoy! '' 
     291 
     292[http://trac.edgewall.org/wiki/TracTeam The Trac Team] 
     293 
     294---- 
     295See also: [trac:TracInstallPlatforms TracInstallPlatforms], TracGuide, TracCgi, TracFastCgi, TracModPython, [wiki:TracModWSGI], TracUpgrade, TracPermissions