myfreax

如何安装和配置Roundcube Webmail

Roundcube是一个基于Web的IMAP电子邮件客户端。 Roundcube最突出的特点是普遍使用Ajax技术,有一个非常直观和现代的用户界面。 经过大约两年的发展,Roundcube的第一个稳定版本于2008年初公布。这也是设置和配置邮件服务器系列的最后一部分,我们将介绍如何安装和配置Roundcube Webmail

5 min read
By myfreax
如何安装和配置Roundcube Webmail

Roundcube是一个基于Web的IMAP电子邮件客户端。 Roundcube最突出的特点是普遍使用Ajax技术,有一个非常直观和现代的用户界面。 经过大约两年的发展,Roundcube的第一个稳定版本于2008年初公布。这也是设置和配置邮件服务器系列的最后一部分,我们将介绍如何安装和配置Roundcube Webmail

RoundCube包含电子邮件客户端所需的所有功能,例如richtext / HTML消息编写,地址簿,MIME / HTML电子邮件支持,多个发件人身份,拼写检查,三列视图,拖放消息管理等

前提条件

在继续本教程之前,请确保以具有sudo权限用户身份登录

安装PHP

我们将首先更新包列表并安装所有必需的PHP依赖项:

sudo apt update && sudo apt install php-auth php-intl php-mail-mime php-mail-mimedecode php-mcrypt php-net-smtp php-net-socket php-pear php-xml php7.0-intl php7.0-mcrypt php7.0-xml php7.0-gd php7.0-gd php-imagick

安装完成后,运行以下sed命令将date.timezone值设置为UTC

sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.0/fpm/php.ini

重新启动PHP FPM服务以使更改生效:

sudo systemctl php7.0-fpm restart

创建MySQL数据库

Roundcube支持MySQL,PostgreSQL和SQLite数据库后端。

在本教程中,我们将使用MySQL作为我们的数据库服务器。登录MySQL shell:

mysql -u root -p

创建一个新的MySQL数据库,创建新的数据库并授予权限给指定用户roundcubemail:

CREATE DATABASE roundcubemail;GRANT ALL ON roundcubemail.* TO 'roundcubemail'@'localhost' IDENTIFIED BY 'P4ssvv0rD';FLUSH PRIVILEGES;

下载Roundcube

在撰写本文时,1.3.8是Roundcube的最新稳定版本。在继续下一步之前,您应该检查Roundcube下载页面以查看是否有更新的版本。

首先使用以下wget命令下载Roundcube归档文件:

https://github.com/roundcube/roundcubemail/releases/download/1.3.8/roundcubemail-1.3.8.tar.gz

下载完成后,提取存档并将Roundcube代码移动到/var/www/roundcubemail目录:

tar xzf roundcubemail-1.3.8.tar.gz.tar.gzsudo mv roundcubemail-1.3.8/ /var/www/roundcubemail

Nginx和PHP-FPM在www-data用户下运行,因此我们需要将/var/www/postfixadmin目录的所有权更改为该用户:

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

配置Nginx

在本系列的第一部分中,我们为Postfix Admin实例创建了一个Nginx虚拟服务器。打开配置文件并添加以下位置指令

/etc/nginx/sites-enabled/mail.myfreax.com.conf

...
location /roundcubemail {
   index index.php;
   try_files $uri $uri/ /roundcubemail/index.php;
}
location ~ ^/roundcubemail/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
   deny all;
}
location ~ ^/roundcubemail/(bin|SQL|config|temp|logs)/ {
   deny all;
}
...

重新加载Nginx服务以使更改生效:

sudo systemctl reload nginx

配置Roundcube

打开浏览器并导航到https://mail.myfreax.com/roundcubemail/installer

您将看到以下屏幕:

Checking available databases部分中,只需要MySQL扩展。

如果加载了所有必需的PHP扩展,我们可以继续下一步,配置我们的Roundcube安装:

这里最重要的部分是输入正确的MySQL数据库设置。

完成配置步骤后,继续执行下一步,然后单击Initialize database按钮导入Roundcube的MySQL数据库结构。

创建数据库结构后,删除该installer目录以防止重新配置和/或未经授权的访问

sudo rm -rf /var/www/roundcubemail/installer

启用Roundcube的自动缓存清理是可选的,但建议:

sudo crontab -u www-data -l | { cat; echo "18 11 * * * /var/www/roundcubemail/bin/cleandb.sh"; } | sudo crontab -u www-data -

验证您的Roundcube安装

打开Web浏览器,导航至:https://mail.myfreax.com/roundcubemail并使用您的电子邮件帐户的用户名和密码登录

启用Roundcube插件

Roundcube附带了许多默认禁用的插件。在本指南中,我们将启用passwordmanagesieve插件。此插件允许用户在Roundcube界面中创建筛选过滤器并更改其密码

/var/www/roundcubemail/config/config.inc.php

// Enable plugins
$config['plugins'] = array('managesieve','password');
// Configure managesieve plugin
$rcmail_config['managesieve_port'] = 4190;
// Configure password plugin
$config['password_driver'] = 'sql';
$config['password_db_dsn'] = 'mysql://postfixadmin:P4ssvv0rD@localhost/postfixadmin';
$config['password_query'] = 'UPDATE mailbox SET password=%c WHERE username=%u';

不要忘记password_db_dsn在行中输入Postfix Admin数据库凭据

本教程向您展示了如何在Ubuntu系统上安装和配置Roundcube Webmail,以及如何安装和启用Roundcube插件以添加其他功能,如筛选过滤器

这是配置邮件系列的最后一篇文章。如果您有任何问题,请随时发表评论。如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持