跳转到内容
登录关注  
洛汐

比Roundcube更好用的Webmail:RainLoop

已推荐帖子

前段时间水了几篇关于邮件服务器搭建的文章,后来有人问我关于Roundcube这个Webmail的具体配置。。

我其实更喜欢用RainLoop,因为无论是安装/更新/日常使用都是RainLoop更舒服。这两个Webmail用久了你就可以体会的到。。

当时我用Roundcube只是想体验一下新出的那个UI界面。。好吧,这篇文章详细说一下RainLoop的相关安装配置。

首先你需要按照这篇文章配置好Postfix/Dovecot:

Debian10使用Postfix+Dovecot+Roundcube搭建邮件服务器

注:

1.如果你选择使用RainLoop,后续和Rspamd的集成配置会有一些出入,不要照搬这篇基于Roundcube的配置:

Rspamd与Postfix以及Dovecot的集成配置

2.RainLoop如果不需要用到“联系人”这个功能,可以不安装数据库。下面还是安装了Mariadb以及SQLite,这篇文章还是使用Mariadb,如果想使用SQLite可以跳过数据库这块的配置。

首先安装Nginx/Certbot/Mariadb/PHP:

apt -y update
apt -y install wget curl
apt -y install nginx python-certbot-nginx mariadb-server
apt -y install php7.3-common php7.3-fpm php7.3-imap php7.3-mysql php7.3-sqlite php7.3-mbstring php7.3-xml php7.3-intl php7.3-zip php7.3-gd php7.3-ldap php7.3-curl

修改PHP-FPM的上传限制:

sed -i "s/post_max_size = 8M/post_max_size = 10240M/g" /etc/php/7.3/fpm/php.ini
sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 10240M/g" /etc/php/7.3/fpm/php.ini

重载PHP-FPM/设置Nginx/Mariadb/PHP-FPM开机自启:

systemctl reload php7.3-fpm
systemctl enable nginx mariadb php7.3-fpm

初始化数据库/登录到数据库内:

mysql_secure_installation
mysql -u root -p

创建数据库/创建用户/授权:

CREATE DATABASE rainloop CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON rainloop.* TO rainloop@127.0.0.1 IDENTIFIED BY '设置你的数据库用户密码';
FLUSH PRIVILEGES;
quit

下载解压RainLoop的安装包,RainLoop分为社区版和普通版,这里选择安装普通版,因为普通版可以在后台一键更新,更易于维护:

mkdir -p /var/www/rainloop && cd /var/www/rainloop
wget http://www.rainloop.net/repository/webmail/rainloop-latest.zip
unzip rainloop-latest.zip
rm -rf rainloop-latest.zip

给予正确的权限:

chmod -R 755 /var/www/rainloop
chown -R www-data:www-data /var/www/rainloop

新建一个Nginx站点配置文件:

nano /etc/nginx/conf.d/rainloop.conf

写入如下配置:

server {
    server_name  mail.233.fi; # 换成你的域名
    index        index.html index.php;
    root         /var/www/rainloop;
    client_max_body_size 128G;

    error_log /var/log/nginx/rainloop.error.log;
    access_log /var/log/nginx/rainloop.access.log;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ^~ /data {
        deny all;
    }

    location ~ \.php$ {
        fastcgi_pass   unix:/run/php/php7.3-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

测试Nginx配置:

nginx -t

没问题的话使用certbot签发SSL证书:

certbot --nginx --agree-tos --no-eff-email --email xxxxx@qq.com

打开你的域名访问到后台管理界面:

mail.233.fi/?admin

默认的管理员账号:admin,密码:12345

登录进去之后可以选择使用中文,以及修改上传附件大小:

lala.im_2020-04-30_11-55-25.png

然后你需要立即修改管理员的密码:

lala.im_2020-04-30_11-56-05.png

在之前我们配置了MySQL数据库,所以可以启用联系人功能,并选择使用MySQL存储数据(如果你只是个人使用,这里更推荐SQLite:)

lala.im_2020-04-30_11-58-04.png

现在就可以来添加我们的SMTP/IMAP服务器了,点击域名-添加域名:

lala.im_2020-04-30_11-59-21.png

按照下图来配置(一定要勾选使用短用户名登录,否则无法登录成功:)

lala.im_2020-04-30_12-00-07.png

现在访问你的RainLoop前台登录邮箱,邮箱是你的用户名@domain,例如下图所示的格式:

lala.im_2020-04-30_12-04-47.png

有人可能会疑惑,刚才不是在RainLoop后台配置了“使用短用户名登录”登录的时候应该不需要@domain了呀。

注意在RainLoop后台配置的“使用短用户名登录”是指RainLoop向Dovecot请求的时候使用短用户名而不是我们向RainLoop的请求使用短用户名。

如果要在RainLoop登录的时候不加@domain就能登录成功,那么还需要在RainLoop的后台进行如下配置:

lala.im_2020-04-30_12-09-30.png

最后测试一下收发:

lala.im_2020-04-30_12-16-33.png

收也没问题:

lala.im_2020-04-30_12-22-05.png

查看完整帖子

分享这篇帖子


链接帖子

参与讨论

你现在可以发表并稍后注册。 如果你有帐户,现在就登录参与讨论。

游客
回复主题...

×   粘贴为富文本.   粘贴为纯文本来代替

  只允许使用75个表情符号.

×   你的链接已自动嵌入.   显示为链接来代替

×   你之前的内容已恢复.   清除编辑器

×   你无法直接粘贴图片。要从网址上传或插入图片。

登录关注  

×
×
  • 创建新的...