Debian8 Jessie自宅サーバーのメールシステムをRoundcubeに対応させました。Debian7 Wheezyのときに利用していたRoundcube(過去記事)でしたが、JessieにしてからRoundcubeの安定版がなかなか出ないので、待ちきれずbackports版をインストールしました。安定版と比べると品質・互換性検査は不十分であることは承知の上での利用となる点に注意です。
■参考サイト
このページの目次
前提的なもの
- サーバーOS:Debian8 Jessie
- WEBサーバー:Apache 2.4.10-10+deb8u3
- データベース:MySQL 5.5.44-0+deb8u1
- メールサーバーがIMAP対応
- WEBサイトがSSL対応(https://~に対応)
- メールシステムはPostfix+Dovecot(過去記事参照)
リポジトリに追加
backports版をインストールできるように、/etc/apt/sources.list に次の一行を追加します。
deb http://ftp.jp.debian.org/debian jessie-backports main contrib non-free
リストを更新しておきます。
# aptitude update
Roundcubeインストール
インストールします。データベース設定は質問に応えながら、おまかせ設定で進みます。
# aptitude install roundcube
Roundcube設定
設定は /etc/roundcube内のconfig.inc.phpとapache.confの2ファイルを編集します。
config.inc.phpの編集
config.inc.phpの編集は、同ディレクトリにあるdefaults.inc.phpから設定したい項目をコピペして編集します。今回は最低限必要な項目しか設定していません。私ひとりしか利用しないので、公共性とか一切考慮していない設定です。
$config['default_host'] = 'ikt-s.com';
35行目にホスト名を設定します。上記例は私のドメイン名を入れています。
$config['smtp_server'] = 'mail.ikt-s.com';
47行目にSMTPメールサーバー名を指定します。上記例は私の仮のメールサーバー名です。
$config['smtp_port'] = 25;
51行目にSMTPポート番号を入れます。私の環境では25番でしか上手くいきませんでした。465や587では送信エラーになりました。
$config['smtp_user'] = '%u';
55行目にSMTP_authのユーザー名をRoundcubeにログインしているユーザー名と同じにする%uにています。
$config['smtp_pass'] = '%p';
59行名にSMTP_authのパスワードをRoundubeにログインしているパスワードと同じにする%pに設定しています。
$config['product_name'] = 'IKT-S Webmail';
66行目に、ログインスクリーンやウィンドウタイトルに出るWEBメールシステムの名前を指定できます。適当な名前を考えて入れました。
$config['des_key'] = 'BZap5WGP2MNl9r0XKOAQsoeR';
73行目に、cookieに保存されるIMAPパスワードを暗号化するためのキーを24桁の文字列を自分でオリジナルのものに書き換えて指定します。
ここまではデフォルトのconfig.inc.phpの項目を編集しましたが、以下はdefaults.inc.phpから必要そうなものをコピペして追加しました。
$config['force_https'] = enable;
サイトのhttps強制を有効にしました。リダイレクトとか設定すればこの項目は不要かもしれません。
$config['login_autocomplete'] = 2;
ブラウザのオートコンプリート機能を使う設定にしました。2はIDとパスワードを保存可能に、1だとIDだけ、0だと無効です。
$config['mail_domain'] = '%d';
ユーザーを追加したとき、@の後ろをドメインだけにする設定を入れています。たとえばhoge55というユーザーを作ったらメールアドレスがhoge55@ikt-s.comになるように、ここで指定しています。
apache.confの編集
次にapache.confファイルの設定です。変更箇所は一行だけです。WEBメールにログインするときのアドレス部分をエイリアスで設定します。デフォルトのままだと/roundcubeですが、それだと推測でログイン画面を出すことができるので、自分しか知らないエイリアス名を指定しました。例ではmywebmailにしています。
# Alias /roundcube /var/lib/roundcube
Alias /mywebmail /var/lib/roundcube
先頭の#を外して、エイリアス名を変更しました。ここで設定したエイリアス名がWEBメールにログインするためのアドレスになります。
apache2の再起動
設定が完了したら、apache2の再起動で変更が反映されます。
/etc/init.d/apache2 restart
動作確認
https://サイトアドレス/エイリアス名をブラウザーのアドレス欄に入れると、ログイン画面が出てきてログインできる。メールの送受信ができれば設定完了です。 設定ボタンをクリックして細かい設定ができます。私の場合は、「設定」-「特殊なフォルダー」でゴミ箱のフォルダーを指定しないとメールが削除できなかったりしました。