Roundcube PHPで書かれた無料のオープンソースのフル機能のウェブメールクライアントです。ウェブメールはブラウザのメールクライアントです。つまり、Mozilla Thunderbirdなどのデスクトップメールクライアントからメールを読んだり送信したりする代わりに、ウェブブラウザからメールにアクセスできます。このチュートリアルでは、ApacheまたはNginxWebサーバーを使用してUbuntu18.04にRoundcubeWebメールをインストールする方法を説明します。
Roundcubeの機能
Roundcubeの機能は次のとおりです。
- 名簿
- フォルダ管理
- メッセージ検索
- メッセージフィルター
- スペルチェック
- MIMEサポート
- PGPの暗号化と署名
- ユーザーはRoundcubeでパスワードを変更できます。
Roundcube1.4リリース
Roundcube 1.4は、2年間の開発の後、2019年11月10日にリリースされました。このリリースの機能:
- Elasticと呼ばれる反応性の高い肌 モバイルデバイスを完全にサポート
- 再送(バウンス)機能をメールで送信
- Mailvelope統合の改善
- RedisおよびMemcachedキャッシュのサポート
- SMTPUTF8およびGSSAPIのサポート
- さらに多くの改善とバグ修正
前提条件
このチュートリアルに従うために、
- PostfixSMTPサーバーとDovecotIMAPサーバーがUbuntu18.04サーバーにインストールされています
- Ubuntu18.04サーバーにLAMPスタックまたはLEMPスタックを既にインストールしています。
そうでない場合は、上記のリンクをクリックし、指示に従って前提条件を完了してください。以前にiRedMailを使用してメールサーバーを設定した場合、サーバーはすべての要件を満たし、Roundcubeはすでにサーバーにインストールされていることに注意してください。
それでは、Roundcubeのインストールに進みましょう。
ステップ1:Ubuntu18.04にRoundcubeWebメールをダウンロードする
SSH経由でUbuntuサーバーにログインし、次のコマンドを実行して、RoundcubeGithubリポジトリから最新の1.4安定バージョンをダウンロードします。
wget https://github.com/roundcube/roundcubemail/releases/download/1.4.0/roundcubemail-1.4.0-complete.tar.gz
注 :コマンドラインからRoundcubeをダウンロードするには、いつでも上記のURL形式を使用できます。新しいバージョンが出た場合は、1.4.0を新しいバージョン番号に置き換えるだけです。 Roundcubeのダウンロードページで新しいリリースがあるかどうかを確認できます。
tarballを抽出し、新しく作成したフォルダーをWebルート(/var/www/
)に移動します )名前をroundcube
に変更します 同時に。
tar xvf roundcubemail-1.4.0-complete.tar.gzsudo mv roundcubemail-1.4.0 /var/www/roundcube
ステップ2:依存関係をインストールする
次のコマンドを実行して、必要なPHP拡張機能をインストールします。
sudo apt install php-net-ldap2 php-net-ldap3 php-imagick php7.2-common php7.2-gd php7.2-imap php7.2-json php7.2-curl php7.2-zip php7 .2-xml php7.2-mbstring php7.2-bz2 php7.2-intl php7.2-gmp
PHPの依存関係マネージャーであるComposerをインストールします。
sudo apt install composer
roundcubeディレクトリに移動します。
cd / var / www / roundcube
Composerを使用して、Roundcube Webメールに必要なすべての依存関係(サードパーティライブラリ)をインストールします。
composer install --no-dev
nothing to install or update
が表示された場合 メッセージが表示されたら、すべての依存関係がインストールされます。
Webサーバーユーザーを作成します(www-data
)temp
の所有者として およびlogs
Webサーバーがこれら2つのディレクトリに書き込めるようにディレクトリを作成します。
sudo chown www-data:www-data temp / logs / -R
ステップ3:Roundcube用のMariaDBデータベースとユーザーを作成する
ルートとしてMariaDBシェルにログインします。
sudo mysql -u root
次に、次のコマンドを使用してRoundcubeの新しいデータベースを作成します。このチュートリアルでは、roundcube
という名前を付けています 、データベースには任意の名前を使用できます。
CREATE DATABASE roundcube DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
次に、次のコマンドを使用して、ローカルホスト上に新しいデータベースユーザーを作成します。繰り返しになりますが、このチュートリアルではroundcubeuser
という名前を付けています 、好きな名前を使用できます。 password
を置き換えます ご希望のパスワードを使用してください。
CREATE USER roundcubeuser @ localhost IDENTIFIED BY'password';
次に、新しいデータベースのすべての権限を新しいユーザーに付与して、後でRoundcubeWebメールがデータベースに書き込めるようにします。
roundcube。*のすべての特権をroundcubeuser@localhostに付与します;
変更を有効にするには、特権テーブルをフラッシュします。
フラッシュ権限;
MariaDBシェルを終了します:
終了;
初期テーブルをroundcube
にインポートします データベース。
sudo mysql roundcubeステップ4:Roundcube用のApache仮想ホストまたはNginx構成ファイルを作成する
Apache
Apache Webサーバーを使用する場合は、Roundcubeの仮想ホストを作成します。
sudo nano /etc/apache2/sites-available/roundcube.conf注 :私のPostfix / Dovecotチュートリアルに従った場合、仮想ホストはすでに存在します。次のファイルを編集する必要があります。 (パート2で追加されたこのファイルのテキストを削除し、以下の新しいテキストを追加します。)
sudo nano /etc/apache2/sites-available/mail.example.com.conf次のテキストをファイルに入れます。
mail.example.com
を置き換えます 実際のドメイン名を使用して、DNSAレコードを設定することを忘れないでください。ServerName mail.example.com DocumentRoot / var / www / roundcube / ErrorLog $ {APACHE_LOG_DIR} /roundcube_error.log CustomLog ${APACHE_LOG_DIR}/roundcube_access.log結合 オプションFollowSymLinksAllowOverrideAll オプションFollowSymLinksMultiViewsAllowOverride All Order allow、deny permit from all ファイルを保存して閉じます。次に、次のコマンドでこの仮想ホストを有効にします。
sudo a2ensite roundcube.conf変更を有効にするためにApacheをリロードします。
sudo systemctl reload apache2これで、
http://mail.example.com/installer
でRoundcubeWebベースのインストールウィザードが表示されるはずです。 。Nginx
Nginx Webサーバーを使用する場合は、Roundcubeの仮想ホストを作成します。
sudo nano /etc/nginx/conf.d/roundcube.conf注 :私のPostfix / Dovecotチュートリアルに従った場合、仮想ホストはすでに存在します。次のファイルを編集する必要があります。 (パート2で追加されたこのファイルのテキストを削除し、以下の新しいテキストを追加します。)
sudo nano /etc/nginx/conf.d/mail.example.com.conf次のテキストをファイルに入れます。ドメイン名を置き換えて、DNSAレコードを設定することを忘れないでください。
server {listen 80;聞く[::]:80; server_name mail.example.com;ルート/var/ www / roundcube /; index index.php index.html index.htm; error_log /var/log/nginx/roundcube.error; access_log /var/log/nginx/roundcube.access;場所/{try_files$ uri $ uri / /index.php; }場所〜\ .php $ {try_files $ uri =404; fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; fastcgi_paramsを含める; }場所〜/.well-known/acme-challenge{すべて許可; }場所〜^ /(README | INSTALL | LICENSE | CHANGELOG | UPGRADING)${すべて拒否; }場所〜^ /(bin | SQL)/{すべて拒否; }#ブラウザキャッシュの有効期間が長いと、ページの場所への繰り返しアクセスが高速化されます〜* \。(jpg | jpeg | gif | png | webp | svg | woff | woff2 | ttf | css | js | ico | xml)$ {access_logオフ; log_not_found off; 360dの有効期限が切れます。 }}ファイルを保存して閉じます。次に、Nginx構成をテストします。
sudo nginx -tテストが成功した場合は、変更を有効にするためにNginxをリロードします。
sudo systemctl reload nginxこれで、
http://mail.example.com/installer
でRoundcubeWebベースのインストールウィザードが表示されるはずです。 。ステップ5:HTTPSを有効にする
TLSを使用してウェブメールを暗号化することを強くお勧めします。 Let’s Encryptから発行された無料のTLS証明書をインストールすることで、HTTPSを有効にできます。次のコマンドを実行して、Let’s Encryptクライアント(certbot)をUbuntu18.04サーバーにインストールします。
sudo apt install certbotNginxを使用する場合は、CertbotNginxプラグインもインストールする必要があります。
sudo apt install python3-certbot-nginx次に、次のコマンドを実行してTLS証明書を取得してインストールします。
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mail.example.comApacheを使用する場合は、CertbotApacheプラグインをインストールしてください。
sudo apt install python3-certbot-apacheそして、このコマンドを実行してTLS証明書を取得してインストールします。
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mail.example.comどこ
-
--nginx
:nginxプラグインを使用してください。 -
--apache
:Apacheプラグインを使用してください。 -
--agree-tos
:利用規約に同意します。 --redirect
:301リダイレクトでHTTPSを強制します。-
--hsts
:すべてのHTTP応答にStrict-Transport-Securityヘッダーを追加します。ドメインに常にTLSを使用するようにブラウザを強制します。 SSL/TLSストリッピングから防御します。 -
--staple-ocsp
:OCSPステープリングを有効にします。有効なOCSP応答は、TLS中にサーバーが提供する証明書にホチキス止めされます。
これで、証明書が取得され、自動的にインストールされます。
注 :私のPostfix / Dovecotチュートリアルに従い、同じサーバーにRoundcubeをインストールすると、certbotはおそらく、以下に示すようにmail.example.comの証明書がすでに存在することを通知するので、既存のTLSのインストールを選択できます。 Webサーバー構成ファイルへの証明書。
ステップ6:ローカルDNSエントリの追加
/etc/hosts
を編集することをお勧めします メールサーバーにファイルを追加し、次のエントリを追加して、RoundcubeがパブリックDNSにクエリを実行する必要がないようにします。これにより、ウェブページの読み込みが少し速くなります。
127.0.0.1 localhost mail.example.com
ステップ7:Webブラウザでのインストールを完了します
Webブラウザーで、Roundcubeインストーラーページに移動します。
https://mail.example.com/installer
Webインストーラーは、最初にPHP拡張機能、データベース、およびサードパーティライブラリがインストールされているかどうかを確認します。このチュートリアルに従うと、すべての要件が満たされるはずです。
[次へ]ボタンをクリックします。 2ページ目に、前に作成したMariaDBデータベースの詳細を入力する必要があります。
IMAPおよびSMTPセクションでは、電子メールの送受信方法を構成できます。 IMAPには次の値を入力します。
- IMAPホスト:
ssl://mail.example.com
ポート:993
SMTP設定に次の値を入力します。
- SMTPポート:
tls://mail.example.com
ポート:587
。tls://
を使用する必要があることに注意してください ポート587のプレフィックスとして。ssl://
ポート465にはプレフィックスを使用する必要があります
次に、Plugins
までスクロールダウンできます 一部のプラグインを有効にするセクション。例:パスワードプラグイン、ジャンクプラグインとしてマークなど。それらすべてを有効にしました。
それが完了したら、create config
をクリックします 入力した情報に基づいて構成を作成するボタン。構成をコピーして、config.inc.php
として保存する必要があります /var/www/roundcube/config/
の下 ディレクトリ。
config.inc.phpファイルが作成されたら、[続行]ボタンをクリックします。最後のステップで、テストメールを送信し、IMAPログインを確認して、SMTPとIMAPの設定をテストします。 Sender
に完全なメールアドレスを入力する必要があることに注意してください SMTP構成をテストするときのフィールド。
テストが失敗した場合は、2. Create config
ページ上部のリンクをクリックして手順2に戻り、config.inc.php
を再作成します。 ファイル。
テストが成功した場合は、/installer
なしでWebメールドメインにアクセスします とログインします。
RoundcubeWebメールインターフェース
ここで、削除する必要があります ドキュメントルートからインストーラーフォルダ全体を取得するか、enable_installer
を確認してください config.inc.php
のオプション ファイルが無効になっています。
sudo rm / var / www / roundcube / installer / -r
これらのファイルは、サーバーのパスワードや暗号化キーなどの機密性の高い構成データを公開する可能性があります。ブラウザからインストーラページにアクセスできないことを確認してください。
ステップ8:Sieveメッセージフィルターを構成する
Roundcube Webメールにフォルダーを作成してから、電子メールメッセージを別のフォルダーにフィルターするルールを作成できます。これを行うには、次のコマンドを使用してManageSieveサーバーをインストールする必要があります。
sudo apt install dovecot-sieve dovecot-managesieved
デフォルトでは、Postfixは組み込みのローカル配信エージェント(LDA)を使用して、受信メールをメッセージストアに移動します。 (受信トレイ、送信済み、ゴミ箱、ジャンクなど)。 SMTPの簡易バージョンであるLMTPプロトコルを介して、Dovecotを使用して電子メールを配信するように構成できます。 LMTPを使用すると、拡張性と信頼性の高いメールシステムが可能になり、sieveプラグインを使用して、さまざまなフォルダへの受信メッセージをフィルタリングする場合に必要になります。
DovecotLMTPサーバーをインストールします。
sudo apt install dovecot-lmtpd
Dovecotのメイン構成ファイルを編集します。
sudo nano /etc/dovecot/dovecot.conf
lmtp
を追加します およびsieve
サポートされているプロトコルに。
プロトコル=imaplmtp sieve
ファイルを保存して閉じます。次に、Dovecot 10-master.confを編集します ファイル。
sudo nano /etc/dovecot/conf.d/10-master.conf
lmtp
を変更します 以下のサービス定義。
service lmtp {unix_listener / var / spool / postfix / private / dovecot-lmtp {group =postfix mode =0600 user =postfix}}
次に、Postfixのメイン設定ファイルを編集します。
sudo nano /etc/postfix/main.cf
ファイルの最後に次の行を追加します。最初の行は、DovecotLMTPサーバーを介してローカルメッセージストアに電子メールを配信するようにPostfixに指示します。 2行目は、Dovecot-LMTPがこのメール拡張機能をサポートしていないため、PostfixでSMTPUTF8を無効にします。
mailbox_transport =lmtp:unix:private / dovecot-lmtpsmtputf8_enable =no
ファイルを保存して閉じます。 /etc/dovecot/conf.d/15-lda.conf
を開きます ファイル。
sudo nano /etc/dovecot/conf.d/15-lda.conf
ファイルの最後までスクロールし、mail_plugins
のコメントを解除します ふるいプラグインをローカル配信エージェント(LDA)に追加します。
protocol lda {#ロードするプラグインのスペース区切りリスト(デフォルトはグローバルmail_plugins)。 mail_plugins =$ mail_plugins sieve}
ファイルを保存して閉じます。 20-lmtp.conf
が見つかった場合 /etc/dovecot/conf.d/
の下のファイル ディレクトリの場合は、以下のようにそのファイルでsieveプラグインも有効にする必要があります。
プロトコルlmtp{mail_plugins=クォータふるい}
/etc/dovecot/conf.d/10-mail.conf
を編集します ファイル。
sudo nano /etc/dovecot/conf.d/10-mail.conf
Sieveスクリプトは、各ユーザーのホームディレクトリに保存されます。 PostfixAdminチュートリアルに従い、仮想メールボックスドメインを使用している場合は、mail_home
を有効にする必要があります。 仮想ユーザーにはデフォルトでホームディレクトリがないため、ファイルに次の行を追加して仮想ユーザーの場合。
mail_home =/ var / vmail /%d /%n
ファイルを保存して閉じます。
最後に、PostfixとDovecotを再起動します。
sudo systemctl restart postfix dovecot
これで、Roundcube Webメールにアクセスし、電子メールメッセージを開いて、more
をクリックできます。 ボタンをクリックし、create filters
を選択します メッセージフィルターを作成します。たとえば、redhat.comから送信されたすべてのメールをRedHatフォルダーに移動するフィルターを作成します。
フィルタの作成オプションがない場合は、managesieve
を有効にしていない可能性があります プラグイン。 config.inc.php
を編集します ファイル。
sudo nano /var/www/roundcube/config/config.inc.php
managesieve
を追加します このファイルの最後にある配列のプラグイン。プラグインの順序は関係ありません。
$ config ['plugins'] =array('acl'、'additional_message_headers'、'managesieve' 、.....);
ファイルを保存して閉じます。
ふるいフィルターセットを古いメールサーバーから新しいメールサーバーに移動する場合は、設定に移動する必要があることに注意してください。 ->フィルター 、[アクション]をクリックします フィルタセットを有効にします。有効にしないと、DovecotLMTPサーバーはふるいフィルタを実行しません。
ステップ9:電子メールヘッダーから機密情報を削除する
デフォルトでは、RoundcubeはUser-Agent
を追加します Roundcubeウェブメールとバージョン番号を使用していることを示すメールヘッダー。 Postfixにそれを無視するように指示して、受信者がそれを見ることができないようにすることができます。次のコマンドを実行して、ヘッダーチェックファイルを作成します。
sudo nano / etc / postfix / smtp_header_checks
次の行をファイルに入れます。
/^User-Agent。*RoundcubeWebmail / IGNORE
ファイルを保存して閉じます。次に、Postfixのメイン設定ファイルを編集します。
sudo nano /etc/postfix/main.cf
ファイルの最後に次の行を追加します。
smtp_header_checks =regexp:/ etc / postfix / smtp_header_checks
ファイルを保存して閉じます。次に、次のコマンドを実行してハッシュテーブルを再構築します。
sudo postmap / etc / postfix / smtp_header_checks
変更を有効にするには、Postfixをリロードします。
sudo systemctl reload postfix
これで、PostfixにはUser-Agent: Roundcube Webmail
が含まれなくなります 送信メールを送信するときにヘッダーに表示されます。
ステップ10:Roundcubeでパスワードプラグインを構成する
Roundcubeには、ユーザーがWebメールインターフェイスからパスワードを変更できるようにするパスワードプラグインが含まれています。 config.inc.php
を編集します ファイル。
sudo nano /var/www/roundcube/config/config.inc.php
password
を確認してください このファイルの最後にあるプラグインリストのプラグイン。プラグインの順序は関係ありません。
$ config ['plugins'] =array('acl'、'additional_message_headers'、'password' 、.....);
ファイルを保存して閉じます。
ただし、このプラグインを機能させるには、このプラグインを構成する必要があります。パスワードプラグイン構成ファイルを編集します。次のコマンドを実行して、配布されたパスワードプラグインの構成ファイルを新しいファイルにコピーします。
sudo cp /var/www/roundcube/plugins/password/config.inc.php.dist /var/www/roundcube/plugins/password/config.inc.php
パスワードプラグイン構成ファイルを編集します。
sudo nano /var/www/roundcube/plugins/password/config.inc.php
次の行を見つけます:
$ config ['password_db_dsn'] ='';
このパラメーターは、ユーザーパスワードが保存されている場所をパスワードプラグインに通知するために使用されます。デフォルトでは、値は空であり、roundcube
にクエリを実行します データベース。ユーザーのパスワードは保存されません。 PostfixAdminチュートリアルに従った場合、ユーザーパスワードはpostfixadmin.mailbox
に保存されます。 テーブルなので、値を次のように変更する必要があります:
$ config ['password_db_dsn'] ='mysql:// postfixadmin:[email protected]/postfixadmin';
パスワードプラグインにpostfixadmin
に接続するように指示します データベース。 postfixadminデータベースのパスワードを覚えていない場合は、/etc/dovecot/dovecot-sql.conf.ext
にあります。 ファイル。 PostfixAdminパスワードに一重引用符が含まれている場合は、円記号(\'
)を使用できます。 )それを逃れるために。
次に、次の行を見つけます。
$ config ['password_query'] ='SELECT update_passwd(%c、%u)';
次のように変更します。
$ config ['password_query']='UPDATEメールボックスSETpassword=%D、modified =NOW()WHERE username =%u';
ユーザーが週のパスワードを設定できないように、パスワード強度チェッカーを有効にすることをお勧めします。このファイルの先頭に移動すると、次の行が見つかります。
$ config ['password_strength_driver'] =null;
zxcvbn
を使用できます パスワード強度ドライバーなので、次のように変更します:
$ config ['password_strength_driver'] ='zxcvbn';
このファイルに次の行を追加して、強力なパスワードのみを許可します。
$ config ['password_zxcvbn_min_score'] =5;
注 :$config['password_minimum_score']
パラメータがzxcvbn
では機能しない ドライバーなので、そのままにしておきます。
パスワードの最小の長さを設定することもできます。次の行を見つけます。
$ config ['password_minimum_length'] =0;
次のように変更します:
$ config ['password_minimum_length'] =8;
PostfixAdminチュートリアルでARGON2Iパスワードスキームを使用したことを思い出してください。そのため、ARGON2Iを使用するようにパスワードプラグインを構成する必要もあります。ファイル内で次の行を見つけます。
$ config ['password_algorithm'] ='clear';
デフォルトでは、パスワードはクリアテキストとして保存されます。Dovecotの組み込みパスワードアルゴリズムを使用するには、値を次のように変更します。
$ config ['password_algorithm'] ='dovecot';
次に、Dovecotのパスワードハッシュジェネレータがどこにあるかを示す次の行を見つけます。
$ config ['password_dovecotpw'] ='/ usr / local / sbin / dovecotpw'; //dovecot-1.xの場合
次のように変更します。
$ config ['password_dovecotpw'] ='/ usr / bin / doveadm pw -r 5';
次に、使用するパスワードスキームを示す次の行を見つけます。
$ config ['password_dovecotpw_method'] ='CRAM-MD5';
次のように変更します:
$ config ['password_dovecotpw_method'] ='ARGON2I';
次の行を見つけます。
$ config ['password_dovecotpw_with_method'] =false;
false
を変更します true.
に これにより、ハッシュされたパスワードに{ARGON2I}プレフィックスが追加されるため、使用されているパスワードスキームがわかります。
$ config ['password_dovecotpw_with_method'] =true;
ファイルを保存して閉じます。このファイルにはデータベースパスワードが含まれているため、www-data
のみを許可する必要があります このファイルの読み取りと書き込みを行うユーザー。
sudo chown www-data:www-data /var/www/roundcube/plugins/password/config.inc.phpsudo chmod 600 /var/www/roundcube/plugins/password/config.inc.php
これで、ユーザーはRoundcubeWebメールインターフェイスでパスワードを変更できるようになります。
休暇/不在メッセージを設定する方法
ふるいフィルターを使用して、休暇/不在メッセージを作成できます。 Roundcubeの設定に移動します ->フィルター 。次に、create
をクリックします ボタンをクリックしてフィルターを作成します。
- このファイラーに「不在」のような名前を付けます。
- 新しいフィルターは無効になっていないため、ボタンをそのままにしておくことができます。
- 範囲 フィールドで、すべてのメッセージを選択します。
- メッセージで再生を選択します [アクション]設定で、自動的に送信されるメッセージを入力します。
- 1と入力します メッセージを送信する頻度 そのため、自動返信は送信者ごとに1日1回だけ送信されます。この値を7に設定した場合 、その後、自動返信は送信者ごとに7日に1回送信されます。
- 他のテキストフィールドは空のままにします。
- 保存をクリックします ボタンをクリックすれば完了です。
オフィスに戻ったら、「フィルターを無効にする」を切り替えることができます 」ボタンをクリックし、保存をクリックします ボタンをクリックして、このフィルターを無効にします。
アップロードファイルのサイズ制限を増やす
PHP-FPMを使用してPHPスクリプトを実行する場合、Roundcubeにアップロードされる画像やPDFファイルなどのファイルは2MBを超えることはできません。アップロードサイズの制限を増やすには、PHP構成ファイルを編集します。
sudo nano /etc/php/7.2/fpm/php.ini
次の行を見つけます(行846)。
upload_max_filesize =2M
以下のように値を変更してください。この値は、PostfixSMTPサーバーによって設定された添付ファイルのサイズ制限を超えてはならないことに注意してください。
upload_max_filesize =50M
次に、次の行を見つけます(694行目)。
post_max_size =8M
PHPが受け入れるPOSTデータの最大サイズを変更します。
post_max_size =50M
ファイルを保存して閉じます。または、次の2つのコマンドを実行して、ファイルを手動で開かずに値を変更することもできます。
sudo sed -i's / upload_max_filesize =2M / upload_max_filesize =50M / g'/etc/php/7.4/fpm/php.inisudo sed -i's / post_max_size =8M / post_max_size =50M / g'/ etc /php/7.4/fpm/php.ini
次に、PHP-FPMを再起動します。
sudo systemctl restart php7.2-fpm
Nginxは、アップロードファイルサイズの制限も設定します。 Nginxによって設定されるデフォルトの最大アップロードファイルサイズ制限は1MBです。 Nginxを使用する場合は、Nginx構成ファイルを編集します。
sudo nano /etc/nginx/conf.d/mail.example.com.conf
SSL仮想ホストに次の行を追加します。
client_max_body_size 50M;
ファイルを保存して閉じます。次に、変更を有効にするためにNginxをリロードします。
sudo systemctl reload nginx
Roundcubeには、添付ファイル/ファイルアップロード用の3つのプラグインがあります:
- database_attachments
- filesystem_attachments
- redundant_attachments
Roundcubeは、添付ファイル/ファイルのアップロードに1つのプラグインのみを使用できます。 database_attachment
が見つかりました プラグインはerror_proneであり、問題を引き起こす可能性があります。無効にするには、Roundcube構成ファイルを編集します。
sudo nano /var/www/roundcube/config/config.inc.php
このファイルの最後までスクロールダウンします。アクティブなプラグインのリストが表示されます。 'database_attachments'
を削除します リストから。ファイルを保存して閉じます。
複数のメールドメインの設定
複数のメールドメインをホストするには、次の記事をお読みください:
- UbuntuのPostfixAdminで複数のメールドメインをホストする方法
トラブルシューティングのヒント
エラーが発生した場合は、/var/log/apache2/roundcube_error.log
でWebサーバーのエラーログを確認できます。 (Apacheを使用している場合)、または/var/log/nginx/roundcube.error
(Nginxを使用している場合)、Roundcubeエラーも/var/www/roundcube/logs/
に記録されます ディレクトリ。
ストレージサーバーへの接続に失敗しました
Connection to storage server failed
が表示された場合 RoundCubeにログインしようとしたときにエラーが発生しました。おそらく
- Dovecotサーバーが実行されていません。
sudo systemctl restart dovecot
を使用してDovecotを再起動できますsystemctl status dovecot
でステータスを確認します 。 - 自己署名TLS証明書を使用しています。 Roundcubeには、Let’sEncryptなどの信頼できる認証局から発行された有効なTLS証明書が必要です。
- TLS証明書の有効期限が切れています。 Let’sEncryptTLS証明書は
sudo certbot renew
で更新できます 、次にPostfixとDovecotを再起動します(sudo systemctl restart postfix dovecot
。
/etc/hosts
にカスタムDNSエントリを追加することもできます ステップ8で説明されているファイル Roundcubeサーバー上にあるため、Roundcubeはメールサーバーのホスト名を適切に解決できます。
サーバーからメッセージを読み込めませんでした
「内部エラー:サーバーからメッセージを読み込めませんでした 」エラー、削除されたメール(無効なURL)を開こうとしている可能性があります。メールルートドメイン(mail.example.com)にアクセスして、機能するかどうかを確認してください。