Enabling ldap_user app by api does not work properly

The Basics

  • Nextcloud Server version : Nextcloud Hub 10 (31.0.6) (on docker)

  • Operating system and version : Debian 12

  • Reverse proxy and version : traefik v2.10

  • PHP version : 8.3.23

  • Is this the first time you’ve seen this error? : No I did it yesterday

  • When did this problem seem to first start? When I tries to use this api to enable user_ldap app and configure it

  • Are you using CloudfIare, mod_security, or similar? No

Summary of the issue:

Hello I got a problem with the api of Nextcloud and I don’t know if I am not using it properly or if its a bug.

When I enable the app user_ldap by API using this endpoint {{baseUrl}}/ocs/v2.php/cloud/apps/{{app}} it works and I get a 200 status code and I see that the app is enabled on the nextcloud UI but I got the following error message (see below) . Moreover even if I configure it after I get a 500 error message when I try to login because some table does not exist. Did I miss a step to enable the app? Because when I do it manually on the UI it works and create the table. The thing is that I really need to automate that to deploy nextcloud easily using a backend.
Thanks in advance for anyone that could provide help on this

An exception occured while running the setup check: PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'nextcloud.oc_ldap_user_mapping' doesn't exist in /var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php:130 Stack trace: #0 /var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php(130): PDOStatement->execute(NULL) #1 /var/www/html/3rdparty/doctrine/dbal/src/Connection.php(1104): Doctrine\DBAL\Driver\PDO\Statement->execute() #2 /var/www/html/lib/private/DB/Connection.php(419): Doctrine\DBAL\Connection->executeQuery('SELECT `ldap_dn...', Array, Array, NULL) #3 /var/www/html/lib/private/DB/ConnectionAdapter.php(50): OC\DB\Connection->executeQuery('SELECT `ldap_dn...', Array, Array) #4 /var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php(289): OC\DB\ConnectionAdapter->executeQuery('SELECT `ldap_dn...', Array, Array) #5 /var/www/html/apps/user_ldap/lib/Mapping/AbstractMapping.php(316): OC\DB\QueryBuilder\QueryBuilder->executeQuery() #6 /var/www/html/apps/user_ldap/lib/SetupChecks/LdapInvalidUuids.php(35): OCA\User_LDAP\Mapping\AbstractMapping->getList(0, 1, true) #7 /var/www/html/lib/private/SetupCheck/SetupCheckManager.php(34): OCA\User_LDAP\SetupChecks\LdapInvalidUuids->run() #8 /var/www/html/apps/settings/lib/Controller/CheckSetupController.php(134): OC\SetupCheck\SetupCheckManager->runAll() #9 /var/www/html/lib/private/AppFramework/Http/Dispatcher.php(200): OCA\Settings\Controller\CheckSetupController->check() #10 /var/www/html/lib/private/AppFramework/Http/Dispatcher.php(114): OC\AppFramework\Http\Dispatcher->executeController(Object(OCA\Settings\Controller\CheckSetupController), 'check') #11 /var/www/html/lib/private/AppFramework/App.php(161): OC\AppFramework\Http\Dispatcher->dispatch(Object(OCA\Settings\Controller\CheckSetupController), 'check') #12 /var/www/html/lib/private/Route/Router.php(307): OC\AppFramework\App::main('OCA\\Settings\\Co...', 'check', Object(OC\AppFramework\DependencyInjection\DIContainer), Array) #13 /var/www/html/lib/base.php(1040): OC\Route\Router->match('/settings/ajax/...') #14 /var/www/html/index.php(24): OC::handleRequest() #15 {main} Next Doctrine\DBAL\Driver\PDO\Exception: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'nextcloud.oc_ldap_user_mapping' doesn't exist in /var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Exception.php:24 Stack trace: #0 /var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php(132): Doctrine\DBAL\Driver\PDO\Exception::new(Object(PDOException)) #1 /var/www/html/3rdparty/doctrine/dbal/src/Connection.php(1104): Doctrine\DBAL\Driver\PDO\Statement->execute() #2 /var/www/html/lib/private/DB/Connection.php(419): Doctrine\DBAL\Connection->executeQuery('SELECT `ldap_dn...', Array, Array, NULL) #3 /var/www/html/lib/private/DB/ConnectionAdapter.php(50): OC\DB\Connection->executeQuery('SELECT `ldap_dn...', Array, Array) #4 /var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php(289): OC\DB\ConnectionAdapter->executeQuery('SELECT `ldap_dn...', Array, Array) #5 /var/www/html/apps/user_ldap/lib/Mapping/AbstractMapping.php(316): OC\DB\QueryBuilder\QueryBuilder->executeQuery() #6 /var/www/html/apps/user_ldap/lib/SetupChecks/LdapInvalidUuids.php(35): OCA\User_LDAP\Mapping\AbstractMapping->getList(0, 1, true) #7 /var/www/html/lib/private/SetupCheck/SetupCheckManager.php(34): OCA\User_LDAP\SetupChecks\LdapInvalidUuids->run() #8 /var/www/html/apps/settings/lib/Controller/CheckSetupController.php(134): OC\SetupCheck\SetupCheckManager->runAll() #9 /var/www/html/lib/private/AppFramework/Http/Dispatcher.php(200): OCA\Settings\Controller\CheckSetupController->check() #10 /var/www/html/lib/private/AppFramework/Http/Dispatcher.php(114): OC\AppFramework\Http\Dispatcher->executeController(Object(OCA\Settings\Controller\CheckSetupController), 'check') #11 /var/www/html/lib/private/AppFramework/App.php(161): OC\AppFramework\Http\Dispatcher->dispatch(Object(OCA\Settings\Controller\CheckSetupController), 'check') #12 /var/www/html/lib/private/Route/Router.php(307): OC\AppFramework\App::main('OCA\\Settings\\Co...', 'check', Object(OC\AppFramework\DependencyInjection\DIContainer), Array) #13 /var/www/html/lib/base.php(1040): OC\Route\Router->match('/settings/ajax/...') #14 /var/www/html/index.php(24): OC::handleRequest() #15 {main} Next Doctrine\DBAL\Exception\TableNotFoundException: An exception occurred while executing a query: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'nextcloud.oc_ldap_user_mapping' doesn't exist in /var/www/html/3rdparty/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:49 Stack trace: #0 /var/www/html/3rdparty/doctrine/dbal/src/Connection.php(1976): Doctrine\DBAL\Driver\API\MySQL\ExceptionConverter->convert(Object(Doctrine\DBAL\Driver\PDO\Exception), Object(Doctrine\DBAL\Query)) #1 /var/www/html/3rdparty/doctrine/dbal/src/Connection.php(1918): Doctrine\DBAL\Connection->handleDriverException(Object(Doctrine\DBAL\Driver\PDO\Exception), Object(Doctrine\DBAL\Query)) #2 /var/www/html/3rdparty/doctrine/dbal/src/Connection.php(1111): Doctrine\DBAL\Connection->convertExceptionDuringQuery(Object(Doctrine\DBAL\Driver\PDO\Exception), 'SELECT `ldap_dn...', Array, Array) #3 /var/www/html/lib/private/DB/Connection.php(419): Doctrine\DBAL\Connection->executeQuery('SELECT `ldap_dn...', Array, Array, NULL) #4 /var/www/html/lib/private/DB/ConnectionAdapter.php(50): OC\DB\Connection->executeQuery('SELECT `ldap_dn...', Array, Array) #5 /var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php(289): OC\DB\ConnectionAdapter->executeQuery('SELECT `ldap_dn...', Array, Array) #6 /var/www/html/apps/user_ldap/lib/Mapping/AbstractMapping.php(316): OC\DB\QueryBuilder\QueryBuilder->executeQuery() #7 /var/www/html/apps/user_ldap/lib/SetupChecks/LdapInvalidUuids.php(35): OCA\User_LDAP\Mapping\AbstractMapping->getList(0, 1, true) #8 /var/www/html/lib/private/SetupCheck/SetupCheckManager.php(34): OCA\User_LDAP\SetupChecks\LdapInvalidUuids->run() #9 /var/www/html/apps/settings/lib/Controller/CheckSetupController.php(134): OC\SetupCheck\SetupCheckManager->runAll() #10 /var/www/html/lib/private/AppFramework/Http/Dispatcher.php(200): OCA\Settings\Controller\CheckSetupController->check() #11 /var/www/html/lib/private/AppFramework/Http/Dispatcher.php(114): OC\AppFramework\Http\Dispatcher->executeController(Object(OCA\Settings\Controller\CheckSetupController), 'check') #12 /var/www/html/lib/private/AppFramework/App.php(161): OC\AppFramework\Http\Dispatcher->dispatch(Object(OCA\Settings\Controller\CheckSetupController), 'check') #13 /var/www/html/lib/private/Route/Router.php(307): OC\AppFramework\App::main('OCA\\Settings\\Co...', 'check', Object(OC\AppFramework\DependencyInjection\DIContainer), Array) #14 /var/www/html/lib/base.php(1040): OC\Route\Router->match('/settings/ajax/...') #15 /var/www/html/index.php(24): OC::handleRequest() #16 {main} Next OC\DB\Exceptions\DbalException: An exception occurred while executing a query: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'nextcloud.oc_ldap_user_mapping' doesn't exist in /var/www/html/lib/private/DB/Exceptions/DbalException.php:56 Stack trace: #0 /var/www/html/lib/private/DB/ConnectionAdapter.php(53): OC\DB\Exceptions\DbalException::wrap(Object(Doctrine\DBAL\Exception\TableNotFoundException), '', 'SELECT `ldap_dn...') #1 /var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php(289): OC\DB\ConnectionAdapter->executeQuery('SELECT `ldap_dn...', Array, Array) #2 /var/www/html/apps/user_ldap/lib/Mapping/AbstractMapping.php(316): OC\DB\QueryBuilder\QueryBuilder->executeQuery() #3 /var/www/html/apps/user_ldap/lib/SetupChecks/LdapInvalidUuids.php(35): OCA\User_LDAP\Mapping\AbstractMapping->getList(0, 1, true) #4 /var/www/html/lib/private/SetupCheck/SetupCheckManager.php(34): OCA\User_LDAP\SetupChecks\LdapInvalidUuids->run() #5 /var/www/html/apps/settings/lib/Controller/CheckSetupController.php(134): OC\SetupCheck\SetupCheckManager->runAll() #6 /var/www/html/lib/private/AppFramework/Http/Dispatcher.php(200): OCA\Settings\Controller\CheckSetupController->check() #7 /var/www/html/lib/private/AppFramework/Http/Dispatcher.php(114): OC\AppFramework\Http\Dispatcher->executeController(Object(OCA\Settings\Controller\CheckSetupController), 'check') #8 /var/www/html/lib/private/AppFramework/App.php(161): OC\AppFramework\Http\Dispatcher->dispatch(Object(OCA\Settings\Controller\CheckSetupController), 'check') #9 /var/www/html/lib/private/Route/Router.php(307): OC\AppFramework\App::main('OCA\\Settings\\Co...', 'check', Object(OC\AppFramework\DependencyInjection\DIContainer), Array) #10 /var/www/html/lib/base.php(1040): OC\Route\Router->match('/settings/ajax/...') #11 /var/www/html/index.php(24): OC::handleRequest() #12 {main}

