CentOS/RHEL 8/7 に Roundcube Webmail をインストールする方法
Roundcube は、無料のオープンソースで、フル機能を備えた Web ベースの多言語 IMAP Web メール ソフトウェアで、完全な機能とカスタマイズが可能なアプリケーションのようなユーザー インターフェイスを備え、最新の Web 標準を使用しています。 PHP を使用して構築されており、最新の電子メール クライアントに期待できるすべての機能を提供します。
ラウンドキューブの特徴:
- 多言語対応で、70 以上の言語をサポートしています。
- Find-as-you-type アドレス帳をサポートします。
- 複数の送信者 ID をサポートします。
- 高度なプライバシー保護を提供します。
- グループと LDAP コネクタを備えたフル機能のアドレス帳を備えています。
- リッチテキスト/HTML メッセージの作成を提供します。
- メッセージと連絡先の検索をサポートします。
- 国際対応ドメイン名 (IDNA)。
- フォルダー操作、共有フォルダー、ACL をサポートします。
- プラグイン API を使用して拡張可能。
- スペルチェック機能を提供します。
- インポート/エクスポート機能を提供します。
- 柔軟な拡張機能などのためのプラグイン API があります。
推奨システム要件:
- 最小限のインストールを備えた CentOS 8/RHEL 8 または CentOS 7/RHEL 7 サーバー。
- Apache または Nginx ウェブサーバー
- PHP および MySQL/MariaDB データベース
- IMAP4 rev1 をサポートする SMTP および IMAP サーバー
この記事の範囲では、仮想ユーザーを含む Postfix 電子メール サーバーがすでに実行されていることを前提としています。そうでない場合は、ガイドの設定に従ってください。
- MariaDB を使用した Postfix メール サーバーと Dovecot のセットアップ – パート 1
- Postfix および Dovecot 仮想ドメイン ユーザーの構成 - パート 2
- ClamAV と SpamAssassin をインストールして Postfix メール サーバーに統合する – パート 3
テスト環境:
この記事では、Nginx Web サーバー、静的 IP アドレス 192.168.0.100、およびホスト名 を備えた Linode CentOS VPS に Roundcube Webmail をインストールします。 mail.linux-console.net。
ステップ 1: CentOS 8/7 に Nginx、PHP-FPM、MariaDB をインストールする
1. まず、EPEL と REMI リポジトリを有効にして、Nginx と PHP をインストールします。 、PHP-FPM、CentOS システム上の MariaDB サーバー。
yum install epel-release
yum install http://rpms.remirepo.net/enterprise/remi-release-8.rpm [CentOS/RHEL 8]
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm [CentOS/RHEL 7]
yum install yum-utils
yum-config-manager --enable remi-php72
yum install nginx php php-fpm php-mcrypt php-cli php-gd php-curl php-xml php-mysql php-mbstring php-pspell php-imagick mariadb-server
2. すべてのパッケージが正常にインストールされたら、Nginx Web サーバーを起動し、起動時の自動起動を有効にして、稼働しているかどうかを確認します。
systemctl start nginx
systemctl enable nginx
systemctl status nginx
3. 次に、システム ファイアウォールが有効になっている場合は、外部リクエスト用にポート 80 を開く必要があります。
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
4. 次に、PHP-FPM が正しく動作するように構成する必要があります。コマンドライン テスト エディタを使用して、ファイル /etc/php.ini を開きます。
vim /etc/php.ini
ディレクティブ ;cgi.fix_pathinfo=1
を探し、コメントを解除して値を 0 に設定します。
cgi.fix_pathinfo=0
また、ディレクティブ ;date.timezone
のコメントを解除し、その値をタイムゾーンに設定します。
date.timezone = "Africa/Kampala"
完了したら、ファイルを保存して終了します。
5. 次に、次のように PHP-FPM サービスを起動し、起動時の自動起動を有効にして、起動して実行中かどうかを確認します。
systemctl start php-fpm
systemctl enable php-fpm
systemctl status php-fpm
ステップ 2: MariaDB サーバーを保護し、Roundecube データベースを作成する
6. 次に、次のコマンドを使用して MariaDB サービスを開始します。
systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb
7. デフォルトの MariaDB インストールは安全ではありません。バイナリ パッケージを保護するには、バイナリ パッケージに付属のセキュリティ スクリプトを実行する必要があります。 root パスワードの設定、匿名ユーザーの削除、リモートでの root ログインの無効化、およびテスト データベースの削除を求められます。
mysql_secure_installation
8. 次に、MariaDB データベースにログインし、Roundecube のデータベースを作成し、データベースに対する適切な権限をユーザーに付与します (必ず強力で安全なパスワードをパスワードに設定してください)。本番環境)。
mysql -u root -p
MariaDB [(none)]> CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
MariaDB [(none)]> CREATE USER 'roundcube'@'localhost' IDENTIFIED BY '=213@!#webL';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
9. 次に、Roundcube テーブル レイアウトを新しく作成したデータベースにインポートします。
cd /var/www/html/roundcubemail/
mysql -u root -p roundcubemail < SQL/mysql.initial.sql
ステップ 3: Roundcube パッケージをダウンロードする
10. このステップでは、ダウンロード ページから Roundcube の最新の安定バージョン (この記事の執筆時点では 1.4.9) をダウンロードするか、wget コマンドライン ダウンローダーを使用して、それを取得し、TAR ファイルを抽出し、ファイルを Web サーバーのドキュメント ルートにアップロードします。
wget -c https://github.com/roundcube/roundcubemail/releases/download/1.4.9/roundcubemail-1.4.9-complete.tar.gz
tar xzf roundcubemail-1.4.9-complete.tar.gz
mv roundcubemail-1.4.9 /var/www/html/roundcubemail
11. 次に、Roundcube Webroot ファイルに適切な権限を設定します。
chown -R nginx:nginx /var/www/html/roundcubemail
ステップ 4: Roundcube Web インストーラー用に Nginx サーバー ブロックを構成する
12. ここで、Roundcube の Nginx サーバー ブロックを /etc/nginx/conf.d/ の下に作成します (ファイルには任意の名前を付けることができますが、 .conf 拡張子)。
vim /etc/nginx/conf.d/mail.example.com.conf
次の構成をファイルに追加します。
server {
listen 80;
server_name mail.example.com;
root /var/www/html/roundcubemail;
index index.php index.html;
#i# Logging
access_log /var/log/nginx/mail.example.com_access_log;
error_log /var/log/nginx/mail.example.com_error_log;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~ ^/(README.md|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
deny all;
}
location ~ ^/(config|temp|logs)/ {
deny all;
}
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
ファイルを保存して閉じます。
13. 次に、ファイル /etc/php-fpm.d/www.conf を開いて、PHP-FPM Web にいくつかの変更を加えます。指令。
vim /etc/php-fpm.d/www.conf
次の変数でユーザー apache を nginx に変更します。
user = nginx
group = nginx
次に、行 listen=127.0.0.1:9000 をコメント アウトし、nginx サーバー ブロック ファイルに設定された Unix ソケットでリッスンするように listen 変数を設定します。
listen = /var/run/php-fpm/php-fpm.sock
また、UNIX ソケットのアクセス許可を設定し、行のコメントを解除して次のように変更します。
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
完了したら、ファイルを保存して閉じます。
14. 次に、次のように、Nginx サービスと PHP-FPM サービスを再起動して、最近の変更を適用します。
systemctl restart nginx php-fpm
ステップ 5: Roundcube Web UI にアクセスする
15. インストール ウィザードを開始する前に、セッション エラーを回避するために、ディレクトリ /var/lib/php/session/ に適切な権限を設定します。デフォルトのグループ所有者はApache ですが、示されているようにそれをnginx に変更します。
ls -ld /var/lib/php/session/
chown :nginx /var/lib/php/session/
ls -ld /var/lib/php/session/
16. 次に、ブラウザを開き、アドレス http://mail.example.com/installer
を使用します (ドメインを、Nginx サーバー ブロックの作成時に設定したサーバー名に置き換えます) Roundcube の場合)を使用して Web インストーラーにアクセスします。すべての PHP バージョン、拡張機能、およびphp.ini/.htaccess 設定が正しい場合は、次のスクリーンショットが表示されます。次へ をクリックして設定ページに移動します。
http://mail.example.com/installer
OR
http://IP-address/installer
17. 構成ページでは、Roundcube インスタンスをセットアップできます。このガイドの範囲内で重要なオプションのみを説明します。
[一般設定] で、product_name を設定します (例: Example.com Webmail)。
[データベース設定] に移動し、データベース ホスト、名前、ユーザー、パスワードを入力します。 > MySQL サーバーに接続します。
次に、IMAP と SMTP の設定まで下にスクロールし、IMAP サーバーと SMTP サーバーの IP アドレスを入力します。 Roundcube を実行しているのと同じサーバーの場合は、「localhost 」のままにし、他の必要なパラメータも指定します。
必要に応じて他の設定を指定できます。完了したら、[構成の作成] をクリックします。
18. 「構成ファイルは Roundcube インストールの /var/www/html/roundcubemail/config ディレクトリに正常に保存されました。」というメッセージが表示されます。[] をクリックします。 続行します。
19. 次のスクリーンショットに示すように、テスト構成ページから構成を確認できます。
20. 次に、インストーラー フォルダー全体 (サーバー パスワードや暗号化キーなどの機密構成データを公開する可能性のあるファイルが含まれています) を Roundcube ルート ディレクトリから削除します (または、 config.inc.php のenable_installer オプションが無効になっています)。
rm -rf /var/www/html/roundcubemail/installer
21. 最後に、URL http://mail.example.com を使用して Roundcube ログイン ページにアクセスします。ユーザー名とパスワードを入力してメールを表示します。
まとめ
Roundcube は、広く使用されている、完全な機能を備えた Web ベースの多言語メール クライアントです。この記事では、Nginx Web サーバーを備えたCentOS/RHEL 8/7 にRoundcube Webmail の最新の安定バージョンをインストールする方法を説明しました。ご質問がある場合は、以下のフィードバック フォームを使用してご連絡ください。