服务器升级后 Roundcube 出现问题(Debian 10,PHP7)

服务器升级后 Roundcube 出现问题(Debian 10,PHP7)

我已将 DigitalOcean droplet 从 Debian 8 升级到 Debian 10,并将 PHP 从 PHP5 升级到 PHP7.3。我还将 RoundCube 升级到 1.4.2。

一切似乎都运行良好。我没有看到有关此问题的明显日志条目,但我会尝试概述它:

  1. 我可以毫无问题地登录 Roundcube。
  2. 我可以在/homes/vmail/domain.tld/username/new/
  3. 收件箱中根本没有任何电子邮件。
  4. 经过一段时间(几秒到几分钟,目前无法确定时间点),下面的文件/homes/vmail/domain.tld/username/new/被移动到/homes/vmail/domain.tld/username/cur/
  5. 当我尝试从 RoundCube 发送电子邮件并发送到同一封电子邮件时([电子邮件保护]),我撰写了一封邮件,主题和正文都是假的,然后发送。RoundCube 显示“正在发送邮件...”,一段时间后邮件消失了,但撰写的邮件并没有切换到收件箱,只是停留在撰写模式。
  6. 中出现了一个新的电子邮件文件/homes/vmail/domain.tld/username/new/,但是 RoundCube 中的收件箱中没有出现新电子邮件。
  7. 当我单击刷新时Inbox,没有出现新的电子邮件,但文件移动/homes/vmail/domain.tld/username/new//homes/vmail/domain.tld/username/cur/(这解释了登录后所有文件都从收件箱移动)。
  8. mail.info有已发送电子邮件的记录(状态=已发送至 maildir)。
  9. 如果我导航到SettingsRoundcube,然后单击Junk(还有(首选项、文件夹、身份、回复和垃圾邮件),则会显示以下错误:
DATABASE ERROR: CONNECTION FAILED!
Unable to connect to the database!
Please contact your server-administrator.
  1. 尝试在“设置”中的“文件夹”下添加文件夹没有任何效果。(单击 + 号没有任何效果或结果)
  2. 单击“首选项”下的任何“部分”项都会导致“正在加载……”,但不执行任何操作。

到目前为止我尝试了什么?

  • 我以为升级后下面的文件权限被关闭了,但实际上那里有和的/opt/roundcube/权限混合 。所以我运行了,但这并没有修复上面概述的行为。Adminwww-datachown -R www-data:www-data /opt/roundcube/
  • doveconf 确实有输出mail_location = maildir:~/
  • postconf 输出有home_mailbox = Maildir/

这是一个 DigitalOcean droplet,Debian 10,具有多个虚拟用户和虚拟域。

知道升级/更新后可能出现什么问题吗?

更新 1 因此进行更新,我查看了 FireFox 控制台(按下F12打开)中的警告和错误,然后我看到:

SecurityError: Permission denied to get property "href" on cross-origin object

并在里面

>     https://example.com/webmail/program/js/app.min.js?s=1577908851:127
>     msglist_select https://example.com/webmail/program/js/app.min.js?s=1577908851:107
>     init https://example.com/webmail/program/js/app.min.js?s=1577908851:42
>     triggerEvent https://example.com/webmail/program/js/common.min.js?s=1577908851:41
>     http_response https://example.com/mail/program/js/app.min.js?s=1577908851:337
>     success https://example.com/webmail/program/js/app.min.js?s=1577908851:330

我记得在升级整个交易之前,我添加了一个自签名 SSL 证书,但由于 PHP 错误而出现问题,这就是引发整个 Debian 和 PHP 升级的原因。我查看了 URL,发现它是一个普通的http://,所以我将其更改为https://domain.tld/,现在我可以在 中看到所有电子邮件Inbox,刷新页面后,所有电子邮件都消失了,并移至目录cur,不再显示在收件箱中。此外,Settings即使使用https://

答案1

我运行grep -ri "X-Frame-Options" /etc/apache2后发现,我自己签名的 SSL 将其添加到了规则集中。

我编辑/etc/apache2/conf-available/ssl-params.conf并更改Header always set X-Frame-Options DENYHeader always set X-Frame-Options SAMEORIGIN。保存文件,然后重新启动 Apache ( service apache2 restart),现在它显示电子邮件和设置。

相关内容