Configuration

services:
  nextcloud:
    image: nextcloud
    container_name: nextcloud
    restart: unless-stopped
    networks: 
      - proxy
    depends_on:
      - nextclouddb
    # volumes:
    #   - $BASE_VOLUME_DIR/collaborative/nextcloud:/var/www/html
    environment:
      - TZ=Europe/Paris
      - MYSQL_DATABASE=${MARIADB_DATABASE}
      - MYSQL_USER=${MARIADB_USERNAME}
      - MYSQL_PASSWORD=${MARIADB_PASSWORD}
      - MYSQL_HOST=nextcloud-db
      - REDIS_HOST=redis
      - NEXTCLOUD_TRUSTED_DOMAINS=nextcloud.mydomain.com
      - TRUSTED_PROXIES= ${TRAEFIK_IP}
      - NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER}
      - NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD}
      - OVERWRITECLIURL=https://nextcloud.mydomain.com
      - OVERWRITEPROTOCOL=https
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.nextcloud.rule=Host(`nextcloud.mydomain.com`)"
      - "traefik.http.routers.nextcloud.entrypoints=websecure"
      - "traefik.http.routers.nextcloud.tls=true"
      - "traefik.http.routers.nextcloud.tls.certresolver=myresolver"
      - "traefik.http.services.nextcloud.loadbalancer.server.port=80"
      - "traefik.http.middlewares.nextcloud-headers.headers.stsSeconds=15552000"
      - "traefik.http.middlewares.nextcloud-headers.headers.stsIncludeSubdomains=true"
      - "traefik.http.middlewares.nextcloud-headers.headers.stsPreload=true"
      - "traefik.http.routers.nextcloud.middlewares=nextcloud-headers"

  nextclouddb:
    image: mariadb
    container_name: nextcloud-db
    hostname: 'nextcloud-db'
    restart: unless-stopped
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    networks: 
      - proxy
    # volumes:
    #   - $BASE_VOLUME_DIR/collaborative/db:/var/lib/mysql
    environment:
      - TZ=Europe/Paris
      - MYSQL_ROOT_PASSWORD=${MARIADB_PASSWORD}
      - MYSQL_DATABASE=${MARIADB_DATABASE}

  nextclouddb-phpmyadmin:
    image: phpmyadmin/phpmyadmin
    restart: always
    ports:
      - "8010:80"
    environment:
      PMA_HOST: nextcloud-db
      PMA_USER: ${MARIADB_USERNAME}
      PMA_PASSWORD: ${MARIADB_PASSWORD}
    networks:
      - proxy

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.