以前の記事では、Ubuntuで独自のメールサーバーを最初から設定する方法について説明しました。このチュートリアルでは、ApacheまたはNginxWebサーバーを使用してUbuntu20.04にRainLoopWebメールをインストールする方法を説明します。 RainLoopは、PHPで記述された、シンプルで最新の高速なオープンソースのWebベースの電子メールクライアントです。
RainLoopウェブメール機能
- 最新のウェブインターフェースで、カスタムテーマをアップロードできます。
- 高速で軽量
- SMTPとIMAPの両方をサポートします。
- 複数のアカウントをサポートします。つまり、1か所からすべてのメールアドレスにアクセスできます。
- 2要素認証をサポートします。
- Facebook、Twitter、Google、Dropboxとの統合。
- メールサーバーへの直接アクセス。データベースは必要ありません。
- インストールとアップグレードが簡単(管理パネルのワンクリックアップグレード)
。 RainLoopには2つのエディションがあります:
- コミュニティエディション AGPLv3ライセンスの下でリリース
- 標準版 RainLoopソフトウェアライセンスの下でリリースされました。
このチュートリアルでは、無料のオープンソースコミュニティエディションを使用します。
ステップ1:Apache、PHP7またはNginx、PHP7をインストールする
ApacheとPHP7を使用している場合は、次のコマンドを使用してUbuntu20.04にインストールします。
sudo apt update sudo apt install apache2 php7.4 libapache2-mod-php7.4
NginxとPHP7を使用している場合は、次のコマンドを使用してインストールします。
sudo apt update sudo apt install nginx php7.4 php7.4-fpm
そして、RainLoopに必要な次のPHP拡張機能をインストールします。
sudo apt install php7.4-curl php7.4-xml
ステップ2:Ubuntu20.04にRainLoopWebメールをダウンロードしてインストールする
まず、現在の作業ディレクトリにrainloopのディレクトリを作成します。
mkdir rainloop
ディレクトリにcdして、次のコマンドを使用して最新のRainLoopコミュニティエディションをダウンロードします。
cd rainloop curl -s http://repository.rainloop.net/installer.php | php
それが完了したら、このディレクトリを/var/www/に移動します 。
cd .. sudo mv rainloop /var/www/
次に、Webサーバーユーザーを設定します(www-data )所有者として。
sudo chown www-data:www-data /var/www/rainloop/ -R
ステップ3:RainLoop用の仮想ホストを構成する
ApacheまたはNginxWebサーバーのいずれかを使用できます。
Apache
Apache Webサーバーを使用する場合は、次のコマンドを使用して仮想ホストファイルを作成します。
sudo nano /etc/apache2/sites-available/rainloop.conf
次のテキストをファイルに入れます。赤いテキストを実際の情報に置き換えます。
<VirtualHost *:80>
ServerName mail.example.com
DocumentRoot "/var/www/rainloop/"
ErrorLog "/var/log/apache2/rainloop_error_log"
TransferLog "/var/log/apache2/rainloop_access_log"
<Directory />
Options +Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Order deny,allow
Allow from all
Require all granted
</Directory>
<Directory /var/www/rainloop/data>
Require all denied
</Directory>
</VirtualHost> ファイルを保存して閉じます。次に、この仮想ホストを有効にします。
sudo a2ensite rainloop.conf
そして、Apacheをリロードします。
sudo systemctl reload apache2
Nginx
Nginx Webサーバーを使用する場合は、次のコマンドを使用して仮想ホストファイルを作成します。
sudo nano /etc/nginx/conf.d/rainloop.conf
次のテキストをファイルに入れます。 mail.example.comを独自のドメイン名に置き換えます。
server {
listen 80;
listen [::]:80;
server_name mail.example.com;
root /var/www/rainloop;
index index.php index.html;
access_log /var/log/nginx/rainloop_access.log;
error_log /var/log/nginx/rainloop_error.log;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ ^/(.+\.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;
include /etc/nginx/fastcgi_params;
}
location ^~ /data {
deny all;
}
} ファイルを保存して閉じます。次に、Nginx構成をテストします。
sudo nginx -t
テストが成功した場合は、Nginx構成をリロードします。
sudo systemctl reload nginx
ステップ4:TLS/SSL証明書をインストールする
WebメールにHTTPSを追加する場合は、Let’sEncryptCAから無料のTLS/SSL証明書を取得できます。まず、certbotをインストールしましょう クライアント。
sudo apt install certbot
Apacheを使用する場合 Webサーバーの場合は、CertbotApacheプラグインもインストールする必要があります。
sudo apt install python3-certbot-apache
次に、次のコマンドを発行して、無料のTLS/SSL証明書を取得します。赤い色のテキストを実際のメールアドレスとドメイン名に置き換えます。
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mail.example.com
Nginxを使用する場合 Webサーバーの場合は、CertbotNginxプラグインをインストールする必要があります。
sudo apt install python3-certbot-nginx
次に、Nginxプラグインを使用して、次のコマンドを実行して証明書を取得してインストールします。赤いテキストを実際のメールアドレスとドメイン名に置き換えます。
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mail.example.com
TLS証明書を正常に取得したことを示す次のテキストが表示されます。証明書とチェーンは/etc/letsencrypt/live/mail.example.com/に保存されています ディレクトリ。
ここで、http://mail.example.comにアクセスすると 、https://mail.example.comにリダイレクトされます 。
ステップ5:RainLoopWebメールを構成する
次のURLからRainLoop管理パネルにログインします。
mail.example.com/?admin
デフォルトのユーザー名はadminです デフォルトのパスワードは12345です。 。
ログインしたら、admin以降、ユーザー名とパスワードの両方を変更することをお勧めします 簡単なターゲットです。 securityをクリックします 左ペインのタブ。最初にパスワードを更新してから、再ログインしてユーザー名を更新してください。
RainLoopを介してメールにアクセスするには、Domainsでメールサーバーの設定を構成する必要があります タブ。デフォルトでは、4つのメールドメインが追加されています:gmail.com 、outlook.com 、qq.com 、yahoo.com 。
これらのメールドメインのSMTPサーバー設定とIMAPサーバー設定はRainLoopによって構成されますが、デフォルトではGmailのみが有効になっています。他の3つのメールドメインを有効にするには、チェックボックスをオンにするだけです。
自分のメールサーバーにアクセスできるようにするには、Add Domainをクリックします ボタンをクリックして、独自の電子メールサーバーのIMAPおよびSMTPサーバー設定を入力します。
- IMAP:サーバー mail.example.com 、ポート 143 、セキュアな STARTTLS 。
- SMTP:サーバー mail.example.com 、ポート 587 、セキュアな STARTTLS 。 [認証を使用]にチェックマークを付けます。
RainloopとPostfix/Dovecotが同じサーバーで実行されている場合は、次の構成を使用できるため、サーバーはDNSでドメインを検索してTLS接続を確立する必要はありません。
- IMAP:サーバー 127.0.0.1 、ポート 143 、安全ななし 。
- SMTP:サーバー 127.0.0.1 、ポート 25 、安全ななし 。ポート25では認証を使用しないでください。
また、右側のチェックボックスをオンにして独自のメールドメインを有効にする必要があります。そうしないと、domain is not allowedというエラーが表示されます。 メールアドレスにログインすると表示されます。
設定が完了したら、/?adminを使用せずにブラウザのアドレスバーにRainLoopウェブメールドメイン名を入力します 接尾辞。
mail.example.com
そして、あなたのメールアカウントにログインします。
RainLoopウェブメール
認証に失敗した場合は、IMAPサーバーの設定ページでショートログインを有効にする必要がある場合があります。
Gmail、Outlookメール、または独自のメールドメインでメールにアクセスするには、これですべてです。複数のメールアカウントを追加する場合は、ユーザーのドロップダウンメニューから簡単に切り替えることができます。本当にかっこいい!他の設定を構成したり、ウェブメールインターフェースをカスタマイズしたりすることもできます。
電子メールヘッダーからの機密情報の削除
デフォルトでは、RainloopはX-Mailerを追加します Rainloopウェブメールとバージョン番号を使用していることを示すメールヘッダー。 Postfixにそれを無視するように指示して、受信者がそれを見ることができないようにすることができます。次のコマンドを実行して、ヘッダーチェックファイルを作成します。
sudo nano /etc/postfix/smtp_header_checks
次の行をファイルに入れます。
/^X-Mailer.*RainLoop/ 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にはX-Mailer: Rainloopは含まれていません メールヘッダーで。
アタッチメントのサイズ制限を増やす
PHP-FPMを使用してPHPスクリプトを実行する場合、Rainloopにアップロードされた画像や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.ini sudo 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
次に、Rainloop管理パネル(https://mail.example.com/?admin)にログインします。 )、添付ファイルのサイズ制限を変更します。
変更を保存します。変更を有効にするには、ウェブメールからログアウトしてから再度ログインする必要があります。
カスタムテーマとしての画像のアップロード
ユーザーは、左下隅の歯車アイコンをクリックしてthemesを選択することにより、Rainloopテーマを変更できます。 左側のバーのタブ。画像をカスタムテーマとしてアップロードすることもできます。
私のカスタムテーマ。