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

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

RainLoop 网络邮件功能

  • 现代网络界面,允许您上传自定义主题。
  • 快速轻便
  • 支持 SMTP 和 IMAP。
  • 支持多个帐户,这意味着您可以从一个地方访问所有电子邮件地址。
  • 支持两因素身份验证。
  • 与 Facebook、Twitter、Google 和 Dropbox 集成。
  • 直接访问邮件服务器,不需要数据库。
  • 易于安装和升级(一键升级 admin 控制板)

. 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 https://repository.rainloop.net/installer.php | php

完成后,将此目录移动到 /var/www/.

cd ..  sudo mv rainloop /var/www/

现在设置网络服务器用户(www-data) 作为所有者。

sudo chown www-data:www-data /var/www/rainloop/ -R

步骤 3:为 RainLoop 配置虚拟主机

我们可以使用 Apache 或 Nginx 网络服务器。

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>

Save 和 close 文件。 然后启用这个虚拟主机。

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;    } }

Save 和 close 文件。 然后测试 Nginx 配置。

sudo nginx -t

如果测试成功,请重新加载 Nginx 配置。

sudo systemctl reload nginx

第 4 步:安装 TLS/SSL 证书

如果您想在 webmail 中添加 HTTPS,那么您可以从 Let’s Encrypt CA 获取免费的 TLS/SSL 证书。 首先让我们安装 certbot 客户。

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/ 目录。

现在如果你访问 https://mail.example.com,您将被重定向到 https://mail.example.com.

第五步:配置RainLoop Webmail

登录RainLoop admin 面板通过以下 URL。

mail.example.com/?admin

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