如何使用Apache / Nginx在Ubuntu 20.04上安装RainLoop Webmail

在先前的文章中,我们讨论了如何从头开始在Ubuntu上设置您自己的邮件服务器。 本教程将向您展示如何在具有Apache或Nginx Web服务器的Ubuntu 20.04上安装RainLoop Webmail。 RainLoop是一个使用PHP编写的简单,现代,快速和开放源代码的基于Web的电子邮件客户端。

RainLoop网络邮件功能

  • 现代化的网络界面,可让您上传自定义主题。
  • 快速轻巧
  • 同时支持SMTP和IMAP。
  • 支持多个帐户,这意味着您可以从一个位置访问所有电子邮件地址。
  • 支持两因素认证。
  • 与Facebook,Twitter,Google和Dropbox集成。
  • 直接访问邮件服务器,无需数据库。
  • 易于安装和升级(在管理面板中一键式升级)

。 RainLoop有两个版本:

  • 社区版 根据AGPL v3许可发布
  • 标准版 根据RainLoop软件许可发布。

在本教程中,我们将使用免费的开源社区版本。

步骤1:安装Apache,PHP7或Nginx,PHP7

如果使用Apache和PHP7,请使用以下命令在Ubuntu 20.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:在Ubuntu 20.04上下载并安装RainLoop Webmail

首先,在当前工作目录中为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或Nginx Web服务器。

阿帕奇

如果要使用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证书

如果要将HTTPS添加到Webmail,则可以从Let’s Encrypt CA获得免费的TLS / SSL证书。 首先,让我们安装 certbot 客户。 以下命令将从官方certbot PPA安装客户端和apache插件。

sudo apt install software-properties-common

sudo add-apt-repository ppa:certbot/certbot

sudo apt update

sudo apt install certbot

如果使用Apache Web服务器,则还需要安装Certbot Apache插件。

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服务器,则需要安装Certbot Nginx插件。

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:配置RainLoop Webmail

通过以下URL登录到RainLoop管理面板。

mail.example.com/?admin

默认用户名是 admin 默认密码是 12345

rainloop Webmail管理员登录页面

登录后,建议更改用户名和密码,因为 admin 是一个简单的目标。 点击 security 标签在左窗格中。 首先更新您的密码,然后重新登录并更新您的用户名。

rainloop-webmail-ubuntu-20.04

要通过RainLoop访问电子邮件,您需要在 Domains 标签。 默认情况下,添加了4个电子邮件域: gmail.comoutlook.comqq.comyahoo.com

rainloop webmail多个电子邮件域

这些电子邮件域的SMTP服务器设置和IMAP服务器设置由RainLoop配置,但默认情况下仅启用Gmail。 要启用其他3个电子邮件域,只需在复选框中打勾即可。

要访问您自己的电子邮件服务器,请单击 Add Domain 按钮,然后输入您自己的电子邮件服务器的IMAP和SMTP服务器设置。

  • IMAP:服务器 mail.example.com, 港口 143,安全 STARTTLS
  • SMTP:服务器 mail.example.com, 港口 587,安全 STARTTLS。 勾选使用身份验证。

rainloop imap和smtp设置

如果Rainloop和Postfix / Dovecot在同一服务器上运行,则可以使用以下配置,因此您的服务器不必在DNS中查找域并建立TLS连接。

  • IMAP:服务器 127.0.0.1, 港口 143,安全 没有
  • SMTP:服务器 127.0.0.1, 港口 25,安全 没有。 不要在端口25上使用身份验证。

同一台服务器上的rainloop postfix dovecot

您还需要通过选中右侧的复选框或错误来启用自己的电子邮件域 domain is not allowed 登录您的电子邮件地址时将出现。

完成配置后,在浏览器地址栏中输入RainLoop Webmail域名,不输入 /?admin 后缀。

mail.example.com

并登录到您的电子邮件帐户。

Rainloop Ubuntu

RainLoop网络邮件

rainloop网络邮件Ubuntu

如果身份验证失败,则可能需要在IMAP服务器设置页面中启用短登录。

您只需要做这些,即可访问Gmail,Outlook邮件或您自己的电子邮件域中的电子邮件。 如果添加多个电子邮件帐户,则可以从用户下拉菜单轻松地在它们之间切换。 确实很酷! 您还可以配置其他设置并自定义Webmail界面。

从电子邮件标题中删除敏感信息

默认情况下,Rainloop将添加一个 X-Mailer 电子邮件标题,指示您正在使用Rainloop Webmail和版本号。 您可以告诉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

如下更改值。 请注意,此值不应大于Postfix SMTP服务器设置的附件大小限制。

upload_max_filesize = 50M

然后找到以下行(694行)。

post_max_size = 8M

更改PHP将接受的POST数据的最大大小。

post_max_size = 50M

保存并关闭文件。 或者,您可以运行以下两个命令来更改值,而无需手动打开文件。

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自定义主题

我的自定义主题。

rainloop上传背景图片

包起来

我希望本教程可以帮助您在Ubuntu 20.04上安装RainLoop Webmail。 与往常一样,如果您发现此帖子有用,请订阅我们的免费新闻简报,以获取更多提示和技巧。 保重🙂

Sidebar