使用Apache/Nginx在Ubuntu 20.04上安装Roundcube Webmail

  • 技术文档
  • 2022.03.23
  • 浏览:674

Roundcube是一个用PHP编写的免费开源、功能齐全的webmail客户端。webmail是浏览器中的邮件客户端,这意味着您可以从web浏览器访问电子邮件,而不是从Mozilla Thunderbird这样的桌面邮件客户端读取和发送电子邮件。本教程将向您展示如何使用Apache或Nginx web服务器在Ubuntu20.04上安装Roundcube webmail。

圆形立方体特征

Roundcube的功能包括:

  • 通讯录
  • 文件夹管理
  • 消息搜索
  • 消息过滤器
  • 拼写检查
  • MIME支持
  • PGP加密和签名
  • 用户可以在Roundcube中更改密码。

Roundcube 1.4版本

Roundcube 1.4经过两年的开发,于2019年11月10日发布。此版本的特点是:

  • 一种称为弹性皮肤的灵敏皮肤,具有全方位移动设备支持
  • 电子邮件重新发送(反弹)功能
  • 改进的MailDevelope集成
  • 支持Redis和Memcached缓存
  • 支持SMTPUTF8和GSSAPI
  • 再加上许多改进和错误修复

先决条件

为了学习本教程,假设

  • Postfix SMTP服务器和Dovecot IMAP服务器已安装在您的Ubuntu 20.04服务器上
  • 您已经在Ubuntu 20.04服务器上安装了LAMP堆栈或LEMP堆栈。

如果没有,请单击以上链接并按照说明完成先决条件。请注意,如果您以前使用iRedMail设置过电子邮件服务器,那么您的服务器满足所有要求,并且Roundcube已经安装在您的服务器上。

现在让我们继续安装Roundcube。

第一步:在Ubuntu 20.04上下载Roundcube Webmail

通过SSH登录Ubuntu服务器,然后运行以下命令从Roundcube Github存储库下载最新的1.4稳定版本。

wgethttps://github.com/roundcube/roundcubemail/releases/download/1.4.6/roundcubemail-1.4.6-complete.tar.gz

注意:您可以始终使用上述URL格式从命令行下载Roundcube。如果出现新版本,只需用新版本号替换1.4.6即可。您可以在Roundcube下载页面查看是否有新版本。

提取tarball,将新创建的文件夹移动到web根目录(/var/www/),同时将其重命名为roundcube。

tar xvf roundcubemail-1.4.6-complete。焦油gz sudo mv RoundCubeEmail-1.4.6/var/www/roundcube

第2步:安装依赖项

运行以下命令安装所需的PHP扩展。

sudo apt安装php-net-ldap2 php-net-ldap3 php-imagick php7。4-常见php7。4-gd php7。4-imap php7。4-json php7。4-卷曲php7。4-zip php7。4-XMLPHP7。4-Mb字符串php7。4-bz2 php7。4-intl php7。4-gmp

安装Composer,它是PHP的依赖项管理器。

sudo-apt-install-composer

切换到roundcube目录。

cd/var/www/roundcube

使用Composer安装Roundcube Webmail所需的所有依赖项(第三方库)。

composer安装--无开发人员

如果看到“无需安装或更新”消息,则所有依赖项都已安装。

roundcube-webmail-install-dependency-ubuntu-20.04

使web服务器用户(www数据)成为临时和日志目录的所有者,以便web服务器可以写入这两个目录。

sudo chown www data:www data temp/logs/-R

步骤3:为Roundcube创建MariaDB数据库和用户

以root用户身份登录MariaDB shell。

sudo mysql-u root

然后使用以下命令为Roundcube创建一个新数据库。本教程将其命名为roundcube,您可以对数据库使用任何您喜欢的名称。

创建数据库roundcube默认字符集utf8 COLLATE utf8_general_ci;

接下来,使用以下命令在localhost上创建一个新的数据库用户。同样,本教程将其命名为roundcubeuser,您可以使用任何您喜欢的名称。用首选密码替换密码。

创建用户roundcubeuser@localhost由“密码”标识;

然后将新数据库的所有权限授予新用户,以便稍后Roundcube webmail可以写入数据库。

授予roundcube上的所有权限。*到roundcubeuser@localhost;

刷新特权表以使更改生效。

同花顺特权;

