Failing to connect new Nextcloud instance to AWS RDS

I’m running new install of latest Nextcloud 13 on AWS Ubuntu 16.04, Apache2.4. Nextcloud was responding, but since I’ve implemented the config.php file has stopped doing so. My config is:

<?php
$CONFIG = array (
  'passwordsalt' => 'xxx',
  'trusted_domains' =>
  array (
    'mydomain',
  ),
  'datadirectory' => '/var/www/nextcloud/data',
  'dbtype' => 'mysql',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'nextcloud_user',
  'dbpassword' => 'xxx',
  'installed' => true,
);

Checking the log after calling mydomain I get:

[Wed Jul 04 00:30:53.231913 2018] [php7:error] [pid 16010] [client <ip>:22920] PHP Fatal error: Uncaught Doctrine\\DBAL\\DBALException: Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000] [1698] Access denied for user 'nextcloud_user'@'localhost' in /var/www/nextcloud/lib/private/DB/Connection.php:64\nStack trace:\n#0 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(429): OC\\DB\\Connection-&gt;connect()\n#1 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(389): Doctrine\\DBAL\\Connection-&gt;getDatabasePlatformVersion()\n#2 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(328): Doctrine\\DBAL\\Connection-&gt;detectDatabasePlatform()\n#3 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(623): Doctrine\\DBAL\\Connection-&gt;getDatabasePlatform()\n#4 /var/www/nextcloud/lib/private/DB/Connection.php(151): Doctrine\\DBAL\\Connection-&gt;setTransactionIsolation(2)\n#5 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php(172): OC\\DB\\Connection-&gt;__construct(Array, Object(Doctrine\\DBAL\\Dr in /var/www/nextcloud/lib/private/DB/Connection.php on line 64

I did log in to MariaDB ok from the server mysql -u root_user -h <my_endpoint>.rds.amazonaws.com -p and created db nextcloud with user nextcloud_user with all privileges, so the RDS endpoint should be accessible.

Very much appreciate assistance to get on track here.

you may replace

with 'dbhost' => '<my_endpoint>.rds.amazonaws.com,

Thanks. Have changed that. I still get a 500 error code in browser, and the following error log:

[Wed Jul 04 00:30:53.231913 2018] [php7:error] [pid 16010] [client 10.100.XXX.XXX:22920] PHP Fatal error: Uncaught Doctrine\\DBAL\\DBALException: Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000] [1698] Access denied for user 'nextcloud_user'@'localhost' in /var/www/nextcloud/lib/private/DB/Connection.php:64\nStack trace:\n#0 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(429): OC\\DB\\Connection-&gt;connect()\n#1 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(389): Doctrine\\DBAL\\Connection-&gt;getDatabasePlatformVersion()\n#2 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(328): Doctrine\\DBAL\\Connection-&gt;detectDatabasePlatform()\n#3 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(623): Doctrine\\DBAL\\Connection-&gt;getDatabasePlatform()\n#4 /var/www/nextcloud/lib/private/DB/Connection.php(151): Doctrine\\DBAL\\Connection-&gt;setTransactionIsolation(2)\n#5 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php(172): OC\\DB\\Connection-&gt;__construct(Array, Object(Doctrine\\DBAL\\Dr in /var/www/nextcloud/lib/private/DB/Connection.php on line 64

Worth noting the previous error Access denied for user 'nextcloud_user'@'localhost' has changed to Access denied for user 'nextcloud_user'@'10.100.XXX.XXX.

Are you able to connect to the mysq db from the command line?

mysql --host=<my_endpoint>.rds.amazonaws.com --user=nextcloud_user --password=xxx nextcloud

That was the issue. I’d set up the user incorrectly using ‘localhost’ and ‘< RDS endpoint >’ hosts. Switched this to ‘%’ and I no longer get that error.

