Locked

CentOS_TIPS_009

ウェブメール/Roundcube構築メモ

  • 公式サイトURL

https://roundcube.net/

メールスプール形式をMaildirとして、IMAPサーバdovecotの設定も記載しています。
IMAPサーバまでの部分は、任意のシステムで構築されていればOKです。

バージョン情報

ここでは、以下のバージョンについて記載しています。

$ cat /etc/redhat-release
CentOS release 6.8 (Final)

dovecotインストール/設定

IMAPサーバとしてdovecotをインストール/設定します。

# yum install dovecot

--- a/dovecot/dovecot.conf
+++ b/dovecot/dovecot.conf
@@ -18,12 +18,14 @@

 # Protocols we want to be serving.
 #protocols = imap pop3 lmtp
+protocols = imap

 # A comma separated list of IPs or hosts where to listen in for connections.
 # "*" listens in all IPv4 interfaces, "::" listens in all IPv6 interfaces.
 # If you want to specify non-default ports or anything more complex,
 # edit conf.d/master.conf.
 #listen = *, ::
+listen = 127.0.0.1

 # Base directory where to store runtime data.
 #base_dir = /var/run/dovecot/
@@ -36,6 +38,7 @@
 # for authentication checks). disable_plaintext_auth is also ignored for
 # these networks. Typically you'd specify your IMAP proxy servers here.
 #login_trusted_networks =
+login_trusted_networks = 127.0.0.1

 # Sepace separated list of login access check sockets (e.g. tcpwrap)
 #login_access_sockets =

--- a/dovecot/conf.d/10-mail.conf
+++ b/dovecot/conf.d/10-mail.conf
@@ -28,6 +28,7 @@
 # <doc/wiki/MailLocation.txt>
 #
 #mail_location =
+mail_location = maildir:~/Maildir

 # If you need to set multiple mailbox locations or want to change default
 # namespace settings, you can do it by defining namespace sections.

--- a/dovecot/conf.d/10-auth.conf
+++ b/dovecot/conf.d/10-auth.conf
@@ -7,6 +7,7 @@
 # matches the local IP (ie. you're connecting from the same computer), the
 # connection is considered secure and plaintext authentication is allowed.
 #disable_plaintext_auth = yes
+disable_plaintext_auth = no

 # Authentication cache size (e.g. 10M). 0 means it's disabled. Note that
 # bsdauth, PAM and vpopmail require cache_key to be set for caching to be used.

サーバを起動。

# chkconfig dovecot on
# service dovecot start

roundcubemailインストール/設定

PHPはSCLより5.4系のパッケージをインストール/使用します。

# scl -l
php54

# scl enable php54 bash

# php -v
PHP 5.4.40 (cli) (built: Aug 30 2016 13:52:21)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

php54-php-pearをインストール/アップグレードし、必要となるパッケージをインストールします。

# yum install php54-php-pear

# pear channel-update pear.php.net
# pear list-upgrades
pear.php.net Available Upgrades (stable):
=========================================
Channel      Package        Local          Remote          Size
...(略)
pear.php.net PEAR           1.9.4 (stable) 1.10.1 (stable) 285kB
...(略)

# pear upgrade --force PEAR-1.10.1

# pear install Mail_Mime
# pear install Mail_mimeDecode
# pear install MDB2
# pear install MDB2_Driver_mysql
# pear install Net_Socket
# pear install Net_SMTP
# pear install Auth_SASL
# pear install DB
# pear install XML_RPC
# pear install --force Net_IDNA2

# pear list
Installed packages, channel pear.php.net:
=========================================
Package           Version State
Archive_Tar       1.4.2   stable
Auth_SASL         1.0.6   stable
Console_Getopt    1.4.1   stable
DB                1.9.2   stable
MDB2              2.4.1   stable
MDB2_Driver_mysql 1.4.1   stable
Mail_Mime         1.10.0  stable
Mail_mimeDecode   1.5.6   stable
Net_IDNA2         0.1.1   beta
Net_SMTP          1.7.3   stable
Net_Sieve         1.3.4   stable
Net_Socket        1.0.14  stable
PEAR              1.10.1  stable
Structures_Graph  1.1.1   stable
XML_RPC           1.5.5   stable
XML_Util          1.3.0   stable

# pear list-upgrades
Channel pear.php.net: No upgrades available

MySQLは、OS標準のものを使用します。
設定はWordPress使用時と同じです。

データベースを作成します。
以下の例ではDB名「roundcubemail」、ユーザ名「roundcube」、パスワード「PASSWORD」としていますので、適宜、変更してください。

$ mysql -u root -p
mysql> create database roundcubemail character set utf8 collate utf8_bin;
mysql> grant all on roundcubemail.* to roundcube@localhost identified by 'PASSWORD';
mysql> flush privileges;
mysql> quit;

roundcubemailのtar ballを取得/展開します。
また、追加するプラグインも(あれば)同様に取得/展開しておきます。

# cd /opt

# wget https://github.com/roundcube/roundcubemail/releases/download/1.2.3/roundcubemail-1.2.3-complete.tar.gz
# tar zxf roundcubemail-1.2.3-complete.tar.gz
# ln -s roundcubemail-1.2.3 roundcubemail

# wget https://github.com/JohnDoh/Roundcube-Plugin-Context-Menu/archive/2.1.2.tar.gz -O Roundcube-Plugin-Context-Menu_2.1.2.tar.gz
# tar zxf Roundcube-Plugin-Context-Menu_2.1.2.tar.gz
# mv Roundcube-Plugin-Context-Menu-2.1.2 roundcubemail/plugins/contextmenu

apacheの設定によりディレクトリを公開します。
以下の例ではapacheのドキュメントルート下に公開しています。

# ln -s /opt/roundcubemail /var/www/html/

http://www.example.jp/roundcubemail/installerへアクセスすることで、ウェブインターフェースによる設定が可能です。
構築環境によっては、予めアクセス制限を行い、また、動作が確認取れ次第、利用できないよう設定する必要があるでしょう。

ウェブインターフェースによる設定においては、mysqlのパスワードとスキーマ初期化のみで最小限の動作が可能となります。

追加したプラグインを認識させるために設定を変更します。

--- a/roundcubemail/config/config.inc.php
+++ b/roundcubemail/config/config.inc.php
@@ -49,7 +49,7 @@
 // PLUGINS
 // ----------------------------------
 // List of active plugins (in plugins/ directory)
-$config['plugins'] = array('additional_message_headers', 'archive', 'filesystem_attachments', 'jqueryui', 'show_additional_headers', 'zipdownload');
+$config['plugins'] = array('contextmenu', 'additional_message_headers', 'archive', 'filesystem_attachments', 'jqueryui', 'show_additional_headers', 'zipdownload');

 // Make use of the built-in spell checker. It is based on GoogieSpell.
 $config['enable_spellcheck'] = false;

ログイン/動作確認を行います。
以下は、バージョン表記例です。

Roundcube Webmail 1.2.3

Copyright c 2005-2016, The Roundcube Dev Team

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Some exceptions for skins & plugins apply.

インストールしているプラグイン

プラグイン                   バージョン   ライセンス   ソース
additional_message_headers      1.2.1           GPLv2   
archive                         2.4             GPLv3+  
contextmenu                     2.1.2           GPL-3.0         ダウンロード
filesystem_attachments          1.0             GPLv3+  
jqueryui                        1.10.4          GPLv3+  
show_additional_headers         2.0             GPLv3+  
zipdownload                     3.1             GPLv3+