「XREAの灯」掲示板
XREAユーザー,Coreserverユーザー,Value-Domainユーザーの掲示板です.
初めての方もネチケットを守って,お気軽にご参加下さい(^^)/
リンクは当面,http://xrea.users-net.com/へお願いします.
marry
- 12/10/30(火) 23:42 -
XreaやCoreserverで標準のウェブ・メールとして使われているSquirrelMailをお使いの方は少なくないと思います.
最近はメール・サーバーとの間を暗号化して通信するプロトコルに対応した無料のメーラーがあるので,ウェブ・メールの価値は下がったかもしれません.しかし,社内LANなどでセキュリティのためにポートがふさがれていると,こうした暗号化プロトコルが使えず,ウェブメールのSSL通信に頼らざるを得ません.
「SquirrelMailのデータを引っ越す方法」というテーマでググっても,皆さんサラリとしか説明されてなくて,具体的なことがサッパリわかりませんでした.
そこで備忘録を兼ねてここに記したいと思います.私の場合,Xrea+からCoreserverとか,Coreserver間での引っ越しを数回体験した結果です.
●サーバー引っ越しの基本手順
こちらにまとめました:
http://www.users-net.com/x/bbs3/c-board.cgi?cmd=one;no=40;id=XREA#40
●メールの引っ越しは単なるファイル・コピーではうまくいきません
何らかの理由でサーバーを引っ越す場合,サーバー上のウェブメールのデータをどうやって新サーバーにもっていくかが問題となります.
Xrea/Coresereverの場合,基本的には「ファイルをコピーするだけで引っ越し可能」とされていますが,現実には多くの障害が立ちはだかります.
(1)どうやってファイルをコピーするのか?
私はWindowsマシンなら,かなり自在に扱えますが,Linuxは苦手です.Squirrelのファイルは,Windowsファイル・システムでは扱えない文字をたくさん使っていて,Windowsマシン経由で移行するのは骨が折れそうですし,うまく移行できる確証もありません.
基本的にはリモート・ホスト上で「サーバー間コピー」を実行します.
(2)サーバー間でコピーする方法がわからない
上記(1)の問題は,リモート・ホスト(つまりXrea/Coreserverのサーバー)上でサーバー間コピーするのが高速かつ,(パーミッションなどを引き継いでくれるので)楽ちんかつ,確実です.
「サーバー間コピー」は「管理画面」の(左ペインにある)メニューにあります.
(3)うまくいかなかったらどうするか?
SSHで接続し,コピー元とコピー先で何が違うかを見極める必要があります.
それにはSSHで接続し,Linuxのコマンドラインで操作する必要があります.
実際に必要なのは,下記の操作です:
・ディレクトリをブラウズする操作(MSDOSのdirコマンド,Linuxのlsコマンド)
・グループ名やオーナー名を変更する操作(Linuxのchmod,chownコマンド)
Xrea/CoreserverサーバーへSSH接続する方法がわからなければ,まずは上記(1)(2)の前にSSH接続できる環境を整えましょう.
パーミッションの変更は(自分の権限下ならば)ftpクライアント・ソフトで可能です.
(4)それでもうまくいかなかったらどうするか?
実は上記(2)(3)をクリアしても,うまくいかないことがあります.Xrea/Coreserverサーバーは,サーバー間コピーを実行した結果が,サーバーの導入時期によってグループ名やオーナー名の引き継ぎ動作が微妙に異なります.あるいはメールボックスを初期化しても反映されないサーバーがあったりします.これらは私が,あれこれ検証した結果の結論です.
自分の権限ではグループ名やオーナー名やパーミッションを変更できない場合,XREAのサポート担当者にお願いして変更してもらうことになります.
世間ではXrea/Coreserverの「サポートは最悪」と,無碍にこき下ろした評価が目に付きますが,私の7年間ほどの経験ではそれほど悪かったことはないように思います.
とはいえサポートからの回答に2〜3日かかるのは当たり前で,24h以内の回答など望めません.しかし,「技術部門へ申し送り」してもらえると1日ぐらいで対応してもらえることがほとんどです.
そもそもXREA/Coreserverはサポートが最低限ということを明記したウェブ・ホスティング・サービスであることを肝に銘じましょう.誰かに頼るのではなく,基本的には自らで解決する決心をして望みましょう(^^)
この前書きを読んで,自分には無理だと感じたら,ググったりして勉強して出直しましょう.
前書きここまで
marry
- 12/10/30(火) 23:43 -
●ドメインメールのアカウント移行
下記の順番で実行します.下記の順番を無視すると,パーミッションやグループ名やオーナー名に関する煩雑な変更作業が発生します.
(1)最初に移転元のメールボックス初期化
Xrea/Coreserverでは新着メールはディレクトリ/New,一度でも何らかの方法(IMAPやウェブメール)でメール・アカウントへアクセスすると,ディレクトリ/Curに移動し,パーミッションやグループ名が変更されるという仕組みがあります.こうなると新着メールの一部にアクセスできなくなります.
この影響を受けないようにするため,最初に移転元のメールボックスを初期化します.
「管理画面」からドメインメールを選択し,メール・アカウント一覧画面の下部に{メールボックスを初期化」というチェックボックスがあります.
メールボックスを初期化しても,メール・データは消えません.
(2)メールボックスのサーバー間コピー
サーバーの「管理画面」の左ペインから「サーバー間コピー」を実行します.
この場合,移転先のサーバーの管理画面を使って,移転元のサーバーへログインする形です.つまり管理画面に入力するアカウント名やパスワードは移転元のサーバーのものを入力します.
「ミラー(削除無し)」で/Maildir以下をコピーします.
(3)移転先のメールアカウント設定とメールボックス初期化
移転元のメールアカウント設定を「テキスト形式で一括」を使ってクリップボードにコピーし,移転先へ「テキスト形式で一括」を使ってペーストします.その際,同時に「メールボックス初期化」のチェックボックスを忘れずにチェックします.(後から初期化することもできます.)
(4)念のためサーバー間コピーの実行結果を確認します.
移転先のルート・ディレクトリに下記のファイルが生成されているはずです.
.servercopy.log
このファイルはサーバー間コピーの実行中はサイズが増え続けます.ftpクライアント・ツールで,ルート・ディレクトリを(数秒おきにリロードしながら)観測すると,そのようすがよくわかります.
なお,サーバー間コピーの実行中は,“.servercopy.sh”というファイルが生成されており,サーバー間コピーの実行完了とともに消滅することがわかります.
このログファイルは日付や時刻を付けて保存しておくと,後で役立つことがありますよ.
さて,この“.servercopy.log”ファイル中を検索してみて,“failed”が“550 Maildirsize”だけであれば,サーバー間コピーに成功しています.これは移転元のメール・アカウント数と同じ数だけ発生します.
もしも“550 Maildirsize”以外に“failed”があれば,必要なファイルのコピーに失敗しています.
(5)メールボックスを初期化しなかった場合
もしも上記(3)で移転先のメールボックスを初期化しないまま,移転先のメール・アカウントにIMAPやウェブメールでアクセスすると,赤文字でエラーが多数表示されるか,まったくアクセスできなくなるでしょう.
その場合は,あわてずに移転先のメールボックスを初期化し,数分経ってから再度アクセスしてみましょう.
(6)以上でメールボックスのデータを正常に移管できるはずです.
運が良ければ,これで完了です.この手順が基本であり,本来ならこれで完了できるはずです.
しかし,ウェブメールなどでアクセスしてみて,エラー表示される場合は,運が悪かったとあきらめて以降の作業が必要です.
このようなエラーを生じることになる原因は,Xrea/Coreserverのサーバー番号によって動作が少しずつ異なるからのようです.
以上,基本編
marry
- 12/10/30(火) 23:46 -
「基本編」で説明した方法では,Squirrelのデータをうまく移管できないことがあります.これは引っ越し手順を誤ったか,さもなくばXrea/Coreserverのサーバー番号に応じた動作の違いが原因のようです.
下記のような症状があります.いずれもgroup名,owener名,パーミッションが正常な状態と違うことが原因であり,これらを修正すれば回復できます.
(a)Squirrelで表示すると,比較的最近受信したメールが赤字でエラー表示される
移転元のメールボックスの初期化に失敗したまま,サーバー間コピーを実行するとこうなるようです.
(b)すべてのメールにアクセスできない
Sqirrelにアクセスできるが,新旧メール,送受メールとも表示されない症状です.
(c)メールボックスを初期化すると下記エラーになる.
ERROR: Could not complete request
サーバー間コピーする前にメールアカウントを作成すると,こうなります.
上記の(a)(b)(場合によっては(c)も)はサーバー間コピーを実行した直後の.servercopy.logにエラー(failed)が多数記録されているはずです.
●自分でやれる対策その1 (サーバー間コピーのやり直し)
(1)管理画面の「ドメインメール」からコピー先(移転先)のメールアカウントを削除します.
反映には時間がかかるので数分待ちます.
(2)コピー先(移転先)の/Maildirにあるファイル群をftpで削除します.
メールボックスを初期化してから,ftpで削除します.
もしも削除できずに一部のファイルが残るようなら,メールボックスを初期化してから再試行します.
(3)「基本編」に記した方法でサーバー間コピーをやり直します.
(4)正常に移管できたかSquirrelで確認する.
●自分でやれる対策その2 (group名,owner名,パーミッションの確認)
(1)これは対策というより不具合の確認です.
SSHでログインし,/Maildir以下に作られたフォルダやファイルのgroup名,owner名,パーミッションを確認します.
lsコマンドの書式は下記です:
ls -l ロング・フォーマットで表示
ls -la 隠しファイルも含めてロング・フォーマットで表示
種類 パーミッション オーナー グループ サーバー
正常なフォルダ: 770 marry vchkpw コピー元
IMAPエラー: 750 marry hpusers コピー先
移転元の正常なフォルダ/ファイルと比較すれば違いがわかります.
この場合,移転先(コピー先)のフォルダやファイルのグループ名をhpusersからvchkpwに,パーミッションを750から770に変更してもらえば良さそうです.
(2)サポート担当者へ連絡する.
実はこれ以上は自分の権限では操作できません.chgrpコマンドでは権限不足でエラーになってしまいます.
そこで,どこをどのように修正すればよいかわかったら,それをサポート担当者へ連絡して対応してもらいます.
(3)Squirrellで正常に表示されることを確認する.
以上でメール・データの移管は終了です.
(4)DNSを新サーバーに向ける
ドメインウェブとドメインメールの正しいDNSを設定します.
(5)メールを受信,送信し正常に動作することを確認する.
以上で完了です.
marry
- 13/3/6(水) 10:35 -
引っ越し作業後に,このエラーが表示されてウェブメールにアクセスできないことがあります.私はサーバーの引っ越し作業で,よく遭遇します.
原因は,/Maildir/とその配下にあるファイルおよびフォルダのグループ名とパーミッションが正しく設定されないことにあります.
おそらくエラーになる状態では,オーナー名,グループ名,パーミッションが
それぞれ下記のようになっているでしょう.
(ドメイン名),hpusers,750
上記はXREA/Coreの管理画面に用意されているファイルマネージャか,SSHでログインすれば確認できます.
正しくは下記です:
(ドメイン名),vchkpw,770
これは管理画面にある「メールボックスの初期化」が機能していないことが原因であるように思われます.
正常にアクセスできるようにするにはグループ名とパーミッションを
上記のように変更しなければなりませんが,テナントにはその権限が
ありません.
したがってサポートに連絡して手動で設定してもらうしか解決策はありません.