安装和配置Roundcube Webmail

时间:2020-03-05 15:27:44  来源:igfitidea点击:

这是设置和配置邮件服务器系列的最后一部分,我们将介绍如何安装和配置Roundcube Webmail。

Roundcube是基于Web的IMAP电子邮件客户端,具有用PHP编写的非常直观和现代的用户界面。
要使用Roundcube,我们只需要一个Web浏览器。

RoundCube包括我们在电子邮件客户端中所需的所有功能,例如RTF/HTML邮件撰写,地址簿,对MIME/HTML电子邮件的支持,多个发件人身份,拼写检查,三列视图,拖放邮件管理等等。

准备工作

在继续本教程之前,请确保我们以具有sudo特权的用户身份登录。

PHP依赖

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

sudo apt updatesudo 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数据库,一个用户,并通过新创建的数据库向该用户授予特权:

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

在本系列的第一部分中,我们为PostfixAdmin实例创建了一个Nginx服务器块。

打开配置文件并添加以下位置指令,以黄色突出显示的位置指令:

/etc/nginx/sites-enabled/mail.theitroad.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.theitroad.com/roundcubemail/installer'。

我们将看到以下 Screen:

在“检查可用数据库”部分中,仅需要MySQL扩展。

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

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

完成配置步骤后,请继续下一步,并通过点击“初始化数据库”按钮导入Roundcube的MySQL数据库结构。

创建数据库结构后,删除“安装程序”目录以防止重新配置和/或者未经授权的访问。

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安装

打开网络浏览器,导航至:“ https://mail.theitroad.com/roundcubemail”,然后使用电子邮件帐户的用户名和密码登录。

启用Roundcube插件

Roundcube带有许多默认情况下处于禁用状态的插件。
在本教程中,我们将启用“密码”和“管理”插件。
该插件将允许用户在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”行中输入PostfixAdmin数据库凭据。