RoundcubeでWEBメール構築 Debian系

今回は次の環境で、Server#1にRoundCube をインストールし、メールサーバーは同一ローカルネットワーク内のServer#2を利用します。
Linux : Ubuntu22.04

前提条件
Server#1
・Apache2 webサーバー導入済・PHPインストール済....下記を参照して導入
・Apache2 webサーバーSSL化....下記を参照して導入

Server#2
・Mailサーバー導入済(IMAP,SMTPサーバー)....下記を参照して導入
・MailサーバーのSSL化は必須ではないがSSL化する場合....下記を参照して導入

1. MariaDBデータベースサーバーインストール
1.1 インストール

90行目 : デフォルトの文字コードを確認
character-set-server = utf8mb4
91行目 : 絵文字等 4バイト長の文字を扱う場合は [utf8mb4]確認
collation-server = utf8mb4_general_ci

1.2初期設定

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on…

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.
[Unix_Socket] 認証に切り替えるか否か
Switch to unix_socket authentication [Y/n] y
… skipping.
You already have your root account protected, so you can safely answer 'n'.
MariaDB root パスワードを設定するか否か
Change the root password? [Y/n] y
… skipping.
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
匿名ユーザーは削除する
Remove anonymous users? [Y/n] y
… Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
root のリモートログインは無効とする
Disallow root login remotely? [Y/n] y
… Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
テストデータベースは削除する
Remove test database and access to it? [Y/n] y
Dropping test database…
… Success!
Removing privileges on test database…
… Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
特権情報をリロードする
Reload privilege tables now? [Y/n] y
… Success!
Cleaning up…
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

2. RoundCube 用のデータベースを作成

Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 37
Server version: 10.6.7-MariaDB-2ubuntu1 Ubuntu 22.04
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database roundcube_db; ←データベース[roundcube_db] 作成
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on roundcube_db.* to roundcube_user@'localhost' identified by '<password>'; ←ユーザー[roundcube_user]作成、<password]>は各自任意に作成
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit;
Bye

3.RoundCube のインストールと設定

下記メッセージが表示されれば<no>を選択

The roundcube package must have a database installed and configured |
| before it can be used. This can be optionally handled with |
| dbconfig-common. |
| |
| If you are an advanced database administrator and know that you want to |
| perform this configuration manually, or if your database has already |
| been installed and configured, you should refuse this option. Details |
| on what needs to be done should most likely be provided in |
| /usr/share/doc/roundcube. |
| |
| Otherwise, you should probably choose this option. |
| |
| Configure database for roundcube with dbconfig-common? |
| |
|
<Yes> <No>

データベース情報を設定
$dbuser='roundcube_user';
$dbpass='password';
$basepath='';
$dbname='roundcube_db';
$dbserver='localhost';
$dbport='3306';
$dbtype='mysql';

#36行目 :
IMAP サーバー指定 (SSL化済の場合)
$config['default_host'] = 'tls://mail.korodes.com';
IMAP サーバー指定 (SSL化していない場合)
$config['default_host'] = 'mail.korodes.com';

#50行目 :
SMTP サーバー指定 (SSL化済の場合)
$config['smtp_server'] = 'tls://mail.korodes.com';
SMTP サーバー指定 (SSL化していない場合)
$config['smtp_server'] = 'mail.korodes.com';

#53行目 :
SMTP ポート (SSL化済の場合)
$config['smtp_port'] = 587;
SMTP ポート (SSL化していない場合)
$config['smtp_port'] = 25;

#57行目 :
$config['smtp_user'] = '%u';
#61行目 :
$config['smtp_pass'] = '%p';
#68行目 : 画面に表示したいタイトル
$config['product_name'] = Korodes Webmail';

#最終行に追記
#IMAP ポート指定
$config['default_port'] = 143;
#SMTP 認証タイプ指定
$config['smtp_auth_type'] = 'LOGIN';
#SMTP HELO host 指定
$config['smtp_helo_host'] = 'mail.korodes.com';
#ドメイン名指定
$config['mail_domain'] = 'korodes.com';
#UserAgent 指定
$config['useragent'] = 'Korodes Webmail';
#SMTP と IMAP の接続オプション指定
$config['imap_conn_options'] = array(
'ssl' => array(
'verify_peer' => true,
'CN_match' => 'korodes.com',
'allow_self_signed' => true,
'ciphers' => 'HIGH:!SSLv2:!SSLv3',
),
);
$config['smtp_conn_options'] = array(
'ssl' => array(
'verify_peer' => true,
'CN_match' => 'korodes.com',
'allow_self_signed' => true,
'ciphers' => 'HIGH:!SSLv2:!SSLv3',
),
);

4.Apache の設定

5.RoundCubeにアクセスして確認
任意のWEBブラウザで「https://サーバードメイン名/roundcube/」にアクセスすると下記ログイン画面になるので
ユーザー名 : メールサーバー側の登録ユーザー名
パスワード : 同上ユーザーのパスワード

ログインに成功すると下記WEBメール画面になるので自分あてに送受信して確認する

RoundcubeでWEBメール構築 RHEL系 はこちら


 

タイトルとURLをコピーしました