• 如何使用Apache/Nginx在Ubuntu20.04上安装RainLoop Webmail

    在之前的文章中,我们讨论了如何从头开始在Ubuntu上设置自己的邮件服务器。本教程将向您展示如何使用Apache或Nginx web服务器在Ubuntu20.04上安装RainLoop Webmail。RainLoop是一个用PHP编写的简单、现代、快速、开源的基于Web的电子邮件客户端。 RainLoop网络邮件功能 一个现代化的网络界面,允许你上传一个自定义主题。 又快又轻 支持SMTP和IMAP。 支持多个帐户,这意味着您可以从一个地方访问所有电子邮件地址。 支持双因素身份验证。 与Facebook、Twitter、谷歌和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 | php 完成后,将此目录移动到/var/www/。 cd .. sudo mv rainloop /var/www/ 现在将web服务器用户(www数据)设置为所有者。 sudo chown www-data:www-data /var/www/rainloop/ -R 步骤3:为RainLoop配置虚拟主机 我们可以使用Apache或Nginx web服务器。 阿帕奇 如果要使用Apache web server,请使用以下命令创建虚拟主机文件: 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 server,请使用以下命令创建虚拟主机文件: sudo nano /etc/nginx/conf.d/rainloop.conf 将以下文本放入文件中。替换邮件。实例使用你自己的域名。 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客户端。 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。实例com/directory。 现在如果你来http://mail.example.com,您将被重定向到https://mail.example.com. 第5步:配置RainLoop Webmail 通过以下URL登录RainLoop管理面板。 mail.example.com/?admin 默认用户名为admin,默认密码为12345。 登录后,建议同时更改用户名和密码,因为管理员很容易成为攻击目标。单击左侧窗格上的安全选项卡。首先更新密码,然后重新登录并更新用户名。 要通过RainLoop访问电子邮件,您需要在“域”选项卡中配置电子邮件服务器设置。默认情况下,会添加4个电子邮件域:gmail。com,outlook。com,qq。雅虎。通用域名格式。 这些电子邮件域的SMTP服务器设置和IMAP服务器设置由RainLoop配置,但默认情况下仅启用Gmail。要启用其他3个电子邮件域,只需勾选复选框即可。 要访问自己的电子邮件服务器,请单击“添加域”按钮,然后输入自己电子邮件服务器的IMAP和SMTP服务器设置。 IMAP:服务器邮件。实例通讯,143端口,安全启动。 SMTP:服务器邮件。实例通讯,587端口,安全启动。勾选“使用身份验证”。 如果Rainloop和Postfix/Dovecot在同一台服务器上运行,那么您可以使用以下配置,这样您的服务器就不必在DNS中查找域并建立TLS连接。 IMAP:服务器127.0.0.1,端口143,无安全保护。 SMTP:服务器127.0.0.1,端口25,安全无。不要在端口25上使用身份验证。 您还需要通过勾选右侧的复选框来启用自己的电子邮件域,否则在登录到您的电子邮件地址时会出现错误域“不允许”。 完成配置后,在浏览器地址栏中输入RainLoop webmail域名,不带/?管理员后缀。 mail.example.com 并登录你的电子邮件帐户。 RainLoop网络邮件 如果身份验证失败,则可能需要在IMAP服务器设置页面中启用短登录。 这就是你在Gmail、outlook mail或自己的电子邮件域上访问电子邮件所需要做的一切。如果添加多个电子邮件帐户,则可以从用户下拉菜单轻松地在它们之间切换。真的很酷!您还可以配置其他设置并自定义webmail界面。 从邮件头中删除敏感信息 默认情况下,Rainloop将添加一个X-Mailer电子邮件头,指示您正在使用Rainloop webmail和版本号。你可以告诉Postfix忽略它,这样收件人就看不到它了。运行以下命令创建头检查文件。 sudo nano /etc/postfix/smtp_header_checks 将以下行放入文件中。 /^X-Mailer.*RainLoop/ IGNORE 保存并关闭文件。然后编辑后缀主配置文件。 sudo nano /etc/postfix/main.cf 在文件末尾添加以下行。 smtp_header_checks = regexp:/etc/postfix/smtp_header_checks 保存并关闭文件。然后运行以下命令重建哈希表。 sudo postmap /etc/postfix/smtp_header_checks 重新加载后缀以使更改生效。 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)并更改附件大小限制。 把零钱存起来。您需要从网络邮件中注销,然后重新登录,更改才能生效。 将图像上载为自定义主题 用户可以通过单击左下角的cog图标并选择左栏上的主题选项卡来更改Rainloop主题。您还可以将图像上载为自定义主题。 我的自定义主题。 收尾 我希望本教程能帮助您在Ubuntu 20.04上安装RainLoop Webmail。和往常一样,如果你觉得这篇文章很有用,那么订阅我们的免费时事通讯以获得更多提示和窍门。当心?

    2022.03.24 浏览:329