Operating system and version / Apache or nginx version: : Not sure. Using shared hosting at bitpalast.net, very limited CLI accessibility.
The issue you are facing:
Nextcloud service (including configuration pages) completely unavailable. Login not working. Entering anything results in an internal server error.
I suspect the reason for this is that I changed a configuration option. I activated “login by email”, but also use login credentials via SQL Backend. Did not configure the email backend before activating “login by email”.
Moreover I updated nextcloud today and then upped the PHP Version from 7.3.32 to 8.0.12, which made the service temporarily unavailable until I downgraded PHP to 7.4.25.
During the Nextcloud-update the web updater showed that it created a backup. Is this backup deleted after the update? I was unable to find it…
nextcloud.log shows this error which is an SQL Syntax Exception:
"Exception":"Doctrine\\DBAL\\Exception\\SyntaxErrorException","Message":"An exception occurred while executing 'SELECT u.ID AS uid, u.user_login AS username, u.user_login AS name, null AS email, null AS quota, null AS home, true AS active, false AS avatar, null AS salt, u.user_pass AS password FROM uCiCndcu_users u WHERE u.user_login = :username OR u. = :email ' with params [\"John Doe\", \"John Doe\"]:\n\nSQLSTATE: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '= 'John Doe'' at line 1","Code":0,"Trace"
The error in particular is caused by the bit
OR u. = :email as far as I can tell.
<php $CONFIG = array ( 'instanceid' => '<instanceid>', 'passwordsalt' => '<pw_salt>', 'secret' => '<secret>', 'trusted_domains' => array ( 0 => '<URL>', ), 'datadirectory' => '/var/www/vhosts/<URL>/data', 'dbtype' => 'mysql', 'version' => '22.214.171.124', 'overwrite.cli.url' => 'https://<URL>', 'dbname' => 'db_cloud', 'dbhost' => 'localhost', 'dbport' => '', 'dbtableprefix' => 'oc_', 'dbuser' => 'cu_cloudadmin', 'dbpassword' => '<db_pw>', 'installed' => true, 'app_install_overwrite' => array ( 0 => 'user_sql', 1 => 'emlviewer', ), 'maintenance' => false, 'theme' => '', 'loglevel' => 2, 'updater.secret' => '<up_secret>', );
The output of your Apache/nginx/system log in
unavailable due to above mentioned limitations
I was unable to find out exactly how to change the setting for the “login by mail”. Alternatively a change to the db, which I have full access to, can solve the syntax error also? Or editing the SQL Backend option via CLI to include the email field, which I can also easily include via the external DB, which I have access to.
I expect that the CLI limitations disallow me from performing the fix myself, but I want to provide my webspace provider with the exact command I wish to be executed.
Thankful for any help!