Tips.‎ > ‎

roundcube with google apps.

google appsのメールをajaxベースのウェブメールソフト'roundcube'で使う方法です。
そもそもgoogle appsではgmailという優れたウェブメールが用意されていますので、他のウェブメールを使う必然性は無いと思っている貴兄も多いかと思います。しかし、そこの貴兄よく'聞けぃ’。特に企業ネットワークでは、gmailサービスがフィルタリングされていて使えないことがあります。gmailではいろんなことが出来てしまいますので、目の敵のようにフィルタリングするファイアーウォールも存在します。それから、gmailに複数のアカウントを持っていて、複数のアカウントを同時に開いたりすると恐らくcookieの取り扱いの為なのか、上手くいかないことがあります。そんなときにはgmailをgmail以外のフロントエンドで取り扱えばよいのです。最も簡単な解決策は、WindowsLiveを使うことでしょう。WindowsLiveでは、live.jpドメイン以外のメールを送受信するとっても便利な機能がついています。しかも、gmailを大きく上回る25GBという広大なストレージ空間を無料で使えます。

でも、マイクロソフトが嫌いという貴兄も多いはず。そこで、いっちょ自前でウェブメールを作ってしまおうと言うのが今回の趣旨です。ウェブメールソフトをインストールするインストール先が必要だったり、FTPを使ったり、MySQLというデータベースも必要ですので、少しだけハードルが高いです。でも、やれば必ずできます。

先ずは、準備するものから。以下の物が必要です。

・インストール先のサーバ

PHPとMySQLが使えるサーバが必要です。無料で使えるサーバも沢山有りますので、適当に見繕って調達してください。

・世界につながるPC

所謂インターネットに接続されたPCです。無ければ中古でも人から貰ってもお店で買っても良いので調達しましょう。これが無ければ話になりません。

・FTPソフト

サーバにファイルを転送したり、ファイルのパーミッション(属性とか権限のことです)を操作する為に必要です。ちなみに私はFileZillaというソフトを使っています。この他にも沢山のFTPソフトがあります。大体の場合無料配布されていますので、適当に見繕って調達してください。

・やる気と根性

やはりサーバアプリケーションをインストールするとなると、それなりのスキルとかセンスが必要になります。そんな、スキルとかセンスが無い場合にはやる気と根性で補うしかありません。ただ、慣れてしまえばよいので、有る程度場数を踏めば大丈夫でしょう。

ではインストールを始めましょう。roundcupeというウェブメールアプリケーションは、MySQLというデータベースを必要とします。正確にはMySQLでなくても動作するのですが、大多数のホスティングサーバで用意されているのはMySQLです。なぜMySQLが広く使われているかというと・・・・長くなるので今回は割愛です。

「データベースを作る」
MySQLを使うためには、データベースを作らなければなりません。たとえるならば、サーバという場所にMySQLという道具を使って、データを入れるための箱を作るのです。データベースの作り方はサーバによってまちまちですので割愛します。

「データベースへの接続パラメータを把握する」
roundcubeがデータベースに接続するために、必要なパラメータを調べておきましょう。必要なパラメータは以下のとおりです。
・MySQLサーバのホスト名
'localhost'が一般的です。ちなみに私の使っているMySQLサーバのホスト名は、’pooqroundcube.db.7393700.hostedresource.com’です。なんだか凄く長いですね。
・DB名
恐らく、データベース作成時に任意のデータベース名が指定できると思います。適当に設定してください。私は’pooqroundcube'にしました。
・DBユーザ名
DBに接続するときに必要なユーザ名です。データベース作成時に指定できるはずです。極まれにシステム側が勝手に指定してしまうケースや、ホスティングサービスへのログインIDがそのまま設定されるケースもあります。詳しくは使用しているホスティングサービス業者に問い合わせましょう。
・DBパスワード
DB接続に使うパスワードです。DBユーザ名と同様に、DB作成時に指定できるはずですが、そうでないホスティングサービスも存在しますので、パスワードが指定できない場合にはホスティング業者に問い合わせましょう。

以上で、MySQLデータベースの準備は完了です。次に、roundcubeをダウンロードしましょう。http://roundcube.netにWebブラウザで接続するといきなりダウンロードページへのリンクが出てきますので、素直にダウンロードページに進みましょう。

