
メールは、まさにユビキタスなサービスです。ビジネスからプライベート、プロモーションやマーケティングまで、あらゆるコミュニケーションは、メールの使いやすさと、ほぼ瞬時に何百万人ものユーザーにリーチできる能力によって支えられています。
しかし、強力なメッセージング機能がオフラインになったり、何らかの理由で利用できなくなったりすることほど深刻な事態は他にほとんどありません。ビジネスは完全に停止状態に陥る可能性があり、最高レベルのサービスと稼働率を確保するために、メール管理にかなりのITリソースが費やされる理由の一つとなっています。
OS X Server でのメールの設定は、それ自体難しい作業ではありません。また、ユーザーがブラウザからメールにアクセスするためのウェブメールのフロントエンドとして Roundcube ウェブメールインストーラーを設定することも、それほど難しい作業ではありません。しかし、インストール中に発生する可能性のある問題と同様に、Roundcube にも多くのインストールで共通する問題がいくつかあり、解決されるまでエンドユーザーがウェブメールに正しくアクセスできない可能性があります。
この記事では、OS X Serverのメールサービスが適切にインストール・設定され、ユーザーがメールを送受信できることを前提としています。また、OS X ServerのWebサイトサービスがインターネットに公開された完全修飾ドメイン名(FQDN)で設定され、そのドメインのWebサーバーフォルダ内のディレクトリにRoundcubeがインストールされていることを前提としています。
Roundcube インストーラーの構成を完了しようとすると、具体的には手順 3 またはテスト構成中に、Roundcube が前の手順で入力した情報を検証し、検証済みのセクションには緑色の「OK」、エラーが発生したことを示す赤色の「NOT OK」のマークが付けられるため、次のエラーが表示されることがあります。
1. 設定ファイルを確認する
Roundcube ウェブメールはPHPウェブアプリケーションであり、機能を実行するには設定が必要です。具体的には、「config.inc.php」をまず作成し、ドメインホストフォルダのルートにあるRoundcubeフォルダ内のConfigフォルダにコピーする必要があります。
Roundcube は、ステップ 1 で組織固有のメール設定を行うための GUI を提供します。ステップ 2 では、以前に入力されたデータを収集し、config.inc.php ファイルを作成する前に、ユーザーが正しいかどうかを確認できるようにします。新しく作成されたファイルは、ステップ 3 に進む前に Config フォルダにコピーする必要があります。コピーしないと検証が実行され、Roundcube インストーラは必要な設定ファイルを見つけられず、「NOT OK」と表示されます (図 A )。さらに重要なのは、この設定ファイルがないと、データベースを検出したりメールサービスに接続したりできないため、Roundcube は正常に動作しないということです。
図A

設定ファイルを確認してください。
2. ディレクトリが書き込み可能かどうかを確認する
Roundcubeは、PHPアプリケーションへの重要な情報と変更を記録するために2つのディレクトリを使用します。LogsフォルダとTempフォルダはどちらも、ドメインホストフォルダ内のRoundcubeルートフォルダ内にあります。LogsとTempフォルダはどちらも、エラーやその他の有用な情報をログファイルに書き込むために、読み取り/書き込みアクセス権限が必要です(図B)。
図B

ディレクトリが書き込み可能かどうかを必ず確認してください。
デフォルトでは、LogsフォルダとTempフォルダには必要な権限が割り当てられていません。権限を設定するには、管理者の資格情報とTerminal.appが必要です。以下のコマンドを1行ずつ入力すると、各ディレクトリのフォルダ権限が変更され、Websitesサービスが各フォルダへの読み取り/書き込みアクセスを許可され、情報をリアルタイムで記録できるようになります。
sudo chmod -R 777 /path_to_roundcube_root_folder/logs
sudo chmod -R 777 /path_to_roundcube_root_folder/temp
3. DB設定を確認する
DB設定エラーは、Roundcubeのセットアップ時に最も頻繁に発生する問題であり、トラブルシューティングが最も難しい問題でもあります(図C)。Roundcubeは複数のサービスに依存して動作するため、それぞれのサービスがソリューションに異なる変数や問題を引き起こし、それが問題の原因となる場合もあれば、そうでない場合もあります。
図C

