Nextcloud28 without Webdav?

Hi there!
I installed Nextcloud on a shared server on o2switch. I heard they don’t allow Webdav but I thought it wouldn’t be a problem cause I don’t use this. I only use the web interface.
Once installed the newest version without any problem, I can’t see any files (“Nothing in here”) and “Add” button is greyed.
In the parameters I have this caution: “Your web server is not yet properly configured for file synchronization because the WebDAV interface seems not to work.”
Is there a way to not use Webdav? Or something else to see the files and folders?

Nextcloud version : 28
PHP version : 8.1

The issue you are facing:

Is this the first time you’ve seen this error? (Y/N): Y

Steps to replicate it:

  1. Login
  2. App Files
  3. “Nothing in here” + “Add” button greyed

The output of your Nextcloud log in Admin > Logging:

{
    "reqId": "ZcJaWzPhSWKQWrrqkMq0tAAAAMQ",
    "level": 3,
    "time": "2024-02-06T16:12:11+00:00",
    "remoteAddr": "XX.XXX.XXX.XX",
    "user": "USER",
    "app": "PHP",
    "method": "GET",
    "url": "/ocs/v2.php/apps/notifications/api/v2/notifications",
    "message": "include(): Failed opening '/home/USER/public_html/apps/dav/composer/composer/../../lib/Connector/Sabre/Principal.php' for inclusion (include_path='/home/USER/public_html/3rdparty/pear/archive_tar:/home/USER/public_html/3rdparty/pear/console_getopt:/home/USER/public_html/3rdparty/pear/pear-core-minimal/src:/home/USER/public_html/3rdparty/pear/pear_exception:/home/USER/public_html/apps') at /home/USER/public_html/lib/composer/composer/ClassLoader.php#576",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:122.0) Gecko/20100101 Firefox/122.0",
    "version": "28.0.2.5",
    "data": {
        "app": "PHP"
    }
}