退出MariaDB外壳:

出口

将初始表导入roundcube数据库。

sudo mysql roundcube</var/www/roundcube/SQL/mysql。最初的sql

步骤4:为Roundcube创建Apache虚拟主机或Nginx配置文件

阿帕奇

如果使用Apache web服务器,请为Roundcube创建一个虚拟主机。

sudo nano/etc/apache2/网站可用/roundcube。形态

注意:如果您遵循了我的Postfix/Dovecot教程,那么虚拟主机已经存在。您应该编辑以下文件。(删除现有内容。)

sudo nano/etc/apache2/sites available/mail。实例通用域名格式。形态

将以下文本放入文件中。替换邮件。实例com与你的真实域名,别忘了为它设置DNS记录。

<;虚拟主机*:80>;服务器名邮件。实例com DocumentRoot/var/www/roundcube/ErrorLog${APACHE_LOG_DIR}/roundcube_error。log CustomLog${APACHE_log_DIR}/roundcube_访问。日志合并<;目录/>;选项如下SymLinks AllowOverride All</目录>&书信电报;目录/var/www/roundcube/>;选项如下SymLinks Multiview allow Override All Order allow,deny allow from All</目录></VirtualHost>;

保存并关闭文件。然后通过以下方式启用此虚拟主机:

sudo a2ensite圆形立方体。形态

重新加载Apache以使更改生效。

sudo systemctl重新加载apache2

现在,您应该可以在以下位置看到基于web的Roundcube安装向导:http://mail.example.com/installer.

Nginx

如果使用Nginx web服务器,请为Roundcube创建虚拟主机。

sudo nano/etc/nginx/conf.d/roundcube。形态

注意:如果您遵循了我的Postfix/Dovecot教程,那么虚拟主机已经存在。您应该编辑以下文件。(删除现有内容。)

sudo nano/etc/nginx/conf.d/mail。实例通用域名格式。形态

将以下文本放入文件中。替换域名,不要忘记为其设置DNS记录。

