v1 | v2 | |
---|---|---|
1 | = アップグレードの説明 = |
|
1 | = アップグレードの説明 = #UpgradeInstructions | |
2 | 2 | [[TracGuideToc]] |
3 | 3 | |
4 | ||
4 | [TracEnvironment Trac Environment] をアップグレードする前に Trac-0.11 が使用可能になっている必要があります。このドキュメントでは TracEnvironment をアップグレードするのに必要な手順を説明します。 | |
5 | 5 | |
6 | '''Note''': ''特に指示がない限り、マイナーバージョンのリリース時には TracEnvironment のアップグレードは必要ありません。例えば、 0.8.0 で作成した (もしくはそれ以前のバージョンからアップグレードした) TracEnvironment を 0.8.4 (もしくは0.8.x) インストール時にアップグレードする必要はありません。'' | |
6 | 特に指示がない限り、マイナーバージョンのリリース時には TracEnvironment のアップグレードは必要ありません。 | |
7 | 7 | |
8 | == 一般的な手順 == |
|
8 | == 一般的な手順 == #Instructions | |
9 | 9 | |
10 | 10 | 通常、 Trac を新しいバージョンにアップグレードするときに、 4 ステップを踏まなければなりません: |
11 | 11 | |
12 | === Trac のコードを更新する === |
|
12 | === Trac のコードを更新する === #UpdatetheTracCode | |
13 | 13 | |
14 | Trac |
|
14 | TracInstall または、あなたの OS に合った方法で新しいバージョンの Trac を取得してください。 | |
15 | 15 | |
16 | もし、メジャーバージョンのアップグレード (例えば 0.8 から 0.9) を行ったら、最初に現在インストールしている Trac のコードを削除することを ''特に'' 勧めます。 `trac` ディレクトリを Python の `lib/site-packages` ディレクトリから削除して下さい。 Trac の `cgi-bin`, `htdocs`, `templates` そして、 `wiki-default` ディレクトリも削除したいときは、通常 `share/trac` ディレクトリ以下に存在するでしょう。(正確なロケーションはプラットフォームに依存します) | |
16 | 手で (OS 特有でない) アップグレードをするのであれば、インストールを実行する前に起動中の Trac サーバを停止してください。 "ホット" アップグレードは問題を生じることが多いです。特に Windows では出来ないと考えてください ([http://trac.edgewall.org/ticket/7265 #7265])。 | |
17 | 17 | |
18 | ソースコードを入手したら、以下のコマンドを実行して下さい。 | |
19 | {{{ | |
20 | python setup.py install | |
21 | }}} | |
18 | すでに存在する Trac のコードを削除するには、 Python の `lib/site-packages` ディレクトリから `trac` ディレクトリか、 Trac の .egg の古いバージョンを削除します。 | |
19 | site-packages ディレクトリの位置は OS のシステム、および Python のインストールパスにより異なりますが、一般的には以下の位置にあります: | |
20 | * Linux を使用している場合: /usr/lib/python2.X/site-packages | |
21 | * Windows を使用している場合: C:\Python2.X\lib\site-packages | |
22 | * MacOSX を使用している場合: /Library/Python/2.X/site-packages | |
22 | 23 | |
23 | 新しいバージョンをインストールするコマンドです。もし、 Windows インストーラバージョンをダウンロードしたならば、インストーラを実行するなどして下さい。 | |
24 | また、 `share/trac` (正確な位置はプラットフォームに依存しますが一般的にはこの位置です。) ディレクトリ内の `cgi-bin`, `htdocs`, `templates`, `wiki-default` といったディレクトリを削除してもかまいません。 (訳注: 0.11 では、これらのディレクトリは `site-packages/trac` の配下に移動しています) | |
24 | 25 | |
25 | === TracEnvironment をアップグレードする === | |
26 | このクリーンアップは必須ではありませんが、あとでトラブルシュートを行う場合の切り分けが容易になります。すでに使われていない前のリリースのコードやテンプレートを見るなどという時間の浪費をしたくないのであれば、削除しておく方が楽です。もちろん、ファイルを削除する前にバックアップを作成する方が良いでしょう。 | |
26 | 27 | |
27 | 指示がない限り、メジャーバージョンをアップグレードする (例えば 0.8 から 0.9) ときは、データベーススキーマの変更と、おそらく [wiki:TracEnvironment TracEnvironment のディレクトリ] 構成の変更が生じます。幸運なことに Trac は自動アップデートのスクリプトを提供しているので、負担が軽減されるでしょう。これらのスクリプトは [wiki:TracAdmin trac-admin] を通して起動されます: | |
28 | webadmin plugin をインストールしていた場合は、アンインストールしてください。今や webadmin plugin は Trac コードベースの一部です。 | |
29 | ||
30 | === TracEnvironment をアップグレードする === #UpgradetheTracEnvironment | |
31 | ||
32 | アップグレードした Trac がロードされると、アップグレードする必要があるインスタンスが表示されます。アップグレードはオートメーションされたスクリプトを手で実行します。これらのスクリプトでは [TracAdmin trac-admin] を使用します。 | |
28 | 33 | {{{ |
29 | 34 | trac-admin /path/to/projenv upgrade |
… | … | |
32 | 37 | このコマンドはもし TracEnvironment がすでに最新の状態になっているときは、何もしません。 |
33 | 38 | |
34 | Note: PostgreSQL データベース |
|
39 | Note: PostgreSQL データベース (訳注: MySQL も) を使用している場合、このコマンドは「 Environment のバックアップは SQLite を使っているときしか出来ない」というメッセージを出力して失敗します。リポジトリとデータベースのバックアップは手動で行う必要があります。その後、アップグレードを行うために次のコマンドを実行してください: | |
35 | 40 | {{{ |
36 | 41 | trac-admin /path/to/projenv upgrade --no-backup |
37 | 42 | }}} |
38 | 43 | |
39 | === Trac ドキュメントを更新する === | |
44 | カスタム CSS スタイルを使用していたり、 TracEnvironment の templates ディレクトリテンプレートを変更している場合、 Genshi のやり方にコンバートする必要があります。スタイルシートを使用し続けたい場合、 TracInterfaceCustomization#SiteAppearance の手順を読んでください。 | |
40 | 45 | |
41 | すべての [wiki:TracEnvironment Tracenvironment] インストールされたバージョンの Trac ドキュメントのコピーを含んでいます。新しくインストールした Trac のドキュメントと同期を取りたいでしょう。 [wiki:TracAdmin trac-admin] がドキュメントを更新するコマンドを提供しています: | |
46 | === Trac ドキュメントを更新する === #UpdatetheTracDocumentation | |
47 | ||
48 | すべての [TracEnvironment Trac Environment] で、インストールされたバージョンの Trac ドキュメントのコピーを含んでいます。新しくインストールした Trac のドキュメントと同期を取りたいでしょう。 [TracAdmin trac-admin] がドキュメントを更新するコマンドを提供しています: | |
42 | 49 | {{{ |
43 | 50 | trac-admin /path/to/projenv wiki upgrade |
44 | 51 | }}} |
45 | 52 | |
46 | 当然このプロシージャはあなたの `WikiStart` ページ |
|
53 | 当然このプロシージャはあなたの `WikiStart` ページ (訳注: `InterMapText` も) をまったく変更せず、そのままに残しておきます。 | |
47 | 54 | |
48 | === Web サーバを再起動する === | |
55 | === サイトテンプレート === #SiteTemplates | |
56 | 0.11 でテンプレートエンジンが変更されました。 TracInterfaceCustomization を参照してください。 | |
49 | 57 | |
50 | 新しい Trac コードをリロードするために、 Web サーバを再起動する必要があります。 (古い [wiki:TracCgi CGI] プログラムを使用しているときは必要ありません。) | |
58 | === Trac マクロプラグイン === #TracMacrosPlugins | |
59 | !ClearSilver と HDF が使用されなくなったことで、古いスタイルの Wiki マクロ は使用できなくなります。そのため Trac マクロを適応させる必要があるでしょう; 新しいスタイルのマクロに変更する必要があれば WikiMacros を参照してください。新しいスタイルにコンバートした後、配置するディレクトリは wiki-macros ではなく、 plugins を使用してください。 wiki-macros ディレクトリからマクロやプラグインを探すことはもうありません。 | |
51 | 60 | |
52 | == |
|
61 | === CGI 利用者向けの注意 === #ForCGIusers | |
53 | 62 | |
54 | 以下のセクションでは Trac の特定のバージョンにアップグレードするときにやらなければならないことについて記述します。 | |
55 | ||
56 | == 0.9 から 0.10 へのアップグレード == | |
57 | ||
58 | Wiki シンタックスでいくつかの変更があったため、いくつかのページでは期待通りに動かないことに気づくでしょう: | |
59 | * バージョン 0.9 以前、画像ファイルへのリンクはページの中に組み込まれていました。 0.10 以降では、画像ファイルへのリンクは単なる画像ファイルへのリンクとなります。もし、そのページに画像ファイルを組み込みたいならば、 `[[Image]]` マクロを使用して下さい。 | |
60 | * wiki のリンクでスペース文字をエンコードするのに、 `%20` を使用しなくてもよくなりました。その代わり、スペースを含んでいる名前を括って下さい。 (例えば、`wiki:My%20page` の代わりに `wiki:"My page"` を使用することができます。) | |
61 | ||
62 | いくつかの拡張機能がバージョンコントロールサブシステムに追加されました。特にスコープつきのリポジトリの対応が向上しました。 | |
63 | これらの機能をうまく利用するために、 '''`resync`''' 操作を [TracAdmin#対話モード trac-admin] で実行することを推奨します。 | |
64 | ||
65 | [TracAdmin trac-admin] の '''`initenv`''' コマンドの引数リストが変更になったことに注意して下さい: バージョンコントロールシステムの種類を設定するための新しい引数が追加されました。古い使用方法は以下の通りです: | |
63 | CGI で Trac を起動している場合、以下のコマンドを実行して trac.cgi ファイルを取得してください: | |
66 | 64 | {{{ |
67 | initenv <projectname> <db> <repospath> <templatepath> | |
68 | }}} | |
69 | 新しい使用方法ではこうなります: | |
70 | {{{ | |
71 | initenv <projectname> <db> <repostype> <repospath> <templatepath> | |
72 | }}} | |
73 | TracEnvironment を自動で生成するスクリプトを使用している場合は、アップデートする必要があります。もし、 Subversion を使用しているならば、 `<repostype>` 引数に `svn` を指定して下さい。 | |
74 | ||
75 | == 0.9.3 から 0.9.4 へのアップグレード == | |
76 | ||
77 | レポートのクエリで `LIKE` 節での "%" や日付のフォーマットを使用すると落ちるというバグが Pysqlite 1.x に存在します。パーセント文字を使用するときは、もう一つパーセント文字を付けてエスケープする必要があります: "%%" | |
78 | ||
79 | == 0.9.x から 0.9.3 以降へのアップグレード == | |
80 | ||
81 | もし、プラグインを使用しているならば、それらをアップグレードする必要があるでしょう。詳細は http://trac.edgewall.org/milestone/0.9.3 を参照して下さい。 | |
82 | ||
83 | == 0.9-beta から 0.9 へのアップグレード == | |
84 | ||
85 | 静的リソース (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` のパスを確認し、誤っていれば修正してください。 | |
86 | ||
87 | Trac 0.9 のベータリリースでプラグインを使用しているか、組み込みコンポーネントの無効化を行っていたら、 [wiki:TracIni trac.ini] でコンポーネントの無効化 / 有効化のルールを更新しなければならないかもしれません。特にグローバルにインストールされたプラグインは、現在では明示的に有効化する必要があります。詳しくは TracPlugins と TracIni を参照して下さい。 | |
88 | ||
89 | タイムラインでチケットの全ての更新を表示させたい ("チケットの詳細" オプション) 場合も、 [wiki:TracIni trac.ini] での明示的な有効化が必要です: | |
90 | ||
91 | {{{ | |
92 | [timeline] | |
93 | ticket_show_details = true | |
65 | trac-admin /path/to/env deploy /deploy/directory/path | |
94 | 66 | }}} |
95 | 67 | |
96 | == 0.8.x から 0.9 へのアップグレード == | |
68 | このコマンドでは、デプロイ用ディレクトリを作成します。デプロイ用ディレクトリには `cgi-bin` と `htdocs` の二つのサブディレクトリが含まれています。 Apache の `httpd.conf` を新しい `trac.cgi` と `htdocs` の場所に更新してください。 | |
97 | 69 | |
98 | [wiki:TracModPython mod_python] を使用している場合は Apache HTTPD の設定で mod_python ハンドラの名前を変更する必要があります: | |
70 | === Web サーバを再起動する === #RestarttheWebServer | |
71 | [wiki:TracCgi CGI] 以外で起動している場合は、 Web サーバを再起動して、新しい Trac コードをリロードしてください。 | |
72 | ||
73 | ||
74 | == 既知の問題 == #KnownIssues | |
75 | === 複数プロジェクトのホストに関して === #parentdir | |
76 | 複数のプロジェクトをホストした場合に、配下のプロジェクトのうち一つのプロジェクトで、プラグインの一つが動作していないとき、配下のすべてのプロジェクトではそのプラグインは動作していません。 | |
77 | === コアモジュールがロードされない === #somecoremoduleswontload | |
78 | Windows で Python 2.3 を使用している場合、最初にアンインストールを行わずにアップグレードすると時々発生します。 | |
79 | いくつかのモジュールは、以前はキャピタライズされていましたが、小文字のみに変更されました (例えば、 trac/About.py が trac/about.py に変更されるなど)。以下のようなメッセージが Trac のログに出てくる場合: | |
99 | 80 | {{{ |
100 | from: PythonHandler trac.ModPythonHandler | |
101 | to: PythonHandler trac.web.modpython_frontend | |
81 | ERROR: Skipping "trac.about = trac.about": (can't import "No module named about") | |
102 | 82 | }}} |
83 | `Lib/site-packages/trac` ディレクトリを削除してから、再インストールしてください。 | |
84 | === Wiki Upgrade === WikiUpgrade | |
85 | `trac-admin` はページを削除しません。バージョン 0.10 では存在し、バージョン 0.11 では存在しないページはそのまま残ります。 (0.11 開発中に存在した !TracWikiMacros など) | |
103 | 86 | |
104 | [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 形式に変換しなければなりません。 | |
87 | == データベースの変更 == #ChangingDatabaseBackend | |
88 | === SQLite から PostgreSQL へ === #SQLitetoPostgreSQL | |
105 | 89 | |
106 | もし変換を行うならば、 SQLite の 2.8.x と 3.x の両方をインストールする必要があります (バージョンごとにファイル名が異なるので、同じシステム内に共存できます)。以下に示すコマンドを使用して下さい: | |
90 | [http://trac-hacks.org trac-hacks.org] の [http://trac-hacks.org/wiki/SqliteToPgScript sqlite2pg] は SQLite のデータベースを PostgreSQL に移行するためのサポートをするスクリプトです。 | |
91 | ||
92 | == より古いバージョン == #OlderVersions | |
93 | ||
94 | さらに前のバージョンからのアップグレードについては [http://trac.edgewall.org/wiki/0.10/TracUpgrade 0.10/TracUpgrade] をまずは参照してください。 | |
95 | ||
96 | Note: Trac 0.11 から Trac 0.10.4 や 0.10.5 にダウングレードするには、手作業が必要になります: | |
107 | 97 | {{{ |
108 | $ mv trac.db trac2.db | |
109 | $ sqlite trac2.db .dump | sqlite3 trac.db | |
98 | $ sqlite3 db/trac.db "update system set value=20 where name='database_version'" | |
110 | 99 | }}} |
111 | ||
112 | Linux で複数のデータベースファイルを一度にアップグレードするために、以下のコマンドが使用できるでしょう。( {{{/var/trac}}} は実際に Trac をインストールしたパスに置き換えて下さい ): | |
113 | {{{ | |
114 | $ find /var/trac/ -iname "trac.db" | xargs -i bash -c "mv {} {}.2; sqlite {}.2 .dump | sqlite3 {};" | |
115 | }}} | |
116 | ||
117 | web サーバに trac.db への書き込み権限を忘れずに付けてください。 | |
118 | ||
119 | 変換が成功した後、 `trac2.db` ファイルは削除することができます。 SQLite のアップグレードに関するより詳しい情報は [http://www.sqlite.org/version3.html] を参照して下さい。 | |
120 | ||
121 | == 0.7 から 0.8 へのアップグレード == | |
122 | ||
123 | 0.8 では追加のパーミッションを必要とする新しい機能が加わりました。 | |
124 | 新規にインストールを行なった場合は、 anonymous に ROADMAP_VIEW と MILESTONE_VIEW パーミッションがデフォルトで与えられますが、 | |
125 | 既存の trac をアップグレードしたときは、 | |
126 | これらのパーミッションを手動で与えなければなりません。: | |
127 | {{{ | |
128 | $ trac-admin /path/to/projectenv permission add anonymous MILESTONE_VIEW | |
129 | $ trac-admin /path/to/projectenv permission add anonymous ROADMAP_VIEW | |
130 | }}} | |
100 | (あとで再度、正常にアップグレードすることができます) | |
131 | 101 | |
132 | 102 | ----- |