Hi,
I installed Roundcube 1.4.1 on a sandbox server running CentOS 7, Postfix and Dovecot.
Mail is setup correctly under the hood, e. g. I can access an account via Thunderbird for sending and receiving mail.
And SELinux is set to permissive until everything works correctly.
I took some detailed notes while fiddling with Roundcube:
* https://github.com/kikinovak/HOWTOs/blob/master/Roundcube-HOWTO.txt
All tests in the installer (including SMTP and IMAP login) are OK.
But still, when I login to an account, no emails are showing. The inbox shows up empty, even if it's not.
I took a peek in the various log files, but found nothing suspect. Or maybe I don't know what to look for.
Any suggestions?
PS: I already have Roundcube 1.4rc1 running on my main workhorse server, it runs nicely. I tried to figure out what I did differently on that machine, but couldn't figure it out so far.
QuoteI took a peek in the various log files, but found nothing suspect. Or maybe I don't know what to look for.
So there is nothing in the rc error log?
What about the browser's JS console?
I don't think this is a browser issue.
I can access a Roundcube 1.4rc1 installation on my main server perfectly.
BTW, I tried to give 1.4rc1 on my sandbox server a spin, but with the same result.
There's another thing. For the moment, I've created half a dozen test email accounts on the sandbox server. I can log in as any of these users, but here's what happens.
1. Inbox shows as empty (though it isn't, see my initial post).
2. I can't edit the identity. When I click on the identity, I get a spinning wheel, but the page is not charging.
Now I'm clueless.
QuoteI don't think this is a browser issue.
I don't understand. The issues you describe could be caused by a JS error. Roundcube uses JS for most of for funcationality in the UI, including loading the message list. Checking it only takes a few seconds and if nothing else it rules out that possible explanation.
You're right. So here goes.
Logged out from Roundcube, fired up JS console in my web browser (Firefox 68.2.0 ESR under OpenSUSE Leap 15.1), logged back in, clicked on apparently empty Inbox, tried to edit user identity, and here's the error messages the JS console spews out:
Load denied by X-Frame-Options: https://mail.slackbox.fr/skins/elastic/watermark.html does not permit framing.
SecurityError: Permission denied to get property "href" on cross-origin object app.min.js:126
show_contentframe https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:126
clear_message_list https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:132
list_mailbox https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:131
command https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:70
init https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:44
<anonyme> https://mail.slackbox.fr/?_task=mail&_token=n7JLfbpa0TlSLP3U18QrNkXShNv2Knnb:454
jQuery 2
SecurityError: Permission denied to get property "href" on cross-origin object app.min.js:126
show_contentframe https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:126
clear_message_list https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:132
list_mailbox https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:131
command https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:70
onclick https://mail.slackbox.fr/?_task=mail&_token=n7JLfbpa0TlSLP3U18QrNkXShNv2Knnb:1
Load denied by X-Frame-Options: https://mail.slackbox.fr/skins/elastic/watermark.html does not permit framing.
SecurityError: Permission denied to get property "href" on cross-origin object app.min.js:126
show_contentframe https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:126
clear_message_list https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:132
list_mailbox https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:131
command https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:70
init https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:44
<anonyme> https://mail.slackbox.fr/?_task=mail&_mbox=INBOX:454
jQuery 2
Load denied by X-Frame-Options: https://mail.slackbox.fr/skins/elastic/watermark.html does not permit framing.
Load denied by X-Frame-Options: https://mail.slackbox.fr/skins/elastic/watermark.html does not permit framing.
SecurityError: Permission denied to access property "frameElement" on cross-origin object app.min.js:128
lock_frame https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:128
location_href https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:329
load_identity https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:278
identity_select https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:278
init https://mail.slackbox.fr/program/js/app.min.js?s=1574194809:59
triggerEvent https://mail.slackbox.fr/program/js/common.min.js?s=1574194809:41
select_row https://mail.slackbox.fr/program/js/list.min.js?s=1574194809:62
drag_row https://mail.slackbox.fr/program/js/list.min.js?s=1574194809:50
init_row https://mail.slackbox.fr/program/js/list.min.js?s=1574194809:36
jQuery 2
Since I'm not familiar with JavaScript, I couldn't tell if this is somehow related to my issue.
In your httpd config check what you have X-Frame-Options set to. It should be SAMEORIGIN. Roundcube does try and set it in the PHP code but some httpd configs might not allow that.
I followed your advice. Here's what my server configuration looks like.
Global :
# /etc/httpd/conf.d/ssl.conf
Listen 443 https
SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog
SSLSessionCache shmcb:/run/httpd/sslcache(512000)
SSLSessionCacheTimeout 300
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
# Disable TLS 1.0 & TLS 1.1
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA
# Cipher preferences
SSLHonorCipherOrder on
# HSTS
Header always set Strict-Transport-Security \
"max-age=63072000; includeSubDomains"
# Clickjacking
Header always set X-Frame-Options "SAMEORIGIN"
# MIME sniffing
Header always set X-Content-Type-Options nosniff
Virtual host :
# /etc/httpd/conf.d/10-mail.slackbox.fr-ssl.conf
# http://mail.slackbox.fr -> https://mail.slackbox.fr
<VirtualHost *:80>
ServerName mail.slackbox.fr
Redirect / https://mail.slackbox.fr
</VirtualHost>
# https://mail.slackbox.fr
<VirtualHost _default_:443>
ServerAdmin [email protected]
DocumentRoot "/var/www/slackbox-mail/html"
<Directory "/var/www/slackbox-mail/html">
Options +FollowSymlinks
AllowOverride All
</Directory>
ServerName mail.slackbox.fr:443
ServerAlias slackbox.fr
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/sd-100246.dedibox.fr/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/sd-100246.dedibox.fr/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/sd-100246.dedibox.fr/fullchain.pem
BrowserMatch "MSIE [2-5]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
ErrorLog logs/mail.slackbox.fr-error_log
CustomLog logs/mail.slackbox.fr-access_log common
</VirtualHost>
I duly reloaded the Apache configuration, but mail still doesn't show up, and the JS console still displays the same error message.
Load denied by X-Frame-Options: https://mail.slackbox.fr/skins/elastic/watermark.html does not permit framing.
SecurityError: Permission denied to get property "href" on cross-origin object app.min.js:126
Any suggestions ?
Ha ! It works !
While the new server configuration was active, there were still some stale elements in Firefox' cache. After a purge, everything works perfectly. I tried all three available skins (elastic, larry and classic), and it works like a charm.
Cheers from the sunny South of France and thanks for your help.