服务器{listen 80;listen[:]:80;server_name mail.example.com;root/var/www/roundcube/;index index.php index.html index.htm;error_log/var/log/nginx/roundcube.error;access_log/var/log/nginx/roundcube.access;location/{try_files$uri$uri//index.php;}地点~/。php${try_files$uri=404;fastcgi_pass unix:/run/php/php7.4-fpm.sock;fastcgi_index index.php;fastcgi_脚本_文件名$document_root$fastcgi_脚本_name;包含fastcgi_参数;}地点~/。著名的/acme挑战{allow all;}位置~^/(自述文件|安装|许可证|更改日志|升级)${deny all;}位置~^/(bin | SQL)/{deny all;}较长的浏览器缓存寿命可以加快对页面位置的重复访问~*/。(jpg | jpeg | gif | png | webp | svg | woff | woff2 | ttf | css | js | ico | xml)${accesslog off lognot found off;expires 360d;}

保存并关闭文件。然后测试Nginx配置。

sudo nginx-t

如果测试成功,请重新加载Nginx以使更改生效。

sudo systemctl重新加载nginx

现在,您应该可以在以下位置看到基于web的Roundcube安装向导:http://mail.example.com/installer.

第5步:启用HTTPS

强烈建议您使用TLS加密您的网络邮件。我们可以通过安装Let's Encrypt颁发的免费TLS证书来启用HTTPS。运行以下命令在Ubuntu20.04服务器上安装Let's Encrypt client(certbot)。

sudo apt安装certbot

如果您使用Nginx,那么您还需要安装Certbot Nginx插件。

sudo apt安装python3 certbot nginx

接下来,运行以下命令获取并安装TLS证书。

sudo certbot--nginx--agree tos--redirect--hsts--stype ocsp--email-d mail。实例通用域名格式

如果使用Apache,请安装Certbot Apache插件。

sudo apt安装python3 certbot apache

并运行此命令以获取并安装TLS证书。

sudo certbot--apache--agree tos--redirect--hsts--StapleOCSP--email-d mail。实例通用域名格式

哪里

  • --nginx:使用nginx插件。
  • --apache:使用apache插件。
  • --同意:同意服务条款。
  • --重定向:通过301重定向强制HTTPS。
  • --hsts:为每个HTTP响应添加严格的传输安全头。强制浏览器始终对域使用TLS。防止SSL/TLS剥离。
  • --装订ocsp:启用ocsp装订。有效的OCSP响应被绑定到服务器在TLS期间提供的证书上。

现在应获得证书并自动安装。

roundcube webmail https letsencrypt

注意:如果您遵循了我的Postfix/Dovecot教程,现在在同一台服务器上安装了Roundcube,那么certbot可能会告诉您邮件的证书。实例com已经存在,如下所示,因此您可以选择将现有TLS证书安装到web服务器配置文件中。

roundcube postfix dovecot certbot https certificate

步骤6:添加本地DNS条目

建议在邮件服务器上编辑/etc/hosts文件并添加以下条目,这样Roundcube就不必查询公共DNS,这将稍微加快网页加载速度。

127.0.0.1本地主机邮件。实例通用域名格式

第7步:在Web浏览器中完成安装

在web浏览器中,转到Roundcube安装程序页面。


web安装程序将首先检查是否安装了PHP扩展、数据库和第三方库。如果你遵循本教程,那么所有的要求都应该得到满足。

roundcube-ubuntu-20.04

点击下一步按钮。在第2页中,转到数据库设置部分。您需要填写在步骤3中创建的MariaDB数据库详细信息。

roundcube mariadb user

IMAP和SMTP部分允许您配置如何接收和提交电子邮件。为IMAP输入以下值。

  • IMAP主机:ssl://mail.example.com港口:993

为SMTP设置输入以下值。

  • SMTP端口:tls://mail.example.com港口:587。请注意,必须使用tls://作为端口587的前缀。端口465应使用ssl://前缀。

roundcube smtp settings

接下来,您可以向下滚动到Plugins部分来启用一些插件。例如,密码插件、标记为垃圾插件等等。我启用了所有这些。(在/var/www/roundcube/config/config.inc.php文件中安装后,您始终可以禁用插件。)

roundcube enable plugins

完成后,单击创建配置按钮,该按钮将根据您输入的信息创建配置。您需要复制配置并将其另存为config。inc.php位于/var/www/roundcube/config/目录下。

roundcube webmail installer

一旦打开配置。创建inc.php文件后,单击“继续”按钮。在最后一步中,通过发送测试电子邮件并检查IMAP登录来测试SMTP和IMAP设置。请注意,在测试SMTP配置时,需要在发件人字段中输入完整的电子邮件地址。

roundcube webmail test smtp & imap config

如果测试失败,则可以单击2。在页面顶部创建配置链接,返回步骤2并重新创建配置。inc.php文件。

如果测试成功,请在不使用/installer的情况下转到您的Webmail域并登录。

roundcube webmail elastic skin

Roundcube网络邮件接口

roundcube ubuntu server apache nginx

现在,您应该从文档根目录中删除整个安装程序文件夹,或者确保在配置中启用_安装程序选项。inc.php文件已禁用。

sudo rm/var/www/roundcube/installer/-r

这些文件可能会向公众公开服务器密码和加密密钥等敏感配置数据。确保无法从浏览器访问安装程序页面。

步骤8:配置筛选消息过滤器

您可以在Roundcube webmail中创建文件夹,然后创建规则将电子邮件过滤到不同的文件夹中。为此,需要使用以下命令安装ManageSieve服务器。

sudo apt安装多佛科特筛网多佛科特筛网

默认情况下,Postfix使用其内置的本地传递代理(LDA)将入站电子邮件移动到消息存储(收件箱、已发送邮件、垃圾、垃圾邮件等)。我们可以将其配置为使用Dovecot通过LMTP协议发送电子邮件,LMTP协议是SMTP的简化版本。LMTP允许一个高度可扩展和可靠的邮件系统,如果你想使用sieve插件过滤到不同文件夹的入站邮件,它是必需的。

安装Dovecot LMTP服务器。

sudo apt安装dovecot lmtpd

编辑Dovecot主配置文件。

sudo nano/etc/dovecot/dovecot。形态

将lmtp和SIVE添加到支持的协议中。

协议=imap lmtp筛

保存并关闭文件。然后编辑Dovecot 10母版。conf文件。

sudo nano/etc/dovecot/conf.d/10-master。形态

将lmtp服务定义更改为以下内容。

服务lmtp{unix_listener/var/spool/postfix/private/dovecot lmtp{group=postfix mode=0600 user=postfix}

接下来,编辑后缀主配置文件。

sudo nano/etc/postfix/main。查阅

在文件末尾添加以下行。第一行告诉Postfix通过dovecot LMTP服务器将电子邮件发送到本地消息存储。第二行在后缀中禁用SMTPUTF8,因为Dovecot LMTP不支持此电子邮件扩展。

邮箱_transport=lmtp:unix:private/dovecot lmtp smtputf8_enable=no

保存并关闭文件。打开/etc/dovecot/conf.d/15-lda。conf文件。

sudo nano/etc/dovecot/conf.d/15-lda。形态

滚动到文件末尾,取消对mail_plugins行的注释,并将sieve插件添加到本地交付代理(LDA)。

协议lda{#要加载的插件的空格分隔列表(默认为全局邮件插件)。邮件插件=$mail_插件筛}

保存并关闭文件。如果你能找到20个lmtp。conf文件位于/etc/dovecot/conf.d/目录下,那么您还应该在该文件中启用sieve插件,如下所示。

协议lmtp{mail_plugins=quota sieve}

编辑/etc/dovecot/conf.d/10-mail。conf文件。

sudo nano/etc/dovecot/conf.d/10-mail。形态

筛选脚本存储在每个用户的主目录下。如果您遵循我的PostfixAdmin教程并使用虚拟邮箱域,那么您需要通过在文件中添加以下行来为虚拟用户启用mail_home,因为默认情况下虚拟用户没有主目录。

mail_home=/var/vmail/%d/%n

保存并关闭文件。

最后,重新启动Postfix和Dovecot。

sudo systemctl重启后缀dovecot

现在,您可以转到Roundcube webmail,打开一封电子邮件,单击“更多”按钮,然后选择“创建过滤器”以创建邮件过滤器。例如,我创建了一个过滤器,可以移动从redhat发送的所有电子邮件。com转到Red Hat文件夹。

roundcube sieve filter

如果您没有创建过滤器选项,可能是因为您没有启用ManageSeeve插件。编辑配置。inc.php文件。

sudo nano/var/www/roundcube/config/config。php公司

在该文件末尾的数组中添加managesieve插件。插件顺序无关紧要。

$config['plugins']=array('acl','additional_message_headers','managesieve',…);

保存并关闭文件。

请注意,如果将筛选过滤器集从旧邮件服务器移动到新邮件服务器,则需要转到设置->;筛选,然后单击操作并启用筛选集,否则Dovecot LMTP服务器将不执行筛选筛选。

第9步:从电子邮件标题中删除敏感信息

默认情况下,Roundcube将添加一个用户代理电子邮件头,指示您正在使用Roundcube webmail和版本号。你可以告诉Postfix忽略它,这样收件人就看不到它了。运行以下命令创建头检查文件。

sudo nano/etc/postfix/smtp_头_检查

将以下行放入文件中。

/^用户代理*Roundcube网络邮件/忽略

保存并关闭文件。然后编辑后缀主配置文件。

sudo nano/etc/postfix/main。查阅

在文件末尾添加以下行。

smtp_header_checks=regexp:/etc/postfix/smtp_header_checks

保存并关闭文件。然后运行以下命令重建哈希表。

sudo postmap/etc/postfix/smtp头检查

重新加载后缀以使更改生效。

sudo systemctl重新加载后缀

现在,Postfix在发送邮件时不会在邮件头中包含User Agent:Roundcube Webmail。

第10步:在Roundcube中配置密码插件

Roundcube包含一个密码插件,允许用户从webmail界面更改密码。编辑配置。inc.php文件。

sudo nano/var/www/roundcube/config/config。php公司

确保此文件末尾的插件列表中有密码插件。插件顺序无关紧要。

$config['plugins']=array('acl','additional_message_headers','password',…);

保存并关闭文件。

然而,我们需要先配置这个插件,然后它才能工作。运行以下命令将分布式密码插件配置文件复制到新文件。

sudo cp/var/www/roundcube/plugins/password/config。inc.php。dist/var/www/roundcube/plugins/password/config。php公司

编辑密码插件配置文件。

sudo nano/var/www/roundcube/plugins/password/config。php公司

找到以下行:

$config['password_db_dsn']='';

此参数用于告诉密码插件用户密码的存储位置。默认情况下,该值为空,它将查询不存储用户密码的roundcube数据库。如果您遵循了我的PostfixAdmin教程,那么用户密码将存储在PostfixAdmin中。邮箱表,因此我们需要将值更改为:

$config['password_db_dsn']='mysql://postfixadmin:postfixadmin_database_password@127.0.0.1/postfixadmin';

通知密码插件连接到postfixadmin数据库。如果您不记得postfixadmin数据库密码,可以在/etc/dovecot/dovecot sql中找到它。conf.ext文件。如果您的PostfixAdmin密码包含一个引号字符,那么您可以使用反斜杠(/')对其进行转义。

然后找到下面一行。

$config['password_query']=“选择更新密码(%c,%u)”;

将其更改为以下内容。

$config['password_query']='UPDATE mailbox SET password=%D,modified=NOW(),其中username=%u';

我建议启用密码强度检查器,以防止用户设置弱密码。转到该文件的开头,可以找到以下行。

$config['passwordu strengthu driver']=null;

我们可以使用ZXCVN密码强度驱动程序,因此将其更改为:

$config['password_strength_driver']=“zxcvn”;

在此文件中添加以下行以仅允许强密码。

$config['password_zxcvn_min_score']=5;

注意:$config['password_minimum_score']参数不适用于zxcvn驱动程序,所以请不要管它。

您还可以设置密码的最小长度。找到下面这行。

$config['password_minimum_length']=0;

将其更改为:

$config['password_minimum_length']=8;

回想一下,我们在PostfixAdmin教程中使用了ARGON2I密码方案,因此我们还需要配置密码插件以使用ARGON2I。在文件中找到以下行。

$config['password_algorithm']='clear';

默认情况下,密码将以明文形式存储,将值更改为以下值以使用Dovecot的内置密码算法。

$config['password_algorithm']='dovecot';

然后找到下面一行,它告诉Dovecot的密码散列生成器位于何处。

$config['password_dovecotpw']='/usr/local/sbin/dovecotpw';//多佛科特一号。十、

将其更改为以下内容。

$config['password_dovecotpw']='/usr/bin/doveadm pw-r 5';

然后找到下面一行,它告诉我们将使用哪个密码方案。

$config['password_dovecotpw_method']='CRAM-MD5';

将其更改为:

$config['password_dovecotpw_method']='ARGON2I';

找到下面这行。

$config['password_dovecotpw_with_method']=false;

变假为真。这将在散列密码中添加一个{ARGON2I}前缀,以便您识别所使用的密码方案。

$config['password_dovecotpw_with_method']=true;

保存并关闭文件。由于该文件包含数据库密码,我们应该只允许www数据用户读取和写入该文件。

sudo chown www-data:www-data/var/www/roundcube/plugins/password/config。inc.php sudo chmod 600/var/www/roundcube/plugins/password/config。php公司

现在,用户应该能够在Roundcube webmail界面中更改密码。

roundcube webmail change password

如何设置假期/外出消息

我们可以使用筛选过滤器创建休假/外出消息。转到Roundcube设置->;过滤器。然后单击“创建”按钮创建过滤器。

  • 给这个文件管理器起一个类似“外出”的名字。
  • 新过滤器未被禁用,因此您可以不使用该按钮。
  • 在范围字段中,选择所有消息。
  • 在操作设置中选择Replay with message,然后输入将自动发送的消息。
  • 在发送消息的频率中输入1。将其他文本字段留空。
  • 点击保存按钮,你就完成了。

roundcube vacation out of office message

回到办公室后,可以切换“过滤器禁用”按钮,然后单击“保存”按钮禁用此过滤器。

增加上传文件大小限制

如果使用PHP-FPM运行PHP脚本,则上传到Roundcube的图像、PDF文件等文件不能大于2MB。要增加上传大小限制,请编辑PHP配置文件。

sudo nano/etc/php/7.4/fpm/php。伊尼

找到下面一行(第846行)。

上传最大文件大小=2M

如下所示更改值。请注意,此值不应大于Postfix SMTP服务器设置的附件大小限制。

上传最大文件大小=50M

然后找到下一行(第694行)。

立柱最大尺寸=8M

更改PHP将接受的POST数据的最大大小。

立柱最大尺寸=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。伊尼

然后重启PHP-FPM。

sudo systemctl重启php7。4-fpm

Nginx还设置了上传文件大小的限制。Nginx设置的默认最大上传文件大小限制为1MB。如果使用Nginx,请编辑Nginx配置文件。

sudo nano/etc/nginx/conf.d/mail。实例通用域名格式。形态

在SSL虚拟主机中添加以下行。

客户最大身体尺寸50米;

保存并关闭文件。然后重新加载Nginx以使更改生效。

sudo systemctl重新加载nginx

Roundcube中有3个用于附件/文件上传的插件:

  • 数据库附件
  • 文件系统附件
  • 冗余附件

Roundcube只能使用一个插件来上传附件/文件。我发现数据库附件插件很容易出错,给你带来麻烦。要禁用它,请编辑Roundcube配置文件。

sudo nano/var/www/roundcube/config/config。php公司

向下滚动到此文件的末尾。您将看到一个活动插件列表。从列表中删除“数据库附件”。保存并关闭文件。

设置多个邮件域

要承载多个邮件域,请阅读以下文章:

  • 如何在Ubuntu上的PostfixAdmin中托管多个邮件域

故障排除提示

如果遇到错误,可以在/var/log/apache2/roundcube_error上查看web服务器错误日志。log(如果您使用的是Apache),或/var/log/nginx/roundcube。错误(如果您使用的是Nginx。),Roundcube错误也会记录在/var/www/Roundcube/logs/目录中。

存储服务器的连接失败

如果您在尝试登录RoundCube时看到“连接到存储服务器失败”错误,可能是因为

  • Dovecot服务器未运行。您可以使用sudo systemctl restart Dovecot重新启动Dovecot,并使用systemctl status Dovecot检查其状态。
  • 您正在使用自签名的TLS证书。Roundcube需要由受信任的证书颁发机构(如Let's Encrypt)颁发的有效TLS证书。
  • 你的TLS证书过期了。您可以使用sudo certbot renew续订Let's Encrypt TLS证书,然后重新启动Postfix和Dovecot(sudo systemctl restart Postfix Dovecot)。

您还可以尝试在Roundcube服务器上的/etc/hosts文件中添加自定义DNS条目,如步骤8所述,以便Roundcube可以正确解析邮件服务器主机名。

无法从服务器加载邮件

如果您看到“内部错误:无法从服务器加载邮件”错误,可能是因为您试图打开已删除的电子邮件(无效URL)。尝试转到邮件根域(mail.example.com)查看它是否有效。

筛选消息筛选器不工作?

如果按照步骤8按字母顺序设置筛选过滤器,但仍然无法使其工作,那么可以在Dovecot中启用调试以找出问题所在。

sudo nano/etc/dovecot/dovecot。形态

在该文件末尾添加以下行以启用Dovecot中的调试。

mail_debug=是

保存并关闭文件。然后重启多佛科特。

sudo systemctl重启dovecot

接下来,向您的域电子邮件地址发送一封测试电子邮件,并打开邮件日志文件。

sudo nano/var/log/mail。日志

您可以找到Sieve消息过滤器的调试信息。例如,我发现Dovecot无法运行我的筛选脚本。

1月10日11:35:24邮件dovecot:lmtp()调试:筛选:中止运行脚本`/var/vmail/linuxbabe。com/xiao/。多佛科特。斯文

事实证明,我的筛滤器有太多规则,其中一些规则相互冲突。我删除了那些相互冲突的规则,它又起作用了。

如何升级Roundcube

这很简单。例如,下面介绍如何升级到Roundcube 1.5.0。

将Roundcube的最新版本下载到您的主目录。

cd~wgethttps://github.com/roundcube/roundcubemail/releases/download/1.5.0/roundcubemail-1.5.0-complete.tar.gz

提取档案。

tar xvf roundcubemail-1.5.0-complete。焦油广州

将所有者更改为www数据。

chown www-data:www-data-roundcubemail-1.5.0/-R

然后运行安装脚本。

RoundCubeEmail-1.5.0/bin/installto。sh/var/www/roundcube/

完成后,登录Roundcube webmail并单击“关于”按钮检查您使用的Rouncube版本。

收尾

我希望本教程能帮助您在Ubuntu 20.04上安装Roundcube Webmail。和往常一样,如果你觉得这篇文章有用,订阅我们的免费时事通讯,获取更多提示和窍门?