= アップグレードの説明 = [[TracGuideToc]] Trac を新しいバージョンで使用する前に Trac Environment をアップグレードしなければならない場合があります。このドキュメントでは Trac Environment をアップグレードするのに必要な手順を説明します。 '''Note''': ''特に指示がない限り、マイナーバージョンのリリース時には TracEnvironment のアップグレードは必要ありません。例えば、0.8.0で作成した(もしくはそれ以前のバージョンからアップグレードした)TracEnvironment を 0.8.4(もしくは0.8.x)インストール時にアップグレードする必要はありません。'' == 一般的な手順 == 通常、Tracを新しいバージョンにアップグレードするときに、4ステップを踏まなければなりません: === Trac のコードを更新する === Trac の新しいバージョンを入手してください。オフィシャルリリースのパッケージをダウンロードするかもしくは [http://projects.edgewall.com/trac/wiki/SubversionRepository Subversionリポジトリ] からチェックアウトして下さい。 ソースコードを入手したら、以下のコマンドを実行して下さい。 {{{ python setup.py install }}} 新しいバージョンをインストールするコマンドです。もし、Windows インストーラバージョンをダウンロードしたならば、インストーラを実行するなどして下さい。 どのような場合でも、メジャーバージョンをアップグレードする場合 (0.8 から 0.9 にアップグレードするなど) 最初に今現在、存在している Trac のコードを削除することを''特に'' お勧めします。削除するには、 `trac` のディレクトリを Python の `lib/site-packages` ディレクトリから削除します。もし Trac `cgi-bin`, `htdocs`, `templates` ディレクトリも削除したいならば、それらは `share/trac` というディレクトリの中で見つかるでしょう。(正確なロケーションはプラットフォームに依存します) === TracEnvironment をアップグレードする === 指示がない限り、メジャーバージョンをアップグレードする (例えば 0.8 から 0.9) ときは、データベーススキーマの変更と、おそらく [wiki:TracEnvironment TracEnvironmentのディレクトリ] 構成の変更が生じます。幸運なことに Trac は自動アップデートのスクリプトを提供しているので、負担が軽減されるでしょう。これらのスクリプトは [wiki:TracAdmin trac-admin] を通して起動されます: {{{ trac-admin /path/to/projenv upgrade }}} このコマンドはもし TracEnvironment がすでに最新の状態になっているときは、何もしません。 Note: PostgreSQL データベースを使用している場合、このコマンドは「 Environment のバックアップは SQLite を使っているときしか出来ない」というメッセージを出力して失敗します。リポジトリとデータベースのバックアップは手動で行う必要があります。その後、アップグレードを行うために次のコマンドを実行してください: {{{ trac-admin /path/to/projenv upgrade --no-backup }}} === Trac ドキュメントを更新する === すべての [wiki:TracEnvironment Tracenvironment] インストールされたバージョンの Trac ドキュメントのコピーを含んでいます。新しくインストールした Trac のドキュメントと同期を取りたいでしょう。 [wiki:TracAdmin trac-admin] がドキュメントを更新するコマンドを提供しています: {{{ trac-admin /path/to/projenv wiki upgrade }}} このプロシージャは `WikiStart` ページをそのままにしておくことを気に留めておいてください。 === Web サーバを再起動する === 新しい Trac コードをリロードするために、 Web サーバを再起動する必要があります。 (古い [wiki:TracCgi CGI] プログラムを使用しているときは必要ありません。) == 特定のバージョン間のアップグレードについての付記 == 以下のセクションでは Trac の特定のバージョンにアップグレードするときにやらなければならないことについて記述します。 == 0.9-beta から 0.9 へのアップグレード == 静的リソース (CSS, javascript, 画像ファイル) のインクルードは機能しません。 trac.ini の `htdocs_location` を確認してください。 [wiki:TracModPython mod_python], [wiki:TracStandalone Tracd], [wiki:TracFastCgi FastCGI] を使用している場合、単にオプションを削除してください。 [wiki:TracCgi CGI] を使用している場合、Trac の `htdocs` ディレクトリへの URL マップを修正しなければいけません (以前の記述を削除し、 [wiki:TracCgi#静的なリソースをマッピングする 静的なリソースをマッピングする])。オプションを削除した後でも問題が残っている場合、ファイル `trac/siteconfig.py` のパスを確認し、誤っていれば修正してください。 Trac 0.9 のベータリリースでプラグインを使用しているか、組み込みコンポーネントの無効化を行っていたら、 [wiki:TracIni trac.ini] でコンポーネントの無効化 / 有効化のルールを更新しなければならないかもしれません。特にグローバルにインストールされたプラグインは、現在では明示的に有効化する必要があります。詳しくは TracPlugins と TracIni を参照して下さい。 タイムラインでチケットの全ての更新を表示させたい ("チケットの詳細" オプション) 場合も、 [wiki:TracIni trac.ini] での明示的な有効化が必要です: {{{ [timeline] ticket_show_details = true }}} == 0.8.x から 0.9 へのアップグレード == [wiki:TracModPython mod_python] を使用している場合は Apache HTTPD の設定で mod_python ハンドラの名前を変更する必要があります: {{{ from: PythonHandler trac.ModPythonHandler to: PythonHandler trac.web.modpython_frontend }}} [http://initd.org/tracker/pysqlite PySQLite] の 2.x がインストールされているなら、注意してください。今や Trac は SQLite 3.x のファイルフォーマットで 2.x のデータベースを開こうとします。 SQLite 2.8.x と 3.x のデータベースのフォーマットに互換性がありません。もしアップデート後に ''"file is encrypted or is not a database"'' といったエラーが出力されたら、データベースファイルを 3.x 形式に変換しなければなりません。 もし変換を行うならば、 SQLite の 2.8.x と 3.x の両方をインストールする必要があります (バージョンごとにファイル名が異なるので、同じシステム内に共存できます)。以下に示すコマンドを使用して下さい: {{{ $ mv trac.db trac2.db $ sqlite trac2.db .dump | sqlite3 trac.db }}} 変換が成功した後、 `trac2.db` ファイルは削除することができます。 SQLite のアップグレードに関するより詳しい情報は [http://www.sqlite.org/version3.html] を参照して下さい。 == 0.7 から 0.8 へのアップグレード == 0.8では追加のパーミッションを必要とする新しい機能が加わりました。 新規にインストールを行なった場合は、 anonymous に ROADMAP_VIEW と MAILSTONE_VIEW パーミッションがデフォルトで与えられますが、 既存のtrac をアップグレードしたときは、 これらのパーミッションを手動で与えなければなりません。: {{{ $ trac-admin /path/to/projectenv permission add anonymous MILESTONE_VIEW $ trac-admin /path/to/projectenv permission add anonymous ROADMAP_VIEW }}} ----- See also: TracGuide, TracInstall