本手順書は、Denbun POP V3.0P R1.1からDenbun POP V3.1P R1.0への移行手順を記述したものです。
V3.0P R1.1以前のバージョンをお使いのお客様はV3.0P R1.1にアップグレード後、本手順書に従ってください。
注意事項
本手順書は、Apache HTTP Server、PostgreSQL などの知識を有する技術者向けに記述されております。各製品の導入、構成、操作につきましては、該当する製品のマニュアルなどをご参照ください。
また、各ソフトウェアのインストール先等は一般的な例をもとに記述しており、お客様の環境とは異なる場合があります。
前提条件
後述の移行手順は以下のことを前提条件としています。
・移行元のサーバと移行先のサーバは同一のサーバであること。
・移行作業時にDenbunに対してアクセスがない状態であること。(※スケジューラーが停止されている。)
・移行作業時にアンチウイルスプログラムが停止されていること。
・移行前のDenbunのバージョンがV3.0P R1.1であること。
・PostgreSQLの管理ユーザーがpostgresであること。
・Denbunのインストール先が「/var/www/cgi-bin/dnpwml」であること。
|
|
- 1.事前準備
-
1−1.データのバックアップ
Denbunのモジュールおよびデータベースのバックアップを行ってください。
バックアップについては
こちらを参照して下さい。
- 2.Denbunのアップグレード
-
2−1.Denbun POP V3.1へのアップグレード
Denbun POP V3.1へのアップデートモジュールをダウンロードし、アップグレードを行ってください。
アップグレード方法につきましては
こちらを参照してください。
- 3.メール情報の移行
-
Denbun POP V3.1へのアップグレード完了後、メール情報の移行を行います。
3−1.rootユーザーにスイッチ
rootユーザーでない場合は、suコマンドを実行しrootユーザーにスイッチしてください。
3−2.パーミッション設定
Denbunのインストール先ディレクトリに存在する[conv3110]に対してsetuid、setgidを設定します。
メール情報の移行を[conv3110]の所有者の権限で実行するための設定となります。
# cd /var/www/cgi-bin/dnpwml
# chmod ug+s conv3110
|
3−3.メール情報の移行
[conv3110]を以下の起動引数を指定して起動してください。
起動引数:
-h [Denbunインストール先フルパス]
-a
-m 1
# ./conv3110 -h /var/www/cgi-bin/dnpwml -a -m 1
|
起動時に以下の確認メッセージが表示されます。処理を続行する場合は"y"を入力してください。
* Please backup the database of Denbun.
Start the conversion? (y/n) :
|
メール情報の移行が終了した場合、「[Denbunインストール先]/conv3110log」ディレクトリ下に「conv3110.log」ログファイルが作成されます。
エラーがないことを確認してください。
※エラーが発生している場合は「5.移行元データの削除」を実行しないでください。
※ログファイルに以下の文言が記述されていれば、メール情報の移行は正常に終了しています。
YY/MM/DD hh:mm:ss == Convert Start. ==
YY/MM/DD hh:mm:ss UserID:2 Start.
YY/MM/DD hh:mm:ss UserID:2 Succeeded.
YY/MM/DD hh:mm:ss UserID:3 Start.
YY/MM/DD hh:mm:ss UserID:3 Succeeded.
YY/MM/DD hh:mm:ss UserID:4 Start.
YY/MM/DD hh:mm:ss UserID:4 Succeeded.
・
・(処理対象ユーザー数)
・
YY/MM/DD hh:mm:ss == Convert Completed. ==
|
※上記のログ以外にログが出力されている場合は移行に失敗しているため対象のログを確認してください。
<エラーログの例>
YY/MM/DD hh:mm:ss error:-110, [:567], Invalid UserID. No applicable data exist.
YY/MM/DD hh:mm:ss UserID:9999 Failed.
|
- 4.移行データの確認
-
4−1.移行データの確認
ブラウザより「http://サーバ名またはIPアドレス/cgi-bin/dnpwml/dnpwmljs.cgi?」にアクセスし、
各ユーザーのログインIDとパスワードを入力してログイン後、メールが表示されていることを確認してください。
- 5.移行元データの削除
-
メール情報移行完了に伴い不要となる情報をPostgreSQLから削除します。
※全ユーザーのメール情報の移行が完了していない場合は、実行しないでください。
メール情報の移行ができなくなります。
5−1.rootユーザーにスイッチ
rootユーザーでない場合は、suコマンドを実行しrootユーザーにスイッチしてください。
5−2.パーミッション設定
Denbunのインストール先ディレクトリに存在する[conv3110cleanup]に対してsetuid、setgidを設定します。
移行元データの削除を[conv3110cleanup]の所有者の権限で実行するための設定となります。
# cd /var/www/cgi-bin/dnpwml
# chmod ug+s conv3110cleanup
|
5−3.移行元データの削除
[conv3110cleanup]を以下の起動引数を指定して起動してください。
起動引数:
-h [Denbunインストール先フルパス]
-dbusr [PostgreSQLの管理ユーザー名]
-dbpwd [PostgreSQLの管理ユーザーパスワード]
# ./conv3110cleanup -h /var/www/cgi-bin/dnpwml -dbusr postgres -dbpwd postgres
|
起動時に以下の確認メッセージが表示されます。処理を続行する場合は"y"を入力してください。
* Please do not perform this operation if data for all the users has not been migrated. Migrating data cannot be done.
Start the cleanup? (y/n) :
|
移行元データの削除が終了した場合、「[Denbunインストール先]/conv3110log」ディレクトリ下に「conv3110cleanup.log」ログファイルが作成されます。
エラーがないことを確認してください。
※ログファイルに以下の文言が記述されていれば、移行元データの削除は正常に終了しています。
YY/MM/DD hh:mm:ss == Cleanup Start. ==
YY/MM/DD hh:mm:ss Succeeded. drop configuration [denbun].
YY/MM/DD hh:mm:ss Succeeded. drop configuration [japanese].
YY/MM/DD hh:mm:ss Succeeded. drop parser [japanese].
YY/MM/DD hh:mm:ss Succeeded. drop dictionary [japanese_stem].
YY/MM/DD hh:mm:ss Succeeded. drop template [mecab].
YY/MM/DD hh:mm:ss Succeeded. drop function [ts_ja_start].
YY/MM/DD hh:mm:ss Succeeded. drop function [ts_ja_gettoken].
YY/MM/DD hh:mm:ss Succeeded. drop function [ts_ja_end].
YY/MM/DD hh:mm:ss Succeeded. drop function [ts_ja_lexize].
YY/MM/DD hh:mm:ss Succeeded. drop function [ja_analyze].
YY/MM/DD hh:mm:ss Succeeded. drop function [ja_normalize].
YY/MM/DD hh:mm:ss Succeeded. drop function [ja_wakachi].
YY/MM/DD hh:mm:ss Succeeded. drop function [web_query].
YY/MM/DD hh:mm:ss Succeeded. drop function [furigana].
YY/MM/DD hh:mm:ss Succeeded. drop function [hiragana].
YY/MM/DD hh:mm:ss Succeeded. drop function [katakana].
YY/MM/DD hh:mm:ss Succeeded. drop table [tmpr_wml_mailfile000].
YY/MM/DD hh:mm:ss Succeeded. drop table [tmpr_wml_mailtext000].
YY/MM/DD hh:mm:ss Succeeded. drop table [tmpr_wml_mailinfo000].
YY/MM/DD hh:mm:ss Succeeded. drop function [wml_lounlink].
YY/MM/DD hh:mm:ss Succeeded. delete [pg_largeobject].
YY/MM/DD hh:mm:ss == Cleanup Completed. ==
|
- 6.PostgreSQLの不要領域回収
-
「5.移行元データの削除」にて発生した不要領域の回収、及びインデックスの再構築を行い、空きディスクを増やします。
6−1.PostgreSQL管理ユーザーにスイッチ
suコマンドを実行しPostgreSQL管理ユーザーにスイッチしてください。
6−2.PostgreSQLの不要領域回収
以下のPostgreSQLの保守用コマンドを実行してください。
$ vacuumdb -f -v -z -d dnpwmldb -U postgres
$ reindexdb -d dnpwmldb -U postgres
|
- 7.全文検索用の索引データ作成
-
全文検索用の索引データ作成を行います。
※全文検索用の索引データ作成は必須ではありません。
ただし全文検索用の索引データ作成を行わない場合、移行したメールに以下の制限が発生しますのでご注意ください。
・過去のメールは検索にヒットしません。
・過去のメールはフィルタによる「振分け」対象になりません。
7−1.rootユーザーにスイッチ
rootユーザーでない場合は、suコマンドを実行しrootユーザーにスイッチしてください。
7−2.パーミッション設定
Denbunのインストール先ディレクトリに存在する[conv3110]に対してsetuid、setgidを設定します。
メール情報の移行を[conv3110]の所有者の権限で実行するための設定となります。
# cd /var/www/cgi-bin/dnpwml
# chmod ug+s conv3110
|
7−3.全文検索用の索引データ作成
[conv3110]を以下の起動引数を指定して起動してください。
起動引数:
-h [Denbunインストール先フルパス]
-a
-m 2
# ./conv3110 -h /var/www/cgi-bin/dnpwml -a -m 2
|
起動時に以下の確認メッセージが表示されます。処理を続行する場合は"y"を入力してください。
Start creating the index? (y/n) :
|
全文検索用の索引データ作成が終了した場合、「[Denbunインストール先]/conv3110log」ディレクトリ下に「conv3110.log」ログファイルが作成されます。
エラーがないことを確認してください。
※ログファイルに以下の文言が記述されていれば、全文検索用の索引データ作成は正常に終了しています。
YY/MM/DD hh:mm:ss == Convert Start. ==
YY/MM/DD hh:mm:ss UserID:2 Start.
YY/MM/DD hh:mm:ss UserID:2 Succeeded.
YY/MM/DD hh:mm:ss UserID:3 Start.
YY/MM/DD hh:mm:ss UserID:3 Succeeded.
YY/MM/DD hh:mm:ss UserID:4 Start.
YY/MM/DD hh:mm:ss UserID:4 Succeeded.
・
・(処理対象ユーザー数)
・
YY/MM/DD hh:mm:ss == Convert Completed. ==
|
※上記のログ以外にログが出力されている場合は失敗しているため対象のログを確認してください。
<エラーログの例>
YY/MM/DD hh:mm:ss error:-110, [:567], Invalid UserID. No applicable data exist.
YY/MM/DD hh:mm:ss UserID:9999 Failed.
|
- 8.不要となるモジュールの削除
-
8−1.rootユーザーにスイッチ
rootユーザーでない場合は、suコマンドを実行しrootユーザーにスイッチしてください。
8−2.日本語全文検索モジュール(textsearch-ja)のアンインストール
V3.1への移行に伴い不要となるtextsearch-jaをアンインストールします。
# cd /usr/local/src/postgresql-8.3.5/contrib/textsearch_ja/
# gmake uninstall
・
・(中略)
・
# cd ../
# \rm -r textsearch_ja/
|
8−3.MeCab用辞書のアンインストール
V3.1への移行に伴い不要となるMeCab用辞書をアンインストールします。
# cd /usr/local/src/mecab-ipadic-2.7.0-20070801/
# gmake uninstall
・
・(中略)
・
# cd ../
# \rm -r mecab-ipadic-2.7.0-20070801/
|
8−4.MeCabのアンインストール
V3.1への移行に伴い不要となるMeCabをアンインストールします。
# \rm /usr/lib/libmecab.so
# \rm /usr/lib/libmecab.so.1
# cd /usr/local/src/mecab-0.97/
# gmake uninstall
・
・(中略)
・
# cd ../
# \rm -r mecab-0.97/
|
8−5.移行時に使用したツールの削除
移行作業が完了しましたら、移行時に使用したツールやログファイルは不要となりますので削除します。
ログファイルは必要に応じてをバックアップを行ってください。
以下のファイルおよびディレクトリを削除してください。
- /var/www/cgi-bin/dnpwml/conv3110
- /var/www/cgi-bin/dnpwml/conv3110cleanup
- /var/www/cgi-bin/dnpwml/conv3110log (ディレクトリ)
# rm -f /var/www/cgi-bin/dnpwml/conv3110
# rm -f /var/www/cgi-bin/dnpwml/conv3110cleanup
# rm -rf /var/www/cgi-bin/dnpwml/conv3110log
|
- 9.完了
-
以上でDenbun POP V3.0からDenbun POP V3.1への移行作業は完了です。