Roundcube Installation issues

My YunoHost server

Hardware: Old laptop or computer
YunoHost version: 11.2.12 (stable)
I have access to my server : Through SSH | through the webadmin
Are you in a special context or did you perform some particular tweaking on your YunoHost instance ? : no

Description of my issue

fresh roundcube installation has some sort of theme issue


  • no error logs under /var/www/roundcube/logs
  • ynh admin info points to a conf dir. i only see config
  • admin info points to local.inc.php which i can not find
    find /var/www/roundcube/ -name local.inc.php
  • are the file permissions correct? (i did not touch anything…fresh install)
  • i had at one point a working roundcube installation. removed it because composer was complaining bout old dependencies. reinstalled which lead to the screenshot above.
  • 2,3 attempt at installing (now with installer default url: webmail did not tick install carddav) looked around for RC leftovers before fresh install… no db entry, cleaned some RC relate tmp/cache file, old config backups erased

drwxrwx---  2 roundcube www-data    4096 May 19 10:20 bin
-rw-rw----  1 roundcube www-data  213791 May 19 10:20 CHANGELOG.md
-rw-rw----  1 root      root        1213 May 30 08:56 composer.json
-rw-rw----  1 roundcube www-data    1086 May 19 10:20 composer.json-dist
-rw-rw-rw-  1 root      root      123446 May 30 08:56 composer.lock
-rwxr-xr-x  1 root      root     2834111 May 30 08:56 composer.phar
drwxrwx---  2 roundcube www-data    4096 May 30 08:56 config
-rw-rw----  1 roundcube www-data   11201 May 19 10:20 index.php
-rw-rw----  1 roundcube www-data   12661 May 19 10:20 INSTALL
drwxrwx---  3 roundcube www-data    4096 May 19 10:20 installer
-rw-rw----  1 roundcube www-data    3973 May 19 10:20 jsdeps.json
-rw-rw----  1 roundcube www-data   35147 May 19 10:20 LICENSE
drwxrwx---  2 roundcube www-data    4096 May 19 10:20 logs
-rw-rw----  1 roundcube www-data    4526 May 19 10:20 Makefile
drwxrwx--- 39 roundcube www-data    4096 May 30 08:56 plugins
drwxrwx---  8 roundcube www-data    4096 May 19 10:20 program
drwxrwx---  3 roundcube www-data    4096 May 19 10:20 public_html
-rw-rw----  1 roundcube www-data    3853 May 19 10:20 README.md
-rw-rw----  1 roundcube www-data     967 May 19 10:20 SECURITY.md
drwxrwx---  3 roundcube www-data    4096 May 19 10:20 skins
drwxrwx---  7 roundcube www-data    4096 May 19 10:20 SQL
drwxrwx---  3 roundcube www-data    4096 May 30 08:56 temp
drwxrwx---  7 roundcube www-data    4096 May 19 10:20 tests
-rw-rw----  1 roundcube www-data    4657 May 19 10:20 UPGRADING
drwxrwxrwx 21 root      root        4096 May 30 08:56 vendor

ls -l config/
-r-------- 1 roundcube roundcube  7151 May 30 08:56 config.inc.php
-rw-rw---- 1 roundcube www-data   2943 May 19 10:20 config.inc.php.sample
-rw-rw---- 1 roundcube www-data  64580 May 19 10:20 defaults.inc.php
-rw-rw---- 1 roundcube www-data   2806 May 19 10:20 mimetypes.php

logs →

