GNU/Linux >> Linux の 問題 >  >> Ubuntu

Apache/Nginxを使用してUbuntu20.04にRoundcubeWebメールをインストールします

Roundcube PHPで書かれた無料のオープンソースのフル機能のウェブメールクライアントです。ウェブメールはブラウザのメールクライアントです。つまり、Mozilla Thunderbirdなどのデスクトップメールクライアントからメールを読んだり送信したりする代わりに、ウェブブラウザからメールにアクセスできます。このチュートリアルでは、ApacheまたはNginxWebサーバーを使用してUbuntu20.04にRoundcubeWebメールをインストールする方法を説明します。

Roundcubeの機能

Roundcubeの機能は次のとおりです。

  • 名簿
  • フォルダ管理
  • メッセージ検索
  • メッセージフィルター
  • スペルチェック
  • MIMEサポート
  • PGPの暗号化と署名
  • ユーザーはRoundcubeでパスワードを変更できます。
  • MIMEまたはMbox形式のメールをインポートします。

Roundcube1.4リリース

Roundcube 1.4は、2年間の開発の後、2019年11月10日にリリースされました。このリリースの機能:

  • Elasticと呼ばれる反応性の高い肌 モバイルデバイスを完全にサポート
  • 再送(バウンス)機能をメールで送信
  • Mailvelope統合の改善
  • RedisおよびMemcachedキャッシュのサポート
  • SMTPUTF8およびGSSAPIのサポート
  • さらに多くの改善とバグ修正

前提条件

このチュートリアルに従うために、

  • PostfixSMTPサーバーとDovecotIMAPサーバーがUbuntu20.04サーバーにインストールされています
  • Ubuntu20.04サーバーにLAMPスタックまたはLEMPスタックを既にインストールしています。

そうでない場合は、上記のリンクをクリックし、指示に従って前提条件を完了してください。以前にiRedMailを使用してメールサーバーを設定した場合、サーバーはすべての要件を満たし、Roundcubeはすでにサーバーにインストールされていることに注意してください。

それでは、Roundcubeのインストールに進みましょう。

ステップ1:Ubuntu20.04にRoundcubeWebメールをダウンロードする

SSH経由でUbuntuサーバーにログインし、次のコマンドを実行して、RoundcubeGithubリポジトリから最新の1.4安定バージョンをダウンロードします。

 wget https://github.com/roundcube/roundcubemail/releases/download/1.4.6/roundcubemail-1.4.6-complete.tar.gz 

:コマンドラインからRoundcubeをダウンロードするには、いつでも上記のURL形式を使用できます。新しいバージョンが出た場合は、1.4.6を新しいバージョン番号に置き換えるだけです。 Roundcubeのダウンロードページで新しいリリースがあるかどうかを確認できます。

tarballを抽出し、新しく作成したフォルダーをWebルート(/var/www/)に移動します )名前をroundcubeに変更します 同時に。

 tar xvf roundcubemail-1.4.6-complete.tar.gzsudo mv roundcubemail-1.4.6 /var/www/roundcube 

ステップ2:依存関係をインストールする

次のコマンドを実行して、必要なPHP拡張機能をインストールします。

 sudo apt install php-net-ldap2 php-net-ldap3 php-imagick php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7 .4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-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-datatempの所有者として および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チュートリアルに従った場合、仮想ホストはすでに存在します。次のファイルを編集する必要があります。 (既存のコンテンツを削除します。)

 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チュートリアルに従った場合、仮想ホストはすでに存在します。次のファイルを編集する必要があります。 (既存のコンテンツを削除します。)

 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.4-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)をUbuntu20.04サーバーにインストールします。

 sudo apt install certbot 

Nginxを使用する場合は、CertbotNginxプラグインもインストールする必要があります。

 sudo apt install python3-certbot-nginx 

次に、次のコマンドを実行してTLS証明書を取得してインストールします。

 sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mail.example.com 

Apacheを使用する場合は、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ページ目で、Database setupに移動します セクション。手順3で作成したMariaDBデータベースの詳細を入力する必要があります。

IMAPおよびSMTPセクションでは、電子メールの送受信方法を構成できます。 IMAPには次の値を入力します。

  • IMAPホスト:ssl://mail.example.com ポート:993

SMTP設定に次の値を入力します。

  • SMTPポート:tls://mail.example.com ポート:587tls://を使用する必要があることに注意してください ポート587のプレフィックスとして。ssl:// ポート465にはプレフィックスを使用する必要があります。

