このチュートリアルでは、Debian8への最新のRoundCubeWebメールのインストールについて説明します。Roundcubeは、プラグインで拡張できるIMAPおよびSMTPをサポートする使いやすいWebメールクライアントです。 Debian 7では、RoundCubeは.debパッケージとして利用可能でした。これは最新バージョンではありませんでしたが、少なくともaptを使用して簡単にインストールできました。現在のDebianリリースでは、RoundCubeパッケージはもう利用できないので、ここでソースからのインストールについて説明します。このチュートリアルには、RoundCubeをISPConfig3ホスティングコントロールパネルに接続する手順を説明するオプションの章が含まれています。
- Debian8オペレーティングシステム。
- mod_phpがインストールされたApacheWebサーバー。 Apacheがまだインストールされていない場合は、LAMPガイドまたはPerfect Serverのセットアップを参照して、適切な環境をインストールしてください。
- Roundcubeが接続する電子メールサーバー(SMTP + IMAP)。これは、ローカルサーバー(たとえば、完璧なサーバー設定の1つを使用する場合)またはリモートサーバーの場合があります。
- このチュートリアルで使用するサーバーのホスト名は、IPアドレスが192.168.1.100のserver1.example.comです。サーバーのIPとホスト名に置き換えてください。
RoundCubeをディレクトリ/opt/ roundcubeにインストールして、このインストールがDebianシステムパッケージと衝突しないようにします。最初のステップは、wgetをインストールし、ディレクトリ/ opt / roundcubeを作成し、wgetを含む最新のRoundCubeバージョンをこのディレクトリにダウンロードすることです。このチュートリアルを書いている時点では、現在のRoundCubeのバージョンは1.1.3です。RoundCubeのWebサイトを見て、使用できる新しいバージョンがあるかどうかを確認してください。
サーバーのシェルにrootユーザーとしてログインし、wgetとnanoエディターをインストールします。
apt-get install wget nano
ディレクトリを作成し、「cd」コマンドで入力します:
mkdir / opt / roundcube
cd / opt / roundcube
RoundCube tar.gzファイルをダウンロードして解凍します:
wget https://downloads.sourceforge.net/project/roundcubemail/roundcubemail/1.1.3/roundcubemail-1.1.3-complete.tar.gz
tar xfz roundcubemail-1.1.3-complete.tar .gz
RoundCubeファイルは、フォルダー/opt/roundcube/roundcubemail-1.1.3にあります。次のステップは、それらを1つのディレクトリから/ opt/roundcubeに移動することです。
mv roundcubemail-1.1.3/*。
mv roundcubemail-1.1.3/.htaccess。
2つのコマンドの最後にあるドットは必須であり、コマンドの一部です。お見逃しなく!空のディレクトリとtar.gzファイルを削除します。
rmdir roundcubemail-1.1.3
rm roundcubemail-1.1.3-complete.tar.gz
そして、すべてのファイルの所有者を、Apacheサーバーが実行されているユーザーに変更します。
chown -R www-data:www-data / opt / roundcube
RoundCubeデータベースをインストールする
Roundcubeには、メールボックスの設定や連絡先などを保存するためのデータベースが必要です。ここでは、データベースのバックエンドとしてMySQL(またはMariaDB)を使用します。次に、MySQLで「roundcubemail」という名前のデータベースと「roundcube」という名前のユーザーを作成します。
次のコマンドを使用してMySQLサーバーにログインします。
mysql --defaults-file =/etc/mysql/debian.cnf
次に、MySQlデータベースシェルで次のコマンドを実行して、データベースとデータベースユーザーを作成します。以下のコマンドの「secretpassword」という単語を、選択したパスワードに置き換えてください。
CREATE DATABASE roundcubemail;
roundcubemailのすべての特権を付与します。*[emailprotected]に'secretpassword';
フラッシュ特権;
終了
次に、RoundCubeテーブルをファイルmysql.initial.sqlから新しいデータベースにインポートします。
Linuxシェルで次のコマンドを実行します。
mysql --defaults-file =/etc/mysql/debian.cnf roundcubemail
RoundCubeとApacheを構成する
このステップでは、RoundCubeでデータベースの詳細を構成し、ApacheでRoundCube構成ファイルを追加します。
RoundCubeのデータベース構成から始めます。次のコマンドを実行して、サンプル構成ファイルに基づいて新しいconfig.inc.phpファイルを作成し、nanoエディターで開きます。
cd / opt / roundcube / config
cp -pf config.inc.php.sample config.inc.php
nano config.inc.php$ config ['db_dsnw']で始まるデータベース構成行を見つけて、次の行に置き換えます。
$ config ['db_dsnw'] ='mysql:// roundcube:[email protected] / roundcubemail';「secretpassword」という単語は、データベース用に選択したパスワードに置き換える必要があります。
次に、「smtp_server」行を検索し、ここでSMTPサーバーのホスト名を設定します。私の場合、メールサーバーはローカルサーバーなので、サーバーを「localhost」に設定します。
$ config ['smtp_server'] ='localhost';次に、Apacheを構成します。 / etc / apache2 /conf-available/フォルダに新しい構成ファイルroundcube.confを作成します。
nano /etc/apache2/conf-available/roundcube.confそのファイルに次の行を追加して保存します。
Alias / roundcube / opt / roundcube
Alias / webmail / opt / roundcube
オプション+FollowSymLinks
#AddDefaultCharset UTF -8
AddType text / x-component .htc
AddType application / x-httpd-php .php
php_flagdisplay_errorsオフ
php_flaglog_errorsオン
#php_valueerror_logログ/エラー
php_value upload_max_filesize 10M
php_value post_max_size 12M
php_value memory_limit 64M
php_flagzlib.output_compressionオフ
php_flagmagic_quotes_gpcオフ
php_flagmagic_quotes_runtimeオフ
php_flagzend.ze1_compatibility_modeオフ
php_flagsuhosin.session.encrypt Off
#php_value session.cookie_path /
php_flag session.auto_start Off
php_value session.gc_maxlifetime 21600
php_value session.gc_divisor 500
php_value session.gc_probability 1
RewriteEngine On
RewriteRu le ^ favicon \ .ico $ skins / larry / images / favicon.ico
#セキュリティルール:
#-ドットを含まない、またはドットで始まるファイルへのアクセスを拒否する
#すべてインストーラディレクトリ以外の場所
RewriteRule^(?! installer)(\。?[^\。]+)$-[F]
#-一部の場所へのアクセスを拒否
RewriteRule ^ /? (\ .git | \ .tx | SQL | bin | config | logs | temp | tests | program \ /(include | lib | locale | Steps))-[F]
#-一部のドキュメントファイルへのアクセスを拒否します
RewriteRule /?(README\.md|composer\.json-dist|composer\.json|package\.xml)$-[F]
SetOutputFilter DEFLATE
ExpiresActive On
ExpiresDefault "access plus 1月"
FileETagMTimeサイズ
オプション-インデックス
AllowOverrideなし
すべての許可が必要
オプション-FollowSymLinks
AllowOverrideなし
すべての拒否を要求
オプション-FollowSymLinks
AllowOverrideなし
すべての拒否を要求
オプション- FollowSymLinks
AllowOverrideなし
すべての拒否を要求
オプション-FollowSymLinks
AllowOverrideなし
すべての拒否を要求最初の2行の2つのエイリアス行により、RoundCubeはサーバー上で/roundcubeおよび/webmailとして使用できるようになります。
構成を有効にして、apacheをリロードします:
a2enconf roundcube
service apache2 reloadこれで、RoundCubeがサーバーに完全にインストールされ、エイリアス/roundcubeおよび/webmailを介してサーバーのIPとホスト名に到達できます。私のサーバーのIPは192.168.1.100です。そのために、http://192.168.1.100/webmail
でRoundCubeを開くことができます。
ISPConfig RoundCubeプラグインのインストール(オプション)
サーバーにiSPConfig3がインストールされている場合は、ISPConfigRoundCubeプラグインをインストールすることを強くお勧めします。これにより、メールユーザーはRoundCube内からオートレスポンダー、メールフィルター、その他のメールボックス設定を管理できます。
ISPConfig 3 RoundCubeプラグインは、ISPConfigリモートAPIを使用してISPConfig3に接続されています。このAPIを使用するには、リモートユーザーが必要です。
「admin」ユーザーとしてISPConfigにログインします。
このようなユーザーを作成するには、[システム]>[ユーザー管理]>[リモートユーザー]に移動し、[新しいユーザーを追加]ボタンをクリックします。
新しいリモートユーザーのユーザー名とパスワードを入力します。ユーザー名「roundcube」とパスワード「!fdWEacBOG1d」を選択します。
リモートユーザー設定により、きめ細かいアクセス制御が可能になります。次の機能を有効にする必要があります:
最後に[保存]をクリックします。
次の手順は、サーバーのシェルで実行されました。 rootユーザーとしてログインします。
ここで、ISPConfigSSL証明書をDebianからSSL証明書ストアにインストールします。
cp /usr/local/ispconfig/interface/ssl/ispserver.crt /usr/local/share/ca-certificates/
update-ca-certificates
/etc/php5/cgi/php.iniファイルを開きます
nano /etc/php5/apache2/php.ini
ファイルの[openssl]セクションが表示されるまで下にスクロールし、そこに次の行を追加します。
openssl.cafile =/ etc / ssl / certs / ca-certificates.crt
次に、apacheを再起動します。
service apache2 restart
アドオンをダウンロードするには、最初にGitクライアントをインストールします。
apt-get install git
RoundCube ISPConfigプラグインの最新バージョンを入手してください:
cd / tmp
git clone https://github.com/w2c/ispconfig3_roundcube.git
cd / tmp / ispconfig3_roundcube /
そして、プラグインをroundcubeプラグインディレクトリに移動します。
mv ispconfig3_ * / opt / roundcube / plugins
cd / opt / roundcube / plugins
サンプル構成に基づいてプラグインの新しいconfig.inc.phpファイルを作成し、nanoエディターでファイルを開きます。
mv ispconfig3_account / config / config.inc.php.dist ispconfig3_account / config / config.inc.php
nano ispconfig3_account / config / config.inc.php
リモートユーザーの詳細を入力し、ファイルを保存します。
<?php
$ rcmail_config ['identity_limit'] =false;
$ rcmail_config ['remote_soap_user'] ='roundcube';
$ rcmail_config ['remote_soap_pass'] ='! fdWEacBOG1d';
$ rcmail_config ['soap_url'] ='https://server1.example.com:8080/remote/';
?>
server1.example.comを置き換えます サーバーのホスト名を使用します。リモートAPI接続にSSL(HTTPS)を使用する場合、RoundCube構成のホスト名がISPConfigインターフェイスのSSL証明書のホスト名と一致することが重要です。次のコマンドを使用して、ISPConfigSSL証明書のホスト名を確認できます。
openssl x509 -in /usr/local/share/ca-certificates/ispserver.crt -text -noout | grep件名:
結果は私の場合です:
件名:C =DE、ST =Niedersachsen、L =Lueneburg、O =ISPConfig UG、OU =IT、CN =server1.example.com/[メール保護]
したがって、プラグイン構成ファイルのホスト名「server1.example.com」は、SSL証明書のホスト名と一致します。
次に、RoundCubeで新しいプラグインをアクティブ化します。構成ファイルをエディターで開きます:
nano /opt/roundcube/config/config.inc.php
ファイルの最後に次の行を追加します。
$ rcmail_config ['plugins'] =array( "jqueryui"、 "ispconfig3_account"、 "ispconfig3_autoreply"、 "ispconfig3_pass"、 "ispconfig3_spam"、 "ispconfig3_fetchmail"、 "ispconfig3_filter");
これで、RoundCubeにログインできるようになりました。新しいオプションは、[設定]>[アカウント]にあります。 。
一般的なアカウント。
メールフィルターの設定。
Fetchmailのセットアップ。
- Debian
- Roundcube
- RoundcubeISPConfigプラグイン