cat /var/www/roundcube/logs/carddav.log 
[27-May-2024 08:55:02 +0200]: <bfcd71uk> [5 ERR] Database::get (SELECT * FROM carddav_accounts WHERE ((`user_id` = '1'))) ERROR: [1146] Table 'roundcube.carddav_accounts' doesn't exist 
[27-May-2024 08:55:02 +0200]: <bfcd71uk> [5 ERR] Could not init rcmcarddav: [1146] Table 'roundcube.carddav_accounts' doesn't exist 
[27-May-2024 08:55:23 +0200]: <bfcd71uk> [5 ERR] Database::get (SELECT * FROM carddav_accounts WHERE ((`user_id` = '1'))) ERROR: [1146] Table 'roundcube.carddav_accounts' doesn't exist 
[27-May-2024 08:55:23 +0200]: <bfcd71uk> [5 ERR] Could not init rcmcarddav: [1146] Table 'roundcube.carddav_accounts' doesn't exist 
[27-May-2024 08:55:27 +0200]: <bfcd71uk> [5 ERR] Database::get (SELECT * FROM carddav_accounts WHERE ((`user_id` = '1'))) ERROR: [1146] Table 'roundcube.carddav_accounts' doesn't exist 
[27-May-2024 08:55:27 +0200]: <bfcd71uk> [5 ERR] Could not init rcmcarddav: [1146] Table 'roundcube.carddav_accounts' doesn't exist 
root@tank:/home/phil# cat /var/www/roundcube/logs/errors.log 
[25-May-2024 21:04:39 +0200]: <i0q9nnsa> PHP Error: Request security check failed (POST /mail/?_task=mail&_action=refresh)
[26-May-2024 06:49:49 +0200]: <f2ovh7rp> PHP Error: Request security check failed (POST /mail/?_task=mail&_action=refresh)
[27-May-2024 08:55:02 +0200]: <bfcd71uk> DB Error: [1146] Table 'roundcube.carddav_accounts' doesn't exist (SQL Query: SELECT * FROM carddav_accounts WHERE ((`user_id` = '1'))) in /var/www/roundcube/program/lib/Roundcube/rcube_db.php on line 577 (POST /mail/?_task=mail&_action=refresh)
[27-May-2024 08:55:23 +0200]: <bfcd71uk> DB Error: [1146] Table 'roundcube.carddav_accounts' doesn't exist (SQL Query: SELECT * FROM carddav_accounts WHERE ((`user_id` = '1'))) in /var/www/roundcube/program/lib/Roundcube/rcube_db.php on line 577 (GET /mail/)
[27-May-2024 08:55:27 +0200]: <bfcd71uk> DB Error: [1146] Table 'roundcube.carddav_accounts' doesn't exist (SQL Query: SELECT * FROM carddav_accounts WHERE ((`user_id` = '1'))) in /var/www/roundcube/program/lib/Roundcube/rcube_db.php on line 577 (GET /mail/)
[28-May-2024 06:38:25 +0200]: <86c1k39r> PHP Error: Request security check failed (POST /mail/?_task=mail&_action=refresh)

i see references to php 8.1. my roundcube install seem to be on php 7.3

  Problem 1
    - symfony/deprecation-contracts v3.5.0 requires php >=8.1 -> your php version (7.4.33) does not satisfy that requirement.
    - guzzlehttp/guzzle 7.8.1 requires symfony/deprecation-contracts ^2.2 || ^3.0 -> satisfiable by symfony/deprecation-contracts[v3.5.0].
    - guzzlehttp/guzzle is locked to version 7.8.1 and an update of this package was not requested.

how can i check which php is in use?