{
    "reqId": "ZcJaWzPhSWKQWrrqkMq0tAAAAMQ",
    "level": 3,
    "time": "2024-02-06T16:12:11+00:00",
    "remoteAddr": "XX.XXX.XXX.XX",
    "user": "USER",
    "app": "no app in context",
    "method": "GET",
    "url": "/ocs/v2.php/apps/notifications/api/v2/notifications",
    "message": "Could not boot dav: Could not resolve hm! Class \"hm\" does not exist",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:122.0) Gecko/20100101 Firefox/122.0",
    "version": "28.0.2.5",
    "exception": {
        "Exception": "OC\\AppFramework\\Utility\\QueryNotFoundException",
        "Message": "Could not resolve hm! Class \"hm\" does not exist",
        "Code": 0,
        "Trace": [
            {
                "file": "/home/USER/public_html/lib/private/AppFramework/Utility/SimpleContainer.php",
                "line": 146,
                "function": "resolve",
                "class": "OC\\AppFramework\\Utility\\SimpleContainer",
                "type": "->",
                "args": [
                    "hm"
                ]
            },
            {
                "file": "/home/USER/public_html/lib/private/ServerContainer.php",
                "line": 173,
                "function": "query",
                "class": "OC\\AppFramework\\Utility\\SimpleContainer",
                "type": "->",
                "args": [
                    "hm",
                    true
                ]
            },
            {
                "file": "/home/USER/public_html/lib/private/AppFramework/DependencyInjection/DIContainer.php",
                "line": 443,
                "function": "query",
                "class": "OC\\ServerContainer",
                "type": "->",
                "args": [
                    "hm",
                    true
                ]
            },
            {
                "file": "/home/USER/public_html/lib/private/AppFramework/Utility/SimpleContainer.php",
                "line": 64,
                "function": "query",
                "class": "OC\\AppFramework\\DependencyInjection\\DIContainer",
                "type": "->",
                "args": [
                    "hm"
                ]
            },
            {
                "file": "/home/USER/public_html/lib/private/AppFramework/Bootstrap/FunctionInjector.php",
                "line": 56,
                "function": "get",
                "class": "OC\\AppFramework\\Utility\\SimpleContainer",
                "type": "->",
                "args": [
                    "hm"
                ]
            },
            {
                "function": "OC\\AppFramework\\Bootstrap\\{closure}",
                "class": "OC\\AppFramework\\Bootstrap\\FunctionInjector",
                "type": "->",
                "args": [
                    "*** sensitive parameters replaced ***"
                ]
            },
            {
                "file": "/home/USER/public_html/lib/private/AppFramework/Bootstrap/FunctionInjector.php",
                "line": 66,
                "function": "array_map",
                "args": [
                    [
                        "Closure"
                    ],
                    [
                        "*** sensitive parameters replaced ***",
                        [
                            "ReflectionParameter",
                            "dispatcher"
                        ],
                        [
                            "ReflectionParameter",
                            "container"
                        ]
                    ]
                ]
            },
            {
                "file": "/home/USER/public_html/lib/private/AppFramework/Bootstrap/BootContext.php",
                "line": 50,
                "function": "injectFn",
                "class": "OC\\AppFramework\\Bootstrap\\FunctionInjector",
                "type": "->",
                "args": [
                    [
                        [
                            "OCA\\DAV\\AppInfo\\Application"
                        ],
                        "registerHooks"
                    ]
                ]
            },
            {
                "file": "/home/USER/public_html/apps/dav/lib/AppInfo/Application.php",
                "line": 220,
                "function": "injectFn",
                "class": "OC\\AppFramework\\Bootstrap\\BootContext",
                "type": "->",
                "args": [
                    [
                        [
                            "OCA\\DAV\\AppInfo\\Application"
                        ],
                        "registerHooks"
                    ]
                ]
            },
            {
                "file": "/home/USER/public_html/lib/private/AppFramework/Bootstrap/Coordinator.php",
                "line": 200,
                "function": "boot",
                "class": "OCA\\DAV\\AppInfo\\Application",
                "type": "->",
                "args": [
                    [
                        "OC\\AppFramework\\Bootstrap\\BootContext"
                    ]
                ]
            },
            {
                "file": "/home/USER/public_html/lib/private/App/AppManager.php",
                "line": 434,
                "function": "bootApp",
                "class": "OC\\AppFramework\\Bootstrap\\Coordinator",
                "type": "->",
                "args": [
                    "dav"
                ]
            },
            {
                "file": "/home/USER/public_html/lib/private/App/AppManager.php",
                "line": 213,
                "function": "loadApp",
                "class": "OC\\App\\AppManager",
                "type": "->",
                "args": [
                    "dav"
                ]
            },
            {
                "file": "/home/USER/public_html/lib/private/legacy/OC_App.php",
                "line": 125,
                "function": "loadApps",
                "class": "OC\\App\\AppManager",
                "type": "->",
                "args": [
                    []
                ]
            },
            {
                "file": "/home/USER/public_html/ocs/v1.php",
                "line": 59,
                "function": "loadApps",
                "class": "OC_App",
                "type": "::",
                "args": []
            },
            {
                "file": "/home/USER/public_html/ocs/v2.php",
                "line": 23,
                "args": [
                    "/home/USER/public_html/ocs/v1.php"
                ],
                "function": "require_once"
            }
        ],
        "File": "/home/USER/public_html/lib/private/AppFramework/Utility/SimpleContainer.php",
        "Line": 135,
        "message": "Could not boot dav: Could not resolve hm! Class \"hm\" does not exist",
        "exception": {},
        "CustomMessage": "Could not boot dav: Could not resolve hm! Class \"hm\" does not exist"
    }
}

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