ダウンロードページに進むと色々とファイルが並んでいますが、’Stable’(安定)と書かれたリンクがあります。特に安定版以外を使う理由も無いでしょうから、迷わず’Stable’と書かれた所に表示されている’DOWNLOAD'ボタンを押しましょう。

'DOWNLOAD'ボタンを押すと、自動的にダウンロードが行われます。ちなみに私が使っているWebブラウザのgoogle chromeでは左下にダウンロードされたファイルが表示されます。これをクリックすると勝手に解凍されます。ファイルの解凍はサーバにアップロードしてからでも良いのですが、サーバ側で解凍する手立てが無い場合には解凍してからサーバにアップロードしましょう。

FileZillaを使ったアップロードは簡単です。ドラッグアンドドロップで簡単にアップロードできます。↓こんなふうにね。
アップロード先のディレクトリは、Webブラウザでアクセス可能な場所にしてください。

これで、アップロードまで完了です。あとはこまごまとした設定を行うことになります。
先ずはパーミッションの設定です。roundcubeのディレクトリ内に有る'temp'ディレクトリと’logs'ディレクトリのパーミッションを書き込み可能にします。とりあえず757にしておけばよいでしょう。

次に、ファイル名の変更を行います。'config/main.inc.php.dist'を'config/mail.inc.php'に変えます。そして'config/db.inc.php.dist'を'config/db.inc.php'に変えます。

ここから設定作業にはいります。変更の前にgmailのサーバ情報を入手しましょう。gmailに接続し、'設定'→'メール転送と POP/IMAP'→'メールクライアントの設定'→'IMAPアクセス 設定手順'→'その他'で確認できます。以下に転記しました。
    受信メール (IMAP) サーバー - SSL を使用する場合:imap.gmail.com
    Use SSL (SSL を使用する): 有効
    ポート番号: 993
    送信メール(SMTP)サーバー - TLS か SSL が必要:smtp.gmail.com(認証の使用)
    認証の使用: 有効
    Use STARTTLS (STARTTLS を使用する): 有効 (クライアントによっては SSL とも呼ばれます)
    ポート番号: 465 または 587
    アカウント名:メールアドレス(@gmail.comか @ドメイン名.com を含む)
    メールアドレス:メールアドレス(ユーザー名@gmail.com か ユーザー名@ドメイン名.com
    パスワード:Gmail のパスワード
さて、これで設定に必要な全ての情報は手に入りました。実際に設定ファイルを編集しましょう。先ずは'main.inc.php'を編集します。
           (略)
// For example %n = mail.domain.tld, %d = domain.tld
$rcmail_config['default_host'] = 'ssl://imap.gmail.com'; ← gmailのIMAPサーバを設定します。頭の'ssl://'がミソ
// TCP port used for IMAP connections
$rcmail_config['default_port'] = 993; ← gmailのIMAPポートを設定します。
           (略)
// For example %n = mail.domain.tld, %d = domain.tld
$rcmail_config['smtp_server'] = 'ssl://smtp.gmail.com'; ← gmailのSMTPサーバを設定します。頭の'ssl://'がミソ。
           (略)
// SMTP port (default is 25; 465 for SSL)
$rcmail_config['smtp_port'] = 465; ← gmailのSMTPポートを設定します。
           (略)
// SMTP username (if required) if you use %u as the username Roundcube
// will use the current username for login
$rcmail_config['smtp_user'] = '%u'; ← ユーザ名はこうしておきましょう。
           (略)
// SMTP password (if required) if you use %p as the password Roundcube
// will use the current user's password for login
$rcmail_config['smtp_pass'] = '%p'; ← パスワードはこれでOKです。
           (略)

次に'db.inc.php'の編集です。このファイルの設定はちょっと解りにくいです。変更するのは次の二箇所です。
           (略)
$rcmail_config['db_dsnw'] = 'mysql://username:password@hostname/dbname';
           (略)
$rcmail_config['db_dsnr'] = 'mysql://username:password@hostname/dbname';
           (略)

MySQLのユーザ名、パスワード、ホスト名、DB名を一行で書きます。

これで設定はおしまいです。あとは、http://yourdomein/roundcube_dir/installerにアクセスしてテーブルの作成と動作の確認が終わればOKです。動作の確認が取れたら、安全のため、'installer/'ディレクトリは削除してください。