CentOS 7に最新のRoundcube Webメールをインストールする方法


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

  • It’s multilingual, supports over 70 languages.
  • Supports a Find-as-you-type address book.
  • Supports multiple sender identities.
  • Offers sophisticated privacy protection.
  • Has a full featured address book with groups and LDAP connectors.
  • Offers richtext/HTML message composing.
  • Supports searching messages and contacts.
  • Supports Int. domain names (IDNA).
  • Supports folder manipulation, shared folders and ACL.
  • Extensible using the Plug-in API.
  • Provides spell checking functionality.
  • Provides import/export functions.
  • Has a plug-in API for flexible exensions and so much more.
  1. A CentOS 7 Server or RHEL 7 Server with Minimal Install.
  2. Apache or Nginx web server
  3. PHP 5.4 and MySQL/MariaDB database
  4. SMTP and IMAP server with IMAP4 rev1 support

この記事の範囲については、仮想ユーザを持つ実行中のPostfixメールサーバがすでにあることを前提としています。それ以外の場合は、ガイドの設定に従ってください:

  1. Setting Up Postfix Mail Server and Dovecot with MariaDB – Part 1
  2. Configure Postfix and Dovecot Virtual Domain Users – Part 2
  3. Install and Integrate ClamAV and SpamAssassin to Postfix Mail Server – Part 3

この記事では、Nginxウェブサーバー、静的IPアドレス 192.168.0.100 、およびホスト名を使用して、Linode CentOS 7 VPSに Roundcubeウェブメールをインストールします。 mail.tecmint.com

ステップ1:CentOS 7にNginx、PHP-FPM、およびMariaDBをインストールする

1. 最初に EPEL REMI リポジトリを有効にして、 Nginx PHP をインストールします。 、 CentOS 7 システム上の PHP-FPM MariaDB サーバー。

# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
# 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ウェブサーバーを起動し、起動時に自動起動できるようにして、起動しているかどうか確認します。

# 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 '[email protected]!#webL';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

9. 次に、ラウンドキューブテーブルのレイアウトを新しく作成したデータベースにインポートします。

# cd /var/www/html/roundcubemail/
# mysql -u root -p roundcubemail < SQL/mysql.initial.sql

ステップ3:Roundcubeパッケージをダウンロードする

10. この手順では、ダウンロードページからRoundcubeの最新の安定バージョン( 1.3.7 )をダウンロードするか、wgetコマンドラインダウンローダーを使用してそれを入手し、TARファイルを展開し、そしてファイルをあなたのWebサーバのドキュメントルートにアップロードしてください。

# wget -c https://github.com/roundcube/roundcubemail/releases/download/1.3.7/roundcubemail-1.3.7-complete.tar.gz
# tar xzf roundcubemail-1.3.7-complete.tar.gz 
# mv roundcubemail-1.3.7 /var/www/html/roundcubemail

11. 次に、ラウンドキューブWebルートファイルに適切な権限を設定します。

# chown -R nginx:nginx /var/www/html/roundcubemail

ステップ4:Roundcube Webインストーラ用にNginxサーバーブロックを構成する

12. 次に、 /etc/nginx/conf.d/ の下に、ラウンドキューブ用のNginxサーバーブロックを作成します(ファイルには好きな名前を付けることができますが、 .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変数を設定します。

listen = /var/run/php-fpm/php-fpm.sock

また、unix socketの許可を設定し、コメント解除して、行を次のように変更します。

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サーバーブロックの作成時に設定したサーバー名でドメインを置き換えます)。 Webインストーラにアクセスするには[roundcube]をクリックします。すべてのPHPのバージョン、拡張子、 php.ini/.htaccess の設定が正しい場合は、次のスクリーンショットが表示されます。次へをクリックして設定ページに進みます。

http://mail.example.com/installer
OR
http://IP-address/installer

17. 設定ページでは、ラウンドキューブインスタンスを設定できます。このガイドの範囲に関する重要な選択肢のみを説明します。

[全般設定]の下に、[ product_name ]を設定します(例: Example.comウェブメール)。

データベース設定に移動し、データベースホスト名前ユーザーパスワードを入力します。 MySQLサーバーに接続します。

次に[ IMAP ]と[ SMTP ]の設定までスクロールし、 IMAP SMTP サーバーのIPアドレスを入力します(存在する場合)。ラウンドキューブを実行しているのと同じサーバーを、「 localhost 」のままにして、その他の必要なパラメータも指定します。

必要に応じて他の設定を指定できます。完了したら、[設定を作成]をクリックします。

18. 新しく「設定ファイルはRoundcubeをインストールした/ var/www/html/roundcubemail/configディレクトリに保存されました。」というメッセージが表示されます。をクリックしてください。 続行

19. 次のスクリーンショットに示すように、[テスト設定ページ]から設定を確認できます。

20. 次に、ラウンドロッカーのルートディレクトリからインストーラーフォルダー全体(サーバーのパスワードや暗号化キーなどの機密設定データを公開する可能性があるファイルが含まれています)を削除します config.inc.php のオプションは無効です。

# rm -rf /var/www/html/roundcubemail/installer

21. 最後に、URL http://mail.example.com を使用してラウンドキューブログインページにアクセスします。あなたのメールを見るためにあなたのユーザー名とパスワードを入力してください。

Roundcube は、広く使用されているフル機能のWebベースの多言語メールクライアントです。この記事では、Nginxウェブサーバー搭載の CentOS 7 Roundcubeウェブメールの最新安定版をインストールする方法を説明しました。質問がある場合は、下記のフィードバックフォームを使用してご連絡ください。