$CONFIG = array (
  'instanceid' => 'ochn9s7kl16z',
  'passwordsalt' => 'gVAvx3ooOSYYnpSfzqqNeHcYhS7V9O',
  'secret' => 'B5lef/c25j6w1o2eJxGSTcLlA9nhNu82fXGD1DMebjMm7LVz',
  'trusted_domains' => 
  array (
    0 => 'mydomain.com',
  ),
  'datadirectory' => '/home/USER/www/data',
  'dbtype' => 'mysql',
  'version' => '28.0.2.5',
  'overwrite.cli.url' => 'http://mydomain.com',
  'dbname' => 'DBNAME',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'DB_USER',
  'dbpassword' => 'MYPASSWORD',
  'installed' => true,
  'maintenance_window_start' => 1,
  'maintenance' => false,
);

The output of your Apache/nginx/system log in /var/log/____:

I don't have it...

Thank you for help or explanations!

How did you install Nextcloud Server? Both those errors are really weird.

  • Check all your file permissions for the entire installation tree
  • Can you confirm that occ config:list system executes without any errors? (Btw: post the output from it so that it redacts sensitive parameters automatically like your secret / passwordsalt)?
  • Does the file /home/USER/public_html/apps/dav/lib/Connector/Sabre/Principal.php exist?
  • Confirm occ integrity:check-core doesn’t return any errors
  • Post the output of occ app:list

I heard they don’t allow Webdav but I thought it wouldn’t be a problem cause I don’t use this. I only use the web interface.

Depending on what you saw from them, this may just mean they don’t use the web server’s WebDAV mode. But that’s fine: Nextcloud wants that off anyhow since it provides it’s own WebDAV server. You’ll definitely be using WebDAV. It’s central to Nextcloud. But your errors (at least the log entries you provided) indicate something else is going on.

Hi
I have same problem after upgrade from 26 to 28.
“Nothing in here” + “Add” button greyed

Enabled:
  - cloud_federation_api: 1.11.0
  - comments: 1.18.0
  - dav: 1.29.1
  - federatedfilesharing: 1.18.0
  - files: 2.0.0
  - files_pdfviewer: 2.9.0
  - files_reminders: 1.1.0
  - files_sharing: 1.20.0
  - files_trashbin: 1.18.0
  - files_versions: 1.21.0
  - logreader: 2.13.0
  - lookup_server_connector: 1.16.0
  - notifications: 2.16.0
  - oauth2: 1.16.3
  - privacy: 1.12.0
  - provisioning_api: 1.18.0
  - recommendations: 2.0.0
  - related_resources: 1.3.0
  - serverinfo: 1.18.0
  - settings: 1.10.1
  - sharebymail: 1.18.0
  - survey_client: 1.16.0
  - systemtags: 1.18.0
  - text: 3.9.1
  - theming: 2.3.0
  - twofactor_backupcodes: 1.17.0
  - twofactor_totp: 10.0.0-beta.2
  - updatenotification: 1.18.0
  - user_ldap: 1.19.0
  - user_status: 1.8.1
  - viewer: 2.2.0
  - workflowengine: 2.10.0