manifest →
[resources.apt]
packages = [
“mariadb-server”,
“php-pear”,
“php8.1-ldap”,
“php8.1-mysql”,
“php8.1-cli”,
“php8.1-intl”,
“php8.1-zip”,
“php8.1-gd”,
“php8.1-mbstring”,
“php8.1-dom”,
“php8.1-curl”,

I am also having this issue on a new installation (on home server) but not on an update (vps).

I couldn’t investigate a lot, there must be something about mime types :

  • in the browser console I get
Refused to apply style from 'https://domain.yuno/yunohost/sso/' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
[Violation] Forced reflow while executing JavaScript took 244ms
jquery.min.js?s=1717112862:36 [Violation] 'setTimeout' handler took 567ms
[Violation] Forced reflow while executing JavaScript took 31ms
jquery.min.js?s=1717112862:36 [Violation] 'load' handler took 172ms
[Violation] Forced reflow while executing JavaScript took 43ms

and in the nginx error log :

2024/05/31 21:13:55 [error] 640349#640349: *160937 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.1.14, server: domain.yuno, request: "POST /webmail/?_task=mail&_action=refresh HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php8.1-fpm-roundcube.sock", host: "domain.yuno", referrer: "https://domain.yuno/webmail/?_task=mail&_mbox=INBOX"
2024/05/31 21:15:08 [error] 640349#640349: *160937 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.1.14, server: domain.yuno, request: "POST /webmail/?_task=mail&_action=refresh HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php8.1-fpm-roundcube.sock", host: "domain.yuno", referrer: "https://domain.yuno/webmail/?_task=mail&_mbox=INBOX"
2024/05/31 21:17:23 [error] 640346#640346: *161021 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.1.14, server: domain.yuno, request: "POST /webmail/?_task=mail&_action=refresh HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php8.1-fpm-roundcube.sock", host: "domain.yuno", referrer: "https://domain.yuno/webmail/?_task=mail&_mbox=INBOX"
2024/05/31 21:20:55 [error] 640346#640346: *161113 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.1.14, server: domain.yuno, request: "POST /webmail/?_task=mail&_action=refresh HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php8.1-fpm-roundcube.sock", host: "domain.yuno", referrer: "https://domain.yuno/webmail/?_task=mail&_mbox=INBOX"
2024/05/31 21:23:10 [error] 640349#640349: *161123 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.1.14, server: domain.yuno, request: "GET /phpsysinfo/ HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php8.2-fpm-phpsysinfo.sock", host: "domain.yuno", referrer: "https://domain.yuno/yunohost/sso/"
2024/05/31 21:23:10 [error] 640349#640349: *161123 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.1.14, server: domain.yuno, request: "GET /webmail/?_task=mail&_mbox=INBOX HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php8.1-fpm-roundcube.sock", host: "domain.yuno", referrer: "https://domain.yuno/yunohost/sso/"
2024/05/31 21:23:10 [error] 640349#640349: *161123 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.1.14, server: domain.yuno, request: "POST /webmail/?_task=mail&_action=refresh HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php8.1-fpm-roundcube.sock", host: "domain.yuno", referrer: "https://domain.yuno/webmail/?_task=mail&_mbox=INBOX"
2024/05/31 21:29:32 [error] 640349#640349: *161123 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.1.14, server: domain.yuno, request: "POST /webmail/?_task=mail&_action=refresh HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php8.1-fpm-roundcube.sock", host: "domain.yuno", referrer: "https://domain.yuno/webmail/?_task=mail&_mbox=INBOX"
2024/05/31 21:32:37 [error] 640346#640346: *161418 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.1.14, server: domain.yuno, request: "POST /webmail/?_task=mail&_action=refresh HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php8.1-fpm-roundcube.sock", host: "domain.yuno", referrer: "https://domain.yuno/webmail/?_task=mail&_mbox=INBOX"
2024/05/31 21:32:37 [error] 640346#640346: *161418 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.1.14, server: domain.yuno, request: "GET /sysinfo/ HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php8.0-fpm-my_webapp__4.sock", host: "domain.yuno", referrer: "https://domain.yuno/yunohost/sso/"
2024/05/31 21:34:09 [error] 640346#640346: *161418 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.1.14, server: domain.yuno, request: "POST /webmail/?_task=mail&_action=refresh HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php8.1-fpm-roundcube.sock", host: "domain.yuno", referrer: "https://domain.yuno/webmail/?_task=mail&_mbox=INBOX"
2024/05/31 21:34:25 [error] 640346#640346: *161418 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.1.14, server: domain.yuno, request: "GET /sysinfo/ HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php8.0-fpm-my_webapp__4.sock", host: "domain.yuno", referrer: "https://domain.yuno/yunohost/sso/"
2024/05/31 21:51:55 [error] 640346#640346: *162191 "/usr/share/nginx/html/yunohost/sso/index.html" is not found (2: No such file or directory), client: 26.144.248.27, server: domain.yuno, request: "HEAD /yunohost/sso/?r=aHR0cHM6Ly9ob21lLmFiZGVsaGVkaS5jb20udG4v HTTP/1.1", host: "domain.yuno", referrer: "https://domain.yuno"
2024/05/31 22:12:17 [error] 640346#640346: *162872 "/usr/share/nginx/html/yunohost/sso/index.html" is not found (2: No such file or directory), client: 26.144.248.27, server: domain.yuno, request: "HEAD /yunohost/sso/?r=aHR0cHM6Ly9ob21lLmFiZGVsaGVkaS5jb20udG4v HTTP/1.1", host: "domain.yuno", referrer: "https://domain.yuno"
2024/05/31 22:24:40 [error] 759233#759233: *216 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.1.14, server: domain.yuno, request: "POST /webmail/?_task=mail&_action=refresh HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php8.1-fpm-roundcube.sock", host: "domain.yuno", referrer: "https://domain.yuno/webmail/?_task=mail&_mbox=INBOX"
2024/05/31 22:30:20 [error] 760285#760285: *143 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.1.14, server: domain.yuno, request: "GET /webmail/?_task=mail&_mbox=INBOX HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php8.1-fpm-roundcube.sock", host: "domain.yuno", referrer: "https://domain.yuno/yunohost/sso/?r=aHR0cHM6Ly9ob21lLmFiZGVsaGVkaS5jb20udG4vd2VibWFpbC8/X3Rhc2s9bWFpbCZfbWJveD1JTkJPWA=="
2024/05/31 22:32:39 [error] 761754#761754: *369 "/usr/share/nginx/html/yunohost/sso/index.html" is not found (2: No such file or directory), client: 26.144.248.27, server: domain.yuno, request: "HEAD /yunohost/sso/?r=aHR0cHM6Ly9ob21lLmFiZGVsaGVkaS5jb20udG4v HTTP/1.1", host: "domain.yuno", referrer: "https://domain.yuno"

i do not see any nginx error logs regarding roundcube here…

May be not related, I don’t know

still not sure whats going on, adding php8.1 seems to help

su -s /bin/bash - roundcube
cd /var/www/roundcube
COMPOSER_HOME=./.composer php8.1 composer.phar install
COMPOSER_HOME=./.composer php8.1 composer.phar update
COMPOSER_HOME=./.composer php8.1 composer.phar update php composer.phar update --no-dev

Comparing files permissions on both servers :

On my home server (wrong display)

ls -l
total 3252
drwxrwx---  2 roundcube www-data    4096 19 mai   09:20 bin
-rw-rw----  1 roundcube www-data  213791 19 mai   09:20 CHANGELOG.md
-rw-r-----  1 root      root        1213  4 juin  18:45 composer.json
-rw-rw----  1 roundcube www-data    1086 19 mai   09:20 composer.json-dist
-rw-r--r--  1 root      root      123446  4 juin  18:45 composer.lock
-rwxr-xr-x  1 root      root     2834111  4 juin  18:43 composer.phar
drwxrwx---  2 roundcube www-data    4096  4 juin  18:52 config
-rw-rw----  1 roundcube www-data   11201 19 mai   09:20 index.php
-rw-rw----  1 roundcube www-data   12661 19 mai   09:20 INSTALL
drwxrwx---  3 roundcube www-data    4096 19 mai   09:20 installer
-rw-rw----  1 roundcube www-data    3973 19 mai   09:20 jsdeps.json
-rw-rw----  1 roundcube www-data   35147 19 mai   09:20 LICENSE
drwxrwx---  2 roundcube www-data    4096 19 mai   09:20 logs
-rw-rw----  1 roundcube www-data    4526 19 mai   09:20 Makefile
drwxrwx--- 39 roundcube www-data    4096  4 juin  18:45 plugins
drwxrwx---  8 roundcube www-data    4096 19 mai   09:20 program
drwxrwx---  3 roundcube www-data    4096 19 mai   09:20 public_html
-rw-rw----  1 roundcube www-data    3853 19 mai   09:20 README.md
-rw-rw----  1 roundcube www-data     967 19 mai   09:20 SECURITY.md
drwxrwx---  4 roundcube www-data    4096  4 juin  18:51 skins
drwxrwx---  7 roundcube www-data    4096 19 mai   09:20 SQL
drwxrwx---  3 roundcube www-data    4096  4 juin  18:45 temp
drwxrwx---  7 roundcube www-data    4096 19 mai   09:20 tests
-rw-rw----  1 roundcube www-data    4657 19 mai   09:20 UPGRADING
drwxr-xr-x 21 root      root        4096  4 juin  18:45 vendor

On the vps (correct display)

ls -l
total 3256
drwxrwx---  2 roundcube www-data    4096 May 19 08:20 bin
-rw-rw----  1 roundcube www-data  213791 May 19 08:20 CHANGELOG.md
-rw-r-----  1 roundcube www-data    1212 May 20 16:57 composer.json
-rw-rw----  1 roundcube www-data    1086 May 19 08:20 composer.json-dist
-rw-r-----  1 roundcube www-data  123446 May 20 16:57 composer.lock
-rwxr-xr-x  1 root      root     2834111 May 20 16:57 composer.phar
drwxrwx---  2 roundcube www-data    4096 May 20 16:57 config
-rw-rw----  1 roundcube www-data   11201 May 19 08:20 index.php
-rw-rw----  1 roundcube www-data   12661 May 19 08:20 INSTALL
drwxrwx---  3 roundcube www-data    4096 May 19 08:20 installer
-rw-rw----  1 roundcube www-data    3973 May 19 08:20 jsdeps.json
-rw-rw----  1 roundcube www-data   35147 May 19 08:20 LICENSE
drwxrwx---  2 roundcube www-data    4096 May 19 08:20 logs
-rw-rw----  1 roundcube www-data    4526 May 19 08:20 Makefile
drwxrwx--- 39 roundcube www-data    4096 May 19 08:20 plugins
drwxrwx---  8 roundcube www-data    4096 May 19 08:20 program
drwxrwx---  3 roundcube www-data    4096 May 19 08:20 public_html
-rw-rw----  1 roundcube www-data    3853 May 19 08:20 README.md
-rw-rw----  1 roundcube www-data     967 May 19 08:20 SECURITY.md
drwxrwx---  3 roundcube www-data    4096 May 19 08:20 skins
drwxrwx---  7 roundcube www-data    4096 May 19 08:20 SQL
drwxrwx---  3 roundcube www-data    4096 May 19 08:20 temp
drwxrwx---  7 roundcube www-data    4096 May 19 08:20 tests
-rw-rw----  1 roundcube www-data    4657 May 19 08:20 UPGRADING
drwxr-x--- 16 roundcube www-data    4096 May 20 16:57 vendor

Hello, I have the same bug !! on a server I couldn’t upgrade from 1.6.6~ynh2 to 1.6.7~ynh1

There was something like

Could not scan for classes inside "/var/www/roundcube/vendor/roundcube/carddav/carddav.php" which does not appear to be a file nor a folder

Info: DEBUG - + ynh_die '--message=Unable to install core dependencies with Composer.'

So I remove and reinstall rouncube and same bug !!!

I have these permissions

/var/www/roundcube# ls -l
total 3268
drwxrwx---  2 roundcube www-data    4096 May 19 10:20 bin
-rw-rw----  1 roundcube www-data  213791 May 19 10:20 CHANGELOG.md
-rw-r-----  1 root      root        1251 Jun  5 10:11 composer.json
-rw-rw----  1 roundcube www-data    1086 May 19 10:20 composer.json-dist
-rw-r--r--  1 root      root      139340 Jun  5 10:11 composer.lock
-rwxr-xr-x  1 root      root     2834111 Jun  5 10:11 composer.phar
drwxrwx---  2 roundcube www-data    4096 Jun  5 10:11 config
-rw-rw----  1 roundcube www-data   11201 May 19 10:20 index.php
-rw-rw----  1 roundcube www-data   12661 May 19 10:20 INSTALL
drwxrwx---  3 roundcube www-data    4096 May 19 10:20 installer
-rw-rw----  1 roundcube www-data    3973 May 19 10:20 jsdeps.json
-rw-rw----  1 roundcube www-data   35147 May 19 10:20 LICENSE
drwxrwx---  2 roundcube www-data    4096 May 19 10:20 logs
-rw-rw----  1 roundcube www-data    4526 May 19 10:20 Makefile
drwxrwx--- 40 roundcube www-data    4096 Jun  5 10:11 plugins
drwxrwx---  8 roundcube www-data    4096 May 19 10:20 program
drwxrwx---  3 roundcube www-data    4096 May 19 10:20 public_html
-rw-rw----  1 roundcube www-data    3853 May 19 10:20 README.md
-rw-rw----  1 roundcube www-data     967 May 19 10:20 SECURITY.md
drwxrwx---  3 roundcube www-data    4096 May 19 10:20 skins
drwxrwx---  7 roundcube www-data    4096 May 19 10:20 SQL
drwxrwx---  3 roundcube www-data    4096 Jun  5 10:11 temp
drwxrwx---  7 roundcube www-data    4096 May 19 10:20 tests
-rw-rw----  1 roundcube www-data    4657 May 19 10:20 UPGRADING
drwxr-xr-x 23 root      root        4096 Jun  5 10:11 vendor

I have these errors in console

Still on this when there is time… Removing, cleaning, reinstalling leaves me with the same issue, removing all or most plugin entries doesn’t change anything, is see missing collected addresses and similar entries missing in the DB. Checked removal of DB by removing the app, which it does. So the MySQL dump from sql dir which seems vanilla roundcube at install might be at fault, or most likely the cardav, auto address book init at install is broken…

For now, waiting to a fix around, I have reinstall old version 1.6.6~ynh2

yunohost app install https://github.com/YunoHost-Apps/roundcube_ynh/tree/1a8015dacc1649d95bc157385e3374562663f769

Hello
The problem is with the responsive package Elastic by Aleksander Machniak.
You must replace this with the Elastic2022 by Sebastien Mille and all become in order

How you do that ?? You have to this after the upgrade or install ??

Je viens de voir tes autres postes en français.
Le problème s’est produit après l’installation.

All cases, first time after an upgrade, and try removing and installing a fresh install…
I have come back to oldest version… So if I change the theme before upgrading ??

Tu remplaces Elastic par celui-ci après l’installation

en ssh et en admin du coup ?

en ssh


Le thème est sombre par défaut

Mais si on l’installe avant la mise à jour, il va rester par défaut non ?