次に、Pluginsまでスクロールダウンできます 一部のプラグインを有効にするセクション。たとえば、パスワードプラグイン、ジャンクプラグインとしてマークするなどです。それらすべてを有効にしました。 (/var/www/roundcube/config/config.inc.phpにインストールした後は、いつでもプラグインを無効にできます。 ファイル。)

それが完了したら、create configをクリックします 入力した情報に基づいて構成を作成するボタン。構成をコピーして、config.inc.phpとして保存する必要があります /var/www/roundcube/config/の下 ディレクトリ。

一度config.inc.php ファイルが作成されたら、continueをクリックします ボタン。最後のステップで、テストメールを送信し、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フォルダーに移動するフィルターを作成します。

create filterがない場合 オプション、おそらく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.4/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.4-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/に記録されます ディレクトリ。

ストレージサーバーへの接続に失敗しました

ストレージサーバーへの接続に失敗しましたが表示された場合 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エントリを追加することもできます Roundcubeサーバーで手順8の説明に従ってファイルを作成し、Roundcubeがメールサーバーのホスト名を適切に解決できるようにします。

サーバーからメッセージを読み込めませんでした

内部エラー:サーバーからメッセージを読み込めませんでした 」エラー、削除されたメール(無効なURL)を開こうとしている可能性があります。メールルートドメイン(mail.example.com)にアクセスして、機能するかどうかを確認してください。

ふるいメッセージフィルターが機能しませんか?

手順8に従って文字にふるいフィルターを設定しても、それを機能させることができない場合は、Dovecotでデバッグを有効にして、何が問題なのかを見つけることができます。

 sudo nano /etc/dovecot/dovecot.conf 

このファイルの最後に次の行を追加して、Dovecotでのデバッグを有効にします。

 mail_debug =yes 

ファイルを保存して閉じます。次に、Dovecotを再起動します。

 sudo systemctl restart dovecot 

次に、ドメインのメールアドレスにテストメールを送信し、メールログファイルを開きます。

 sudo nano /var/log/mail.log 

Sieveメッセージフィルターのデバッグ情報を見つけることができます。たとえば、DovecotがSieveスクリプトを実行できなかったことがわかりました。

 Jan 10 11:35:24 mail dovecot:lmtp([email protected])Debug:sieve:Aborted running script `/var/vmail/linuxbabe.com/xiao/.dovecot.svbin'

私のSieveフィルターにはルールが多すぎて、それらのいくつかが互いに競合していることがわかりました。これらの競合するルールを削除すると、再び機能します。

Roundcubeをアップグレードする方法

とても簡単です。たとえば、Roundcube1.5.0にアップグレードする方法は次のとおりです。

Roundcubeの最新バージョンをホームディレクトリにダウンロードします。

 cd〜wget https://github.com/roundcube/roundcubemail/releases/download/1.5.0/roundcubemail-1.5.0-complete.tar.gz 

アーカイブを抽出します。

 tar xvf roundcubemail-1.5.0-complete.tar.gz 

所有者をwww-dataに変更します 。

 chown www-data:www-data roundcubemail-1.5.0 / -R 

次に、インストールスクリプトを実行します。

 roundcubemail-1.5.0 / bin / installto.sh /var/www/roundcube/ 

完了したら、Roundcube Webメールにログインし、[概要]をクリックします。 ボタンをクリックして、使用しているRouncubeのバージョンを確認します。


Ubuntu
  1. Ubuntu16.04にNginxを使用してHTTPGitサーバーをインストールする方法

  2. Ubuntu20.04にNginxを使用してHTTPGitサーバーをインストールする方法

  3. Nginx を使用して Ubuntu 20.04 に phpMyAdmin をインストールする

  1. Ubuntu16.04にApacheを使用してJenkinsAutomationServerをインストールする方法

  2. Ubuntu18.04にApacheを使用してJenkinsAutomationServerをインストールする方法

  3. Ubuntu20.04にNginxを使用してJellyfinMediaServerをインストールする方法

  1. Apache/Nginxを使用してCentOS8/RHEL8にRoundcubeWebメールをインストールします

  2. Apache/Nginxを使用してUbuntu20.04にFileRunをインストールする方法

  3. Apache/Nginxを使用してUbuntu20.04にSuiteCRMをインストールする方法