Instalace Nextcloud

Ahoj,

chci instalovat Nextcloud na TurrisOmnia, grafický wizárd skončí neurčitou chybou při přístupu do databáze. Textový instalátor po zadání jména a hesla admina nextcloudu skončí takto:


Error while trying to create admin user: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused
Trace: #0 /srv/www/nextcloud/lib/private/DB/ConnectionAdapter.php(69): OC\DB\Exceptions\DbalException::wrap(Object(Doctrine\DBAL\Exception))
#1 /srv/www/nextcloud/lib/private/DB/MySqlTools.php(59): OC\DB\ConnectionAdapter->executeQuery(‘SELECT VERSION(…’)
#2 /srv/www/nextcloud/lib/private/DB/MySqlTools.php(39): OC\DB\MySqlTools->isMariaDBWithLargePrefix(Object(OC\DB\ConnectionAdapter))
#3 /srv/www/nextcloud/lib/private/Setup/MySQL.php(47): OC\DB\MySqlTools->supports4ByteCharset(Object(OC\DB\ConnectionAdapter))
#4 /srv/www/nextcloud/lib/private/Setup.php(354): OC\Setup\MySQL->setupDatabase(‘admin’)
#5 /srv/www/nextcloud/core/Command/Maintenance/Install.php(108): OC\Setup->install(Array)
#6 /srv/www/nextcloud/3rdparty/symfony/console/Command/Command.php(255): OC\Core\Command\Maintenance\Install->execute(Object(Symfony\Component\Console\Input\ArgvI
nput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#7 /srv/www/nextcloud/3rdparty/symfony/console/Application.php(1009): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvIn
put), Object(Symfony\Component\Console\Output\ConsoleOutput))
#8 /srv/www/nextcloud/3rdparty/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand(Object(OC\Core\Command\Maintenance\Instal
l), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#9 /srv/www/nextcloud/3rdparty/symfony/console/Application.php(149): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput
), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 /srv/www/nextcloud/lib/private/Console/Application.php(211): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Obj
ect(Symfony\Component\Console\Output\ConsoleOutput))
#11 /srv/www/nextcloud/console.php(100): OC\Console\Application->run()
#12 /srv/www/nextcloud/occ(11): require_once(’/srv/www/nextcl…’)
#13 {main}

Previous: Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused
Trace: #0 /srv/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1519): OC\DB\Connection->connect()
#1 /srv/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1041): Doctrine\DBAL\Connection->getWrappedConnection()
#2 /srv/www/nextcloud/lib/private/DB/Connection.php(261): Doctrine\DBAL\Connection->executeQuery(‘SELECT VERSION(…’, Array, Array, NULL)
#3 /srv/www/nextcloud/lib/private/DB/ConnectionAdapter.php(66): OC\DB\Connection->executeQuery(‘SELECT VERSION(…’, Array, Array)
#4 /srv/www/nextcloud/lib/private/DB/MySqlTools.php(59): OC\DB\ConnectionAdapter->executeQuery(‘SELECT VERSION(…’)
#5 /srv/www/nextcloud/lib/private/DB/MySqlTools.php(39): OC\DB\MySqlTools->isMariaDBWithLargePrefix(Object(OC\DB\ConnectionAdapter))
#6 /srv/www/nextcloud/lib/private/Setup/MySQL.php(47): OC\DB\MySqlTools->supports4ByteCharset(Object(OC\DB\ConnectionAdapter))
#7 /srv/www/nextcloud/lib/private/Setup.php(354): OC\Setup\MySQL->setupDatabase(‘admin’)
#8 /srv/www/nextcloud/core/Command/Maintenance/Install.php(108): OC\Setup->install(Array)
#9 /srv/www/nextcloud/3rdparty/symfony/console/Command/Command.php(255): OC\Core\Command\Maintenance\Install->execute(Object(Symfony\Component\Console\Input\ArgvI
nput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 /srv/www/nextcloud/3rdparty/symfony/console/Application.php(1009): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvI
nput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 /srv/www/nextcloud/3rdparty/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand(Object(OC\Core\Command\Maintenance\Insta
ll), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 /srv/www/nextcloud/3rdparty/symfony/console/Application.php(149): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInpu
t), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 /srv/www/nextcloud/lib/private/Console/Application.php(211): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Obj
ect(Symfony\Component\Console\Output\ConsoleOutput))
#14 /srv/www/nextcloud/console.php(100): OC\Console\Application->run()
#15 /srv/www/nextcloud/occ(11): require_once(’/srv/www/nextcl…’)
#16 {main}
ERROR: Installation failed


Pokus o následné připojení do databáze mysql skončí v nefukčním stavu s chybou

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysql/mysql.sock’ (2)

Co s tím ?

Děkuji,

Ruda

Ještě dodatek - před pokusem o instalaci Nextcloudu databáze samozřejmě funguje.

Ruda

Zdravím,
soubor /var/run/mysql/mysql.sock existuje? Uživatel na kterém vám běží nextcloud na něj má práva?

Ahoj,

právě že po této chybě už neexistuje.

Já jsem ale už ten problém vyřešil. Je chyba v instalačním programu.

Nefunguje webová instalace ani instalace bash scriptem. V scriptu je chyba (špatné pořadí sql příkazů, které zakládají databázi pro nextcloud.

Založil jsme ji ručně, příslušnou část jsem zakomentoval a pak instalace proběhla na první pokus v pořádku.

Ruda

1 Like

Zdravím,

zkoušel jsem instalaci nextcloudu na routeru turris1x v default stavu, ale u mě chyba nenastala, vše proběhlo jak mělo včetně vytvoření databáze, nastavení uživatele v php a následného zalogování do nextcloudu.
Ještě vyzkouším to samé i na Omnii, protože jak se dívám používáte právě tu a ještě bych se Vám ozval jak jsem pochodil.

Tom

1 Like

Zdravím,

ano mám Omnii.

Po vyřešení problému jsem už žádné pokusy nedělal.

Ale jeví se mi to tak, že ve scriptu pro instalaci nextcloudu (zde je část):

echo "
CREATE DATABASE nextcloud;
FLUSH PRIVILEGES;
CREATE USER ‘nextcloud’@‘localhost’ IDENTIFIED BY ‘$DBPASS’;
GRANT ALL PRIVILEGES ON nextcloud.* TO ‘nextcloud’@‘localhost’;
CREATE USER ‘nextcloud’@‘127.0.0.1’ IDENTIFIED BY ‘$DBPASS’;
GRANT ALL PRIVILEGES ON nextcloud.* TO ‘nextcloud’@‘127.0.0.1’;
" | mysql -u root -B --socket=/tmp/mysql_nextcloud.sock || die “Creating Nextcloud database failed”

Chybí za “GRANT …” ještě FLUSH PRIVILEGES;

Tj. ať tam zadám cokoli, nikdy to neprojde.

Ale jak jsem psal, jestli to tak opravdu je nevím, další pokusy jsem nedělal. Ve webové verzi bude určitě něco podobného.

Ruda