(Although I get a new error! - Error: Table 'nextcloud.oc_appconfig' doesn't exist)

Thanks Reiner_Nippes

Did you setup the database? Normally you have to provide the database credentials during first web login.

Or you can use the silent installation.
https://www.c-rieger.de/nextcloud-13-nginx-installation-guide-for-ubuntu-18-04-lts/#silently

But I think you have to remove the config.php. An existing config.php tells nextcloud that it is completly installed.

I didn’t know that. Have removed. Still failing. Basically I’ve followed instructions set out here but adapted to plug into an AWS RDS MariaDB database.

Current error log is this:

[Wed Jul 04 20:07:25.166711 2018] [php7:warn] [pid 20668] [client 10.100.xxx.xxx:60996] PHP Warning:  fileperms(): stat failed for /var/www/nextcloud/data/nextcloud.log in /var/www/nextcloud/lib/private/Log/File.php on line 136
[Wed Jul 04 20:07:25.166753 2018] [php7:notice] [pid 20668] [client 10.100.xxx.xxx:60996] {"reqId":"3Pk9jpTB1fY72CcREj8H","level":3,"time":"2018-07-04T20:07:25+00:00","remoteAddr":"10.100.xxx.xxx","user":"--","app":"PHP","method":"GET","url":"/index.php","message":"touch(): Unable to create file /var/www/nextcloud/config/config.php because Permission denied at /var/www/nextcloud/lib/private/Config.php#240","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36","version":""}
[Wed Jul 04 20:07:25.166827 2018] [php7:warn] [pid 20668] [client 10.100.xxx.xxx:60996] PHP Warning:  fileperms(): stat failed for /var/www/nextcloud/data/nextcloud.log in /var/www/nextcloud/lib/private/Log/File.php on line 136
[Wed Jul 04 20:07:25.166834 2018] [php7:notice] [pid 20668] [client 10.100.xxx.xxx:60996] {"reqId":"3Pk9jpTB1fY72CcREj8H","level":3,"time":"2018-07-04T20:07:25+00:00","remoteAddr":"10.100.xxx.xxx","user":"--","app":"PHP","method":"GET","url":"/index.php","message":"fopen(/var/www/nextcloud/config/config.php): failed to open stream: No such file or directory at /var/www/nextcloud/lib/private/Config.php#241","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36","version":""}
[Wed Jul 04 20:07:25.166885 2018] [php7:warn] [pid 20668] [client 10.100.xxx.xxx:60996] PHP Warning:  fileperms(): stat failed for /var/www/nextcloud/data/nextcloud.log in /var/www/nextcloud/lib/private/Log/File.php on line 136
[Wed Jul 04 20:07:25.166891 2018] [php7:notice] [pid 20668] [client 10.100.xxx.xxx:60996] {"reqId":"3Pk9jpTB1fY72CcREj8H","level":3,"time":"2018-07-04T20:07:25+00:00","remoteAddr":"10.100.xxx.xxx","user":"--","app":"PHP","method":"GET","url":"/index.php","message":"chmod(): No such file or directory at /var/www/nextcloud/lib/private/Config.php#244","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36","version":""}
[Wed Jul 04 20:07:25.187308 2018] [php7:warn] [pid 20668] [client 10.100.xxx.xxx:60996] PHP Warning:  fileperms(): stat failed for /var/www/nextcloud/data/nextcloud.log in /var/www/nextcloud/lib/private/Log/File.php on line 136
[Wed Jul 04 20:07:25.187326 2018] [php7:notice] [pid 20668] [client 10.100.xxx.xxx:60996] {"reqId":"3Pk9jpTB1fY72CcREj8H","level":3,"time":"2018-07-04T20:07:25+00:00","remoteAddr":"10.100.xxx.xxx","user":"--","app":"PHP","method":"GET","url":"/index.php","message":"fileperms(): stat failed for /var/www/nextcloud/data/nextcloud.log at /var/www/nextcloud/lib/private/Log/File.php#136","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36","version":""}
[Wed Jul 04 20:07:25.187336 2018] [php7:notice] [pid 20668] [client 10.100.xxx.xxx:60996] {"reqId":"3Pk9jpTB1fY72CcREj8H","level":3,"time":"2018-07-04T20:07:25+00:00","remoteAddr":"10.100.xxx.xxx","user":"--","app":"index","method":"GET","url":"/index.php","message":"Exception: {\"Exception\":\"OC\HintException\",\"Message\":\"Can't write into config directory!\",\"Code\":0,\"Trace\":\"#0 /var/www/nextcloud/lib/private/Config.php(132): OC\Config->writeData()\n#1 /var/www/nextcloud/lib/private/SystemConfig.php(100): OC\Config->setValue('instanceid', 'ocd363rcll2v')\n#2 /var/www/nextcloud/lib/private/legacy/util.php(1166): OC\SystemConfig->setValue('instanceid', 'ocd363rcll2v')\n#3 /var/www/nextcloud/lib/base.php(427): OC_Util::getInstanceId()\n#4 /var/www/nextcloud/lib/base.php(664): OC::initSession()\n#5 /var/www/nextcloud/lib/base.php(1081): OC::init()\n#6 /var/www/nextcloud/index.php(40): require_once('/var/www/nextcl...')\n#7 {main}\",\"File\":\"/var/www/nextcloud/lib/private/Config.php\",\"Line\":251,\"Hint\":\"This can usually be fixed by giving the webserver write access to the config directory. See https://docs.nextcloud.com/server/13/go.php?to=admin-dir_permissions\"}","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36","version":""}
[Wed Jul 04 20:07:25.187550 2018] [php7:warn] [pid 20668] [client 10.100.xxx.xxx:60996] PHP Warning:  fileperms(): stat failed for /var/www/nextcloud/data/nextcloud.log in /var/www/nextcloud/lib/private/Log/File.php on line 136
[Wed Jul 04 20:07:25.187557 2018] [php7:notice] [pid 20668] [client 10.100.xxx.xxx:60996] {"reqId":"3Pk9jpTB1fY72CcREj8H","level":3,"time":"2018-07-04T20:07:25+00:00","remoteAddr":"10.100.xxx.xxx","user":"--","app":"PHP","method":"GET","url":"/index.php","message":"fileperms(): stat failed for /var/www/nextcloud/data/nextcloud.log at /var/www/nextcloud/lib/private/Log/File.php#136","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36","version":""}
[Wed Jul 04 20:07:25.187565 2018] [php7:notice] [pid 20668] [client 10.100.xxx.xxx:60996] {"reqId":"3Pk9jpTB1fY72CcREj8H","level":3,"time":"2018-07-04T20:07:25+00:00","remoteAddr":"10.100.xxx.xxx","user":"--","app":"index","method":"GET","url":"/index.php","message":"Exception: {\"Exception\":\"Doctrine\DBAL\DBALException\",\"Message\":\"Failed to connect to the database: An exception occured in driver: could not find driver\",\"Code\":0,\"Trace\":\"#0 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(992): OC\DB\Connection->connect()\n#1 /var/www/nextcloud/lib/private/DB/Connection.php(216): Doctrine\DBAL\Connection->executeUpdate('PRAGMA read_unc...', Array, Array)\n#2 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(623): OC\DB\Connection->executeUpdate('PRAGMA read_unc...')\n#3 /var/www/nextcloud/lib/private/DB/Connection.php(151): Doctrine\DBAL\Connection->setTransactionIsolation(2)\n#4 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php(172): OC\DB\Connection->__construct(Array, Object(Doctrine\DBAL\Driver\PDOSqlite\Driver), Object(Doctrine\DBAL\Configuration), Object(Doctrine\Common\EventManager))\n#5 /var/www/nextcloud/lib/private/DB/ConnectionFactory.php(152): Doctrine\DBAL\DriverManager::getConnection(Array, Object(Doctrine\DBAL\Configuration), Object(Doctrine\Common\EventManager))\n#6 /var/www/nextcloud/lib/private/Server.php(628): OC\DB\ConnectionFactory->getConnection('sqlite', Array)\n#7 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(*** sensitive parameters replaced ***)\n#8 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): Pimple\Container->offsetGet('OCP\IDBConnecti...')\n#9 /var/www/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('OCP\IDBConnecti...')\n#10 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(164): OC\ServerContainer->query('OCP\IDBConnecti...')\n#11 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(109): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(*** sensitive parameters replaced ***)\n#12 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): Pimple\Container->offsetGet('DatabaseConnect...')\n#13 /var/www/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('DatabaseConnect...')\n#14 /var/www/nextcloud/lib/private/Server.php(1511): OC\ServerContainer->query('DatabaseConnect...')\n#15 /var/www/nextcloud/lib/private/Server.php(444): OC\Server->getDatabaseConnection()\n#16 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(*** sensitive parameters replaced ***)\n#17 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): Pimple\Container->offsetGet('OC\AppConfig')\n#18 /var/www/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('OC\AppConfig')\n#19 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(164): OC\ServerContainer->query('OC\AppConfig')\n#20 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(109): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(*** sensitive parameters replaced ***)\n#21 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): Pimple\Container->offsetGet('AppConfig')\n#22 /var/www/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('AppConfig')\n#23 /var/www/nextcloud/lib/private/Server.php(1433): OC\ServerContainer->query('AppConfig')\n#24 /var/www/nextcloud/lib/private/Server.php(689): OC\Server->getAppConfig()\n#25 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(*** sensitive parameters replaced ***)\n#26 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): Pimple\Container->offsetGet('OC\App\AppManag...')\n#27 /var/www/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('OC\App\AppManag...')\n#28 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(164): OC\ServerContainer->query('OC\App\AppManag...')\n#29 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(109): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(*** sensitive parameters replaced ***)\n#30 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(116): Pimple\Container->offsetGet('AppManager')\n#31 /var/www/nextcloud/lib/private/ServerContainer.php(132): OC\AppFramework\Utility\SimpleContainer->query('AppManager')\n#32 /var/www/nextcloud/lib/private/Server.php(1684): OC\ServerContainer->query('AppManager')\n#33 /var/www/nextcloud/lib/private/legacy/template.php(301): OC\Server->getAppManager()\n#34 /var/www/nextcloud/index.php(53): OC_Template::printErrorPage('Can't write int...', 'This can usuall...')\n#35 {main}\",\"File\":\"/var/www/nextcloud/lib/private/DB/Connection.php\",\"Line\":64}","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36","version":""}
[Wed Jul 04 20:07:25.193820 2018] [php7:warn] [pid 20668] [client 10.100.xxx.xxx:60996] PHP Warning:  fileperms(): stat failed for /var/www/nextcloud/data/nextcloud.log in /var/www/nextcloud/lib/private/Log/File.php on line 136
[Wed Jul 04 20:07:25.193834 2018] [php7:notice] [pid 20668] [client 10.100.xxx.xxx:60996] {"reqId":"3Pk9jpTB1fY72CcREj8H","level":3,"time":"2018-07-04T20:07:25+00:00","remoteAddr":"10.100.xxx.xxx","user":"--","app":"PHP","method":"GET","url":"/index.php","message":"fileperms(): stat failed for /var/www/nextcloud/data/nextcloud.log at /var/www/nextcloud/lib/private/Log/File.php#136","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36","version":""}
[Wed Jul 04 20:07:25.193845 2018] [php7:notice] [pid 20668] [client 10.100.xxx.xxx:60996] {"reqId":"3Pk9jpTB1fY72CcREj8H","level":3,"time":"2018-07-04T20:07:25+00:00","remoteAddr":"10.100.xxx.xxx","user":"--","app":"PHP","method":"GET","url":"/index.php","message":"chmod(): No such file or directory at /var/www/nextcloud/lib/private/Log/File.php#137","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36","version":""}

OK I may have cracked it. sudo chown -R www-data:www-data /var/www/nextcloud

Resolved. Thanks for your help again.

OK. Great to hear that you succeed.

Next time you want to setup a Nextcloud server you may want to try:

In the devel branch you have the possibilty to use a RDS db instead of a local db server. Just set nc_db_host in the inventory file to RDS hostname.