DB 構成エラーがないか確認してください。
このエラーはデータベース自体にアクセスできないことに特化していますが、MySQL(データベースサーバー)、Websitesサービス(ウェブサーバー)、Mailサービス(メールサーバー)によって発生する変数も存在します。さらに、ネットワーク構成、DNS、またはISPが特定のサービスポートへのアクセスをブロックしているなどの問題も考えられます。
そのため、この種のエラーを解決するには、正確な原因を特定するのが困難になる可能性があります。しかし、典型的な原因としては以下のようなものが挙げられます。
A. データベースが適切にセットアップ/構成されていない
i. MySQLデータベースを確認し、設定が適切であることを確認してください。設定をテストするためだけに新しいデータベースを作成することもできます。
B. データベースにアクセスするためのユーザーアカウントが適切に設定/構成されていない
i. MySQLアカウントの設定を再度確認し、特にアカウントに付与されている権限に注意してください。データベースのすべての権限がアカウントに付与されていない場合、接続に失敗します。
C. ウェブサイトのサービスが利用できない
i. エラーまたは関連するシステムの問題により、Websites サービスが動作を停止している可能性があります。ターミナルアプリで以下のコマンドを入力すると、Web サーバーの起動、停止、およびステータスの確認ができます。
- sudo serveradmin ウェブを起動
- sudo serveradmin ウェブを停止
- sudo サーバー管理者フルステータスウェブ
D. config.inc.php ファイルの設定が正しくない/ファイルが見つからない
i. 不足しているファイルを再構成/置換するには、上記の手順 1 を確認してください。
E. DNSがドメインをIPに解決しない
i. ウェブメールサーバーを指すドメインの権威DNS正引きおよび逆引きレコードを確認します。レコードが正しいIPアドレスまたはドメインを指していることを確認してください。
ii. 静的IPアドレスを使用していない場合、またはSOHOから動的IPアドレスでメールをホスティングしている場合は、OS X Serverと権威DNSサーバの両方でDNS設定を確認してください。
F. ネットワーク構成
i. Web/メール サービスに正しい静的 IP アドレスが割り当てられていることを確認します。
ii. サービス ポート/IP アドレスとの間のトラフィックを許可するための適切なファイアウォール ルールが作成されていることを確認します。
iii. 静的 IP を使用していない場合、または動的 IP の背後にある SOHO からのメールをホストしていない場合は、特定のトラフィック (Web の場合は 80,443、SQL の場合は 3306) を特定の IP に転送するためのポート転送エントリが作成されていることを確認します。
iv. ポートベースのトラフィックが、同じポート経由でルーティングするように構成された他のアプリケーション トラフィックと競合していないことを確認します。
G. ISPが特定のポートをブロックする
i. ISPレベルでポートがブロックされていないか、組織内で稼働しているサービスに支障をきたす可能性があるかどうか、ISPにご確認ください。SMTPリレーがスパム拡散の媒介となるため、25番ポートなどのポートがブロックされることがよくあります。
ii. ポートベースのトラフィックが、同じポート経由でルーティングするように構成された他のアプリケーション トラフィックと競合していないことを確認します。
Roundcube のトラブルシューティングは、Web アプリへのアクセスを提供するために多数の依存関係と連携動作が必要となるため、時に複雑になることがあります。しかし、多くの問題は、少し注意を払うだけで比較的迅速に解決できる可能性があります。
さらに、オープンソース製品である Roundcube には、忠実なファンが多数おり、ユーザー サポート フォーラム、Wiki、さらには Kolab Systems の有料のプロフェッショナル サポート サービスへのリンクを含むサポート ポータルを通じて手厚いサポートを受けています。