v2 | v3 | |
---|---|---|
2 | 2 | [[TracGuideToc]] |
3 | 3 | |
4 | ||
5 | ||
6 | ||
7 | ||
8 | 4 | == 一般的な手順 == #Instructions |
9 | 5 | |
10 | 通常、 Trac を新しいバージョンにアップグレードするときに、 |
|
6 | 通常、 Trac を新しいバージョンにアップグレードするときに、 7 ステップを踏まなければなりません: | |
11 | 7 | |
12 | === |
|
8 | === 1. Trac のコードを更新する === #UpdatetheTracCode | |
13 | 9 | |
14 | 10 | TracInstall または、あなたの OS に合った方法で新しいバージョンの Trac を取得してください。 |
15 | 11 | |
16 | 手で (OS 特有でない) アップグレードをするのであれば、インストールを実行する前に起動中の Trac サーバを停止してください。 "ホット" アップグレードは問題を生じることが多いです。特に Windows では出来ないと考えてください ([http://trac.edgewall.org/ticket/7265 #7265])。 | |
12 | `easy_install` を使って、バージョン 0.11 の Trac をインストールした場合は、 Trac のアップグレードにも `easy_install` を使うのが最も簡単な方法でしょう: | |
13 | ||
14 | {{{ | |
15 | # easy_install --upgrade Trac==0.12 | |
16 | }}} | |
17 | ||
18 | 手動で (OS 特有でない) アップグレードをするのであれば、インストールを実行する前に起動中の Trac サーバを停止してください。 "ホット" アップグレードは問題を生じることが多いです。特に Windows では出来ないと考えてください ([http://trac.edgewall.org/ticket/7265 本家チケット 7265])。 | |
17 | 19 | |
18 | 20 | すでに存在する Trac のコードを削除するには、 Python の `lib/site-packages` ディレクトリから `trac` ディレクトリか、 Trac の .egg の古いバージョンを削除します。 |
19 | 21 | site-packages ディレクトリの位置は OS のシステム、および Python のインストールパスにより異なりますが、一般的には以下の位置にあります: |
20 | * Linux |
|
21 | * Windows |
|
22 | * MacOSX |
|
22 | * Linux の場合: `/usr/lib/python2.X/site-packages` | |
23 | * Windows の場合: `C:\Python2.X\lib\site-packages` | |
24 | * MacOSX の場合: `/Library/Python/2.X/site-packages` | |
23 | 25 | |
24 | 26 | また、 `share/trac` (正確な位置はプラットフォームに依存しますが一般的にはこの位置です。) ディレクトリ内の `cgi-bin`, `htdocs`, `templates`, `wiki-default` といったディレクトリを削除してもかまいません。 (訳注: 0.11 では、これらのディレクトリは `site-packages/trac` の配下に移動しています) |
… | … | |
26 | 28 | このクリーンアップは必須ではありませんが、あとでトラブルシュートを行う場合の切り分けが容易になります。すでに使われていない前のリリースのコードやテンプレートを見るなどという時間の浪費をしたくないのであれば、削除しておく方が楽です。もちろん、ファイルを削除する前にバックアップを作成する方が良いでしょう。 |
27 | 29 | |
28 | webadmin plugin をインストールしていた場合は、アンインストールしてください。今や webadmin plugin は Trac コードベースの一部です。 | |
30 | === 2. TracEnvironment をアップグレードする === #UpgradetheTracEnvironment | |
29 | 31 | |
30 | === TracEnvironment をアップグレードする === #UpgradetheTracEnvironment | |
32 | Environment のアップグレードは、マイナーバージョンアップに特別な注意書きがない限り、不要です。 | |
31 | 33 | |
32 | 34 | アップグレードした Trac がロードされると、アップグレードする必要があるインスタンスが表示されます。アップグレードはオートメーションされたスクリプトを手で実行します。これらのスクリプトでは [TracAdmin trac-admin] を使用します。 |
… | … | |
37 | 39 | このコマンドはもし TracEnvironment がすでに最新の状態になっているときは、何もしません。 |
38 | 40 | |
39 | Note: PostgreSQL データベース (訳注: MySQL も) を使用している場合、このコマンドは「 Environment のバックアップは SQLite を使っているときしか出来ない」というメッセージを出力して失敗します。リポジトリとデータベースのバックアップは手動で行う必要があります。その後、アップグレードを行うために次のコマンドを実行してください: | |
41 | Note: データベースのバックアップはアップグレード時に自動で行われます。 | |
42 | この機能は最近の更新で、データベースバックエンドに PostgreSQL や MySQL を使用している場合にも対応しましたが、失敗してしまう場合は手動でバックアップしてください。その後、バックアップをスキップしてアップグレードを行うために、下記のコマンドを実行してください: | |
40 | 43 | {{{ |
41 | 44 | trac-admin /path/to/projenv upgrade --no-backup |
42 | 45 | }}} |
43 | 46 | |
44 | カスタム CSS スタイルを使用していたり、 TracEnvironment の templates ディレクトリテンプレートを変更している場合、 Genshi のやり方にコンバートする必要があります。スタイルシートを使用し続けたい場合、 TracInterfaceCustomization#SiteAppearance の手順を読んでください。 | |
45 | ||
46 | === Trac ドキュメントを更新する === #UpdatetheTracDocumentation | |
47 | === 3. Trac ドキュメントを更新する === #UpdatetheTracDocumentation | |
47 | 48 | |
48 | 49 | すべての [TracEnvironment Trac Environment] で、インストールされたバージョンの Trac ドキュメントのコピーを含んでいます。新しくインストールした Trac のドキュメントと同期を取りたいでしょう。 [TracAdmin trac-admin] がドキュメントを更新するコマンドを提供しています: |
… | … | |
51 | 52 | }}} |
52 | 53 | |
53 | ||
54 | このプロシージャはあなたの `WikiStart` ページ (訳注: `InterMapText` も) をまったく変更せず、そのままに残しておきます。 | |
54 | 55 | |
55 | === サイトテンプレート === #SiteTemplates | |
56 | 0.11 でテンプレートエンジンが変更されました。 TracInterfaceCustomization を参照してください。 | |
56 | === 4. Trac Environment とソースコードリポジトリの再同期 === #a4.ResynchronizetheTracEnvironmentAgainsttheSourceCodeRepository | |
57 | 57 | |
58 | === Trac マクロプラグイン === #TracMacrosPlugins | |
59 | !ClearSilver と HDF が使用されなくなったことで、古いスタイルの Wiki マクロ は使用できなくなります。そのため Trac マクロを適応させる必要があるでしょう; 新しいスタイルのマクロに変更する必要があれば WikiMacros を参照してください。新しいスタイルにコンバートした後、配置するディレクトリは wiki-macros ではなく、 plugins を使用してください。 wiki-macros ディレクトリからマクロやプラグインを探すことはもうありません。 | |
58 | Trac でソースコードをブラウズしているときに "[http://trac.edgewall.org/ticket/6120 リポジトリにチェンジセット ??? が存在しません]" のようなエラーが出る場合は、それぞれの [TracEnvironment Trac environment] のソースコードリポジトリと再同期をする必要があります。 | |
60 | 59 | |
61 | === CGI 利用者向けの注意 === #ForCGIusers | |
60 | {{{ | |
61 | trac-admin /path/to/projenv repository resync '*' | |
62 | }}} | |
62 | 63 | |
63 | CGI で Trac を起動している場合、以下のコマンドを実行して trac.cgi ファイルを取得してください: | |
64 | === 5. 静的リソースをリフレッシュする === #a5.Refreshstaticresources | |
65 | ||
66 | もし、静的リソースを直接配布できる ( URL `/chrome/` を使用してアクセス) ようにウェブサーバをセットアップしていたら、同じくコマンドを使用してそれらをリフレッシュする必要があります: | |
67 | {{{ | |
68 | trac-admin /path/to/env deploy /deploy/path | |
69 | }}} | |
70 | このコマンドは、新しい Trac のバージョンとそのプラグインから `/deploy/path` に静的リソースと CGI スクリプト (`trac.wsgi`, など) を抽出します。 | |
71 | ||
72 | いくつかのウェブブラウザは、 CSS や Javascript ファイルをしつこくキャッシュしているので、ユーザにはこれらのブラウザのキャッシュの中身を手動で削除するように指示したほうがいいかもしれません。 | |
73 | ||
74 | === 6. 特定の Trac バージョンでの特記事項 === #a6.StepsspecifictoagivenTracversion | |
75 | ==== Trac 0.11 から Trac 0.12 にアップグレードする ==== #UpgradingfromTrac0.11toTrac0.12 | |
76 | ===== Python 2.3 サポート ===== #Python2.3nolongersupported | |
77 | 現在 Python 2.4 以降 をサポートします。 | |
78 | ||
79 | ===== SQLite v3.x ===== #SQLitev3.xrequired | |
80 | SQLite v2.x のサポートは終了しました。もしいまだに Trac で SQLite v2.x のデータベースを使用しているようならば、まず最初に SQLite v3.x に変換する必要があります。詳細は [http://trac.edgewall.org/wiki/PySqlite#UpgradingSQLitefrom2.xto3.x] を参照して下さい。 | |
81 | ||
82 | ===== [http://trac.edgewall.org/wiki/PySqlite PySqlite] 2 ===== #PySqlite2required | |
83 | [http://trac.edgewall.org/wiki/PySqlite PySqlite] 1.1.x のサポートは終了しました。可能であれば、バージョン 2.5.5 以降のバージョンをインストールして下さい。 (下記 [#Tracdatabaseupgrade Trac データベースのアップグレード] を参照して下さい。) | |
84 | ||
85 | ===== 複数のリポジトリのサポート===== #MultipleRepositorySupport | |
86 | 最新のバージョンでは複数リポジトリの取り扱いをサポートしています。Trac に複数のリポジトリを追加する予定であるならば、今では複数のリポジトリを扱えるようになっています。詳細については、 [TracRepositoryAdmin#Migration 単一リポジトリからの移行手順] を参照して下さい。 | |
87 | ||
88 | もし単一のリポジトリでの運用を行なっていたとしてもこの手順は興味深いものとなるかもしれません。なぜなら、この方法によってリクエスト毎に発生する潜在的に負荷の高い再同期のチェックを避けることができるからです。 | |
89 | ||
90 | ===== 向上したリポジトリの再同期 ===== #Improvedrepositorysynchronization | |
91 | 複数のリポジトリをサポートするのに加えて、今では Trac と リポジトリの同期でより効果的な方法があります。 | |
92 | ||
93 | バージョン 0.11 と同様に post-comit フックを使用した同期方法を続けることもできますが、[TracRepositoryAdmin#Synchronization リポジトリの同期方法] や [TracRepositoryAdmin#ExplicitSync 明示的な同期] に書かれている方法の方が、より効果的な同期を行なうことができ、多かれ少なかれ、複数のリポジトリを扱う際に必須となります。 | |
94 | ||
95 | Note: もし、 `trac-post-commit-hook` を使用していたならば、上記を参照して、新しいフックに ''アップグレードすることを強くお勧めします'' 。なぜなら、古いフックはデフォルトのリポジトリ以外では動きません。そしてこの場合、適切な通知のトリガーとなりません。 | |
96 | ||
97 | ===== Authz のパーミッションチェック ===== #Authzpermissionchecking | |
98 | authz のパーミッションチェックが粒度の細かいパーミッションポリシーとしてマイグレートされました。もし authz パーミッションを使用しているならば、 ( `[trac] authz_file` や `authz_module_name` を参照)、 `[trac] permission_policies` で定義するパーミッションポリシーの先頭に、 `AuthzSourcePolicy` を追加しなければなりません。また、グローバルのパーミッション設定から `BROWSER_VIEW`, `CHANGESET_VIEW`, `FILE_VIEW`, `LOG_VIEW` を削除しなければなりません (`trac-admin $ENV permission remove` コマンドまたは、管理パネルの "権限" から削除されます。) | |
99 | ||
100 | ==== マイクロ秒のタイムスタンプ ==== #Microsecondtimestamps | |
101 | データベースのテーブルにある全てのタイムスタンプ (セッションテーブルは除く) は "エポックからの秒数" から "エポックからのマイクロ秒数" へ値を変更しました。この変更はカスタムレポートを除いて、ほとんどのユーザは意識せずにすむはずです。レポートで計算に日付/時刻カラムを使用するような場合 (例えば、`datetime()`に渡す場合)、データベースから取り出した値を 1,000,000 で割る必要があります。同様に、もしレポートで日付/時刻と表示される計算された値 (カラム名が "time", "datetime", "changetime", "date", "created" や "modified") をマイクロ秒のタイムスタンプで用いる必要がある場合には、先の計算を1,000,000倍して下さい。 | |
102 | ||
103 | ==== Trac 0.10 から Trac 0.11 へのアップグレード ==== #UpgradingfromTrac0.10toTrac0.11 | |
104 | ===== テンプレート と スタイルシート ===== #SiteTemplatesandStyles | |
105 | テンプレートエンジンが Trac 0.11 から Genshi に変わりました。詳細については、 TracInterfaceCustomization を参照して下さい。 | |
106 | ||
107 | もし、TracEnvironment の `templates` ディレクトリの中のカスタマイズされた CSS や 修正したテンプレートを使用しているならば、 Genshi のスタイルに変換する必要があります。カスタマイズしたスタイルシートを使い続けるためには、[TracInterfaceCustomization#SiteAppearance サイトの外観] の手順に従ってください。 | |
108 | ||
109 | ===== Trac マクロプラグイン ===== #TracMacrosPlugins | |
110 | [http://trac.edgewall.org/wiki/ClearSilver ClearSilver] と HDF が使用されなくなったことで、古いスタイルの Wiki マクロ は使用できなくなります。そのため Trac マクロを適応させる必要があるでしょう; 新しいスタイルのマクロに変更する必要があれば WikiMacros を参照してください。新しいスタイルにコンバートした後、配置するディレクトリは wiki-macros ではなく、 plugins を使用してください。 wiki-macros ディレクトリからマクロやプラグインを探すことはもうありません。 | |
111 | ||
112 | ===== FCGI/WSGI/CGI を使用する場合 ===== #ForFCGIWSGICGIusers | |
113 | CGI で Trac を起動している場合、以下のコマンドを実行して trac.*gi ファイルを取得してください: | |
64 | 114 | {{{ |
65 | 115 | trac-admin /path/to/env deploy /deploy/directory/path |
… | … | |
68 | 118 | このコマンドでは、デプロイ用ディレクトリを作成します。デプロイ用ディレクトリには `cgi-bin` と `htdocs` の二つのサブディレクトリが含まれています。 Apache の `httpd.conf` を新しい `trac.cgi` と `htdocs` の場所に更新してください。 |
69 | 119 | |
70 | === Web サーバを再起動する === #RestarttheWebServer | |
120 | ===== Web アドミンプラグインのインテグレーション ===== | |
121 | もし、 Web アドミンプラグインをインストールしていたら、 Trac 0.11 以降より、 Trac のコードベースの一部となっているのでアンインストールできます。 | |
122 | ||
123 | === 7. Web サーバを再起動する === #RestarttheWebServer | |
124 | ||
71 | 125 | [wiki:TracCgi CGI] 以外で起動している場合は、 Web サーバを再起動して、新しい Trac コードをリロードしてください。 |
72 | 126 | |
127 | == 既知の問題 == #KnownIssues | |
73 | 128 | |
74 | ||
75 | 129 | === 複数プロジェクトのホストに関して === #parentdir |
76 | 130 | 複数のプロジェクトをホストした場合に、配下のプロジェクトのうち一つのプロジェクトで、プラグインの一つが動作していないとき、配下のすべてのプロジェクトではそのプラグインは動作していません。 |
77 | === コアモジュールがロードされない === #somecoremoduleswontload | |
78 | Windows で Python 2.3 を使用している場合、最初にアンインストールを行わずにアップグレードすると時々発生します。 | |
79 | いくつかのモジュールは、以前はキャピタライズされていましたが、小文字のみに変更されました (例えば、 trac/About.py が trac/about.py に変更されるなど)。以下のようなメッセージが Trac のログに出てくる場合: | |
80 | {{{ | |
81 | ERROR: Skipping "trac.about = trac.about": (can't import "No module named about") | |
82 | }}} | |
83 | `Lib/site-packages/trac` ディレクトリを削除してから、再インストールしてください。 | |
84 | === Wiki Upgrade === WikiUpgrade | |
85 | `trac-admin` はページを削除しません。バージョン 0.10 では存在し、バージョン 0.11 では存在しないページはそのまま残ります。 (0.11 開発中に存在した !TracWikiMacros など) | |
131 | ||
132 | === Wiki のアップグレード === | |
133 | `trac-admin` は新しいバージョンでは存在しない以前のバージョンの Wiki ページを削除や移動しません。 | |
134 | ||
135 | === Trac データベースのアップグレード === #Tracdatabaseupgrade | |
136 | ||
137 | 既知の問題として、PySqlite のいくつかのバージョン (2.5.2-2.5.4) では、 trac-admin upgrade スクリプトを使用してデータベースを更新することができません。このエラーを避けるために、 sqlite の python バインディングのバージョンをより新しいものかより古いバージョンを使用することを推奨します。詳細については、 [http://trac.edgewall.org/ticket/9434 本家チケット 9434] を参照して下さい。 | |
138 | ||
139 | == Python のアップグレード== #UpgradingPython | |
140 | ||
141 | Python を新しいバージョンにアップグレードすると Python パッケージの再インストールが必要となります: Trac も例外ではないですし、 [http://pypi.python.org/pypi/setuptools easy_install] も然りです (もし使用しているならばですが)。 Subversion を使用しているならば、 Subversion の Python のバインディングもアップグレードする必要があります。 | |
142 | ||
143 | === Windows と Python 2.6 === #WindowsandPython2.6 | |
144 | ||
145 | もしあなたが、 !CollabNet の Subversion のパッケージを使用しているならばアンインストールする必要があるかもしれません。というのも、 [http://alagazam.net/ Algazam] に気軽に使える Python バインディングがあるからです。 ([http://trac.edgewall.org/wiki/TracSubversion TracSubversion] 参照) いいニュースとして、調整なしに動作します。 | |
86 | 146 | |
87 | 147 | == データベースの変更 == #ChangingDatabaseBackend |
… | … | |
92 | 152 | == より古いバージョン == #OlderVersions |
93 | 153 | |
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 にダウングレードするには、手作業が必要になります: | |
97 | {{{ | |
98 | $ sqlite3 db/trac.db "update system set value=20 where name='database_version'" | |
99 | }}} | |
100 | (あとで再度、正常にアップグレードすることができます) | |
154 | さらに前のバージョンからのアップグレードについては [trac:wiki:0.10/TracUpgrade#SpecificVersions] を最初に参照してください。 | |
101 | 155 | |
102 | 156 | ----- |