ウェブサイト検索

CentOS/RHEL 8/7 に Roundcube Webmail をインストールする方法


Roundcube は、無料のオープンソースで、フル機能を備えた Web ベースの多言語 IMAP Web メール ソフトウェアで、完全な機能とカスタマイズが可能なアプリケーションのようなユーザー インターフェイスを備え、最新の Web 標準を使用しています。 PHP を使用して構築されており、最新の電子メール クライアントに期待できるすべての機能を提供します。

ラウンドキューブの特徴:

  • 多言語対応で、70 以上の言語をサポートしています。
  • Find-as-you-type アドレス帳をサポートします。
  • 複数の送信者 ID をサポートします。
  • 高度なプライバシー保護を提供します。
  • グループと LDAP コネクタを備えたフル機能のアドレス帳を備えています。
  • リッチテキスト/HTML メッセージの作成を提供します。
  • メッセージと連絡先の検索をサポートします。
  • 国際対応ドメイン名 (IDNA)。
  • フォルダー操作、共有フォルダー、ACL をサポートします。
  • プラグイン API を使用して拡張可能。
  • スペルチェック機能を提供します。
  • インポート/エクスポート機能を提供します。
  • 柔軟な拡張機能などのためのプラグイン API があります。

推奨システム要件:

  1. 最小限のインストールを備えた CentOS 8/RHEL 8 または CentOS 7/RHEL 7 サーバー。
  2. Apache または Nginx ウェブサーバー
  3. PHP および MySQL/MariaDB データベース
  4. IMAP4 rev1 をサポートする SMTP および IMAP サーバー

この記事の範囲では、仮想ユーザーを含む Postfix 電子メール サーバーがすでに実行されていることを前提としています。そうでない場合は、ガイドの設定に従ってください。

  1. MariaDB を使用した Postfix メール サーバーと Dovecot のセットアップ – パート 1
  2. Postfix および Dovecot 仮想ドメイン ユーザーの構成 - パート 2
  3. 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. まず、EPELREMI リポジトリを有効にして、NginxPHP をインストールします。 、PHP-FPMCentOS システム上の 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

次の変数でユーザー apachenginx に変更します。

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 サーバーに接続します。

次に、IMAPSMTP の設定まで下にスクロールし、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/7Roundcube Webmail の最新の安定バージョンをインストールする方法を説明しました。ご質問がある場合は、以下のフィードバック フォームを使用してご連絡ください。