在之前的文章中,我们讨论了如何从头开始在 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
.