Disabled:
  - activity: 2.20.0 (installed 2.18.0)
  - admin_audit: 1.18.0 (installed 1.18.0)
  - bruteforcesettings: 2.8.0
  - circles: 28.0.0-dev (installed 28.0.0-dev)
  - contactsinteraction: 1.9.0 (installed 1.9.0)
  - dashboard: 7.8.0 (installed 7.6.0)
  - encryption: 2.16.0
  - federation: 1.18.0 (installed 1.18.0)
  - files_external: 1.20.0
  - firstrunwizard: 2.17.0 (installed 2.17.0)
  - nextcloud_announcements: 1.17.0 (installed 1.17.0)
  - password_policy: 1.18.0 (installed 1.18.0)
  - photos: 2.4.0 (installed 2.2.0)
  - support: 1.11.0 (installed 1.11.0)
  - suspicious_login: 6.0.0
  - weather_status: 1.8.0 (installed 1.8.0)
{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "10.176.147.70",
            "cloud.example.cz",
            "127.0.0.1"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "28.0.2.5",
        "overwrite.cli.url": "http:\/\/cloud.hzsulk.cz",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "logfile": "\/var\/log\/nextcloud\/nextcloud.log",
        "loglevel": 1,
        "debug": true,
        "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory",
        "updater.release.channel": "stable",
        "maintenance": false,
        "theme": "",
        "default_phone_region": "cz",
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "overwritehost": "cloud.hzsulk.cz",
        "overwriteprotocol": "https",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "filelocking.enabled": "true",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 0,
            "timeout": 0
        },
        "skeletondirectory": "",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "25",
        "mail_smtpstreamoptions": {
            "ssl": {
                "allow_self_signed": true,
                "verify_peer": false,
                "verify_peer_name": false
            }
        },
        "app_install_overwrite": [
            "documentserver_community"
        ],
        "lost_password_link": "disabled",
        "auth.webauthn.enabled": false,
        "onlyoffice": {
            "verify_peer_off": true,
            "jwt_header": "AuthorizationJwt"
        },
        "data-fingerprint": "563577f864aa20ae49be964d330168a4",
        "twofactor_enforced": "true",
        "twofactor_enforced_groups": [],
        "twofactor_enforced_excluded_groups": [],
        "maintenance_window_start": 1,
        "defaultapp": "files"
    }
}

Does your username consist of digits?[1]

[1] Nextcloud 28: Files are not accessible when username consists of digits - #11 by Mysterycz

The whole data transfer is done via webdav. Not sure how your provider blocks it (the apache module is not needed, Nextcloud brings its own implementation), if that would also affect the web interface. So I don’t know if it is worth to try to make it worth to make it work there, because address book, calendar are also *DAV based protocols and if these commands are blocked, most things you cannot use.
Others reported already some issues: Can't access files, webdav not working

However, the current error looks like some other issue. And if you have enough access to your server, you might be able to change things.

Yes that is the problem, users are only numbers, how do i downgrade to 28.0.1 ?
EDIT: Only download 28.0.1 version, extract to nextcloud folder and move config file and its OK.

1 Like

Hello there,

I’m facing the same issue. Tried to install Nextcloud in an O2Switch sharing. Had support contact with them trying to troubleshot the problem and here are some infos:

  1. It’s forbidden to install Nextcloud in an O2switch mutual plan (the basic one at 7€/month)
  2. Webdav won’t work there, neither the Apache one nor another one because of their frontal cache system that is technically incompatible with webdav, only allowing plain http(s)
  3. O2Switch offer(ed) a free of charge nextcloud trial to their users. It was what I was using. My mainly goal was to have a decent carddav/caldav server (and try the many more possibilities that Nextcloud offers). I tried to install it myself in the hosting server because the trial was stuck in version 25 and they don’t care about correcting the errors and warnings that the admin log pops out (outdated php/mysql versions for instance). As they give it for free, they don’t maintain it. It seams to me a kamikaze policy, as outdated/dysfonctionnal software is a big security issue for users but also for the host, but that’s their policy in this “beta” service. If you want real Nextcloud with them, you need to subscribe to a self-hosted or managed plan. To don’t let me in a blocking situation, as I was facing some sync bugs with their Nextcloud’s 25 caldav/carddav setup (full of warnings and errors, so I can’t tell if the bugs were from Nextcloud or the poor install) and that it was not possible for me to install a decent carddav/caldav server in my hosting plan by myself, the support kindly did some upgrades in the mextcloud beta install, updating PHP version (but not MySQL) and installing Nextcloud 28, without getting ride of the errors/warnings of the admin log. It’s a kind gest to don’t let me without answer, but that is not a long term option. Looking at all the errors in the admin log, I’m scared to use this instance for anything serious.

So, if you seriously need Nextcloud, you must buy an O2Switch (or another host) self-hosted plan that allows it or self-host it yourself if you have the material, competence and willing to do so.

I hope O2Switch staff read this and do some serious work in their “beta” nextcloud install to offer it without errors and warnings, as the cpanel built-in caldav/carddav is deprecated and there is no possibility to put a webdav in the mutual plan for technical reasons.