Roundcubeは、Webサービスを介して信頼性が高くカスタマイズ可能な電子メールサービスを管理するための最もよく知られているオープンソースソリューションの1つです。
このチュートリアルには、CentOS 7でRoundcubeを使用してWebメールサービスをインストールおよび管理するためのすべての情報があります。PHPに基づいているため、RoundcubeではNGINXやApacheなどのWebサーバーをインストールする必要があります。 MariaDBなどのMySQLのようなデータベースに依存しています。
まず、SSH接続を介してサーバーに接続します。まだ行っていない場合は、ガイドに従って、SSHで安全に接続することをお勧めします。ローカルサーバーの場合は、次の手順に進み、サーバーのターミナルを開きます。
NGINXとPHPのインストール
PHPとMySQLをサポートするNGINXのインスタンスをインストールして続行します:
$ sudo yum install nginx php php-fpm php-mcrypt php-cli php-gd php-curl php-xml php-mysql php-mbstring php-pspell php-imagick
すべてのパッケージのインストールが終了したら、NGINXを起動し、システムでの自動起動を有効にします。
$ sudo systemctl start nginx$ sudo systemctl enable nginx
Roundcubeを使用するには、/ etc/php.iniにあるPHP構成ファイル内の2つのパラメーターを変更する必要があります。
# Impostazione della nostra timezone
date.timezone = "Europe/Rome"
cgi.fix_pathinfo=0
変更したファイルを保存し、PHP-FPMサービスを開始して有効にします。
$ sudo systemctl start php-fpm$ sudo systemctl enable php-fpm
MariaDBのインストール
Roundcubeを正しく機能させるには、次のコマンドでインストールできるMariaDBデータベースが必要です。
$ sudo yum install mariadb-server
インストールが完了したら、サービスを開始します:
$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb
MariaDBに含まれているスクリプトを実行して、セキュリティを強化し、データベースへのアクセスを制限して、MariaDBのセキュリティを続行します。
MariaDb "mysql_secure_installation"が提供するユーティリティスクリプトを開始し、すべての質問に答えます。
$ sudo mysql_secure_installation
最初に、パスワード検証システムを有効にするかどうかを尋ねられます。このシステムを有効にすると、ユーザーのパスワードを設定したときに評価されます。パスワードが最小セキュリティ要件を満たしていない場合、エラーメッセージが表示されて拒否されます。
次に、rootパスワードを好みのパスワードに変更するかどうかを尋ねられます。パスワード検証システムを有効にする場合は、セキュリティ基準を尊重するパスワードを入力する必要があります。
-
大文字と小文字の両方の使用 -
文字と数字の両方の使用 -
@#$%ˆ&!
などの英数字以外の文字の使用 -
以前に使用されたもの以外のパスワードの使用
最後に、匿名ユーザーを削除するかどうか、データベースをテストするかどうか、rootユーザーによるリモートログインを無効にするかどうかを選択します。適切なレベルのセキュリティを確保するには、これらすべての変更を確認することをお勧めします。
この時点で、表示されたテーブルの更新を確認して、新しいセキュリティ基準を適用します。
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into MariaDB
root user without the proper authorisation.
Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
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.
Disallow root login remotely? [Y/n] Y
... Success!
Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
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.
Thanks for using MariaDB!
サービスを再起動した後、Roundcubeのデータベースとその新しいユーザー(パスワードを変更することにより)を作成できます:
$ 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 'mf0c3mhx';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
Roundcubeの最新バージョンをダウンロードするには、wgetが必要です。システムにインストールされていない場合は、次のコマンドを使用してインストールします。
$ sudo yum install wget
それ以外の場合は、githubからパッケージをダウンロードして抽出します。
$ 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
次に、すべてをNGINXディレクトリに移動します:
$ sudo mv roundcubemail-1.3.7 /var/www/html/roundcubemail
$ sudo cd /var/www/html/roundcubemail/
Roundcubeパッケージには、必要な構造で新しく作成されたデータベースにインポートする必要のあるSQLファイルが含まれています。
$ mysql -u root -p roundcubemail < SQL/mysql.initial.sql
インポートプロセス中に、MariaDBのインストール中に入力されたデータベースrootパスワードの入力を求められます。
データベースの構成が完了したら、ドメインmail.domain.com用にNGINX仮想サーバーを準備します。まず、htmlフォルダーの所有者がNGINXであることを確認します:
$ sudo chown -R nginx:nginx /var/www/html/roundcubemail
次に、仮想ホストファイル/etc/nginx/conf.d/mail.example.com.confを次のように作成および編集します。
server {
listen 80;
server_name mail.domain.com;
root /var/www/html/roundcubemail;
index index.php index.html;
#i# Logging
access_log /var/log/nginx/mail.domain.com_access_log;
error_log /var/log/nginx/mail.domain.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;
}
}
すべての変更を保存する前に、「domain.com」ドメインを自分のドメインに変更することを忘れないでください。
権限エラーの場合は、次のパラメーターを変更して、/ etc / php-fpm.d/www.confにあるPHP-FPM構成を変更します。
user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
また、PHPの「セッション」ディレクトリの所有者がNGINXであることを確認してください:
$ sudo chown -R nginx:nginx /var/lib/php/session/
この時点で、RoundcubeをWebインターフェイスから構成する準備ができています。
Webインターフェイスを介したRoundcube構成
インストールを続行するには、Webブラウザから次のURLにアクセスしてください:http://mail.domain.com/installer/
この最初のフェーズでは、Roundcubeインストーラーがシステムを正しく操作するための要件の概要を表示します。 [次へ]ボタンをクリックして続行します。
この第2フェーズでは、一連の操作パラメーターを入力する必要があります。ドメイン名または選択したニックネームを入力するproduct_nameを除いて、すべて変更しないでください。
SQL Serverへのアクセスデータを、インストールフェーズで入力したデータに変更することが重要です。完了したら、[次へ]をクリックして続行します。
2番目のフェーズが完了したら、サーバーのIMAP / SMTPパラメーターをテストして、Roundcubeがメールを送受信できることを確認します。
終了したら、次のコマンドを実行して、/ var / www / html / roundcubemail/installerフォルダーにあるインストールに必要なすべてのファイルを削除します。
$ sudo rm -rf /var/www/html/roundcubemail/installer
構成フェーズで入力したパラメーターを変更または変更する場合は、/ var / www / html / roundcubemail / config/config.inc.phpディレクトリ内のファイルをいつでも変更できます。
RoudcubeインスタンスはURLhttp://mail.domain.com/で使用する準備ができています。次に、Dovecotで構成されたメールボックスのログイン詳細を使用してログインします。