SSH Restriktive Umgebung, Nextcloud, php und mysql  [GELÖST]

Locked
User avatar
DiscordDigital
Posts: 11
Joined: Thu 23. Sep 2021, 11:04
Contact:

SSH Restriktive Umgebung, Nextcloud, php und mysql

Post by DiscordDigital »

Sehr geehrte KeyHelp Community
Sehr geehrtes KeyHelp Team

Ich nutze Nextcloud auf KeyHelp und habe das Problem, dass wenn ich mich via restriktiver SSH Umgebung verbinde,
ich kein "php occ" ausführen kann, es gibt dann lediglich eine Fehlermeldung.

Ohne restriktive SSH Umgebung funktioniert es. Ich habe bereits probiert mysql in den "Restricted SSH environment" freizuschalten,
jedoch funktioniert auch so die Verbindung nicht.

Ich habe das Thema jetzt in Bedienung und Nutzung aufgenommen, da ich davon ausgehe dass ich etwas nicht richtig konfiguriert habe.
Folgende Fehlermeldung wirft occ von Nextcloud in der Restricted SSH Umgebung:

Code: Select all

An unhandled exception has been thrown:
Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2002] No such file or directory in /www/nextcloud/lib/private/DB/Connection.php:87
Stack trace:
#0 /www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1486): OC\DB\Connection->connect()
#1 /www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1014): Doctrine\DBAL\Connection->getWrappedConnection()
#2 /www/nextcloud/lib/private/DB/Connection.php(231): Doctrine\DBAL\Connection->executeQuery()
#3 /www/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php(210): OC\DB\Connection->executeQuery()
#4 /www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php(287): Doctrine\DBAL\Query\QueryBuilder->execute()
#5 /www/nextcloud/lib/private/AppConfig.php(344): OC\DB\QueryBuilder\QueryBuilder->execute()
#6 /www/nextcloud/lib/private/AppConfig.php(109): OC\AppConfig->loadConfigValues()
#7 /www/nextcloud/lib/private/AppConfig.php(300): OC\AppConfig->getApps()
#8 /www/nextcloud/lib/private/legacy/OC_App.php(961): OC\AppConfig->getValues()
#9 /www/nextcloud/lib/private/Server.php(685): OC_App::getAppVersions()
#10 /www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(160): OC\Server->OC\{closure}()
#11 /www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#12 /www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(127): Pimple\Container->offsetGet()
#13 /www/nextcloud/lib/private/ServerContainer.php(136): OC\AppFramework\Utility\SimpleContainer->query()
#14 /www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(56): OC\ServerContainer->query()
#15 /www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(182): OC\AppFramework\Utility\SimpleContainer->get()
#16 /www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(160): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#17 /www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(114): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#18 /www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(127): Pimple\Container->offsetGet()
#19 /www/nextcloud/lib/private/ServerContainer.php(136): OC\AppFramework\Utility\SimpleContainer->query()
#20 /www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(56): OC\ServerContainer->query()
#21 /www/nextcloud/lib/private/Server.php(1050): OC\AppFramework\Utility\SimpleContainer->get()
#22 /www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(160): OC\Server->OC\{closure}()
#23 /www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#24 /www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(127): Pimple\Container->offsetGet()
#25 /www/nextcloud/lib/private/ServerContainer.php(136): OC\AppFramework\Utility\SimpleContainer->query()
#26 /www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(56): OC\ServerContainer->query()
#27 /www/nextcloud/lib/private/Server.php(2010): OC\AppFramework\Utility\SimpleContainer->get()
#28 /www/nextcloud/lib/private/Files/View.php(118): OC\Server->getLockingProvider()
#29 /www/nextcloud/lib/private/Server.php(433): OC\Files\View->__construct()
#30 /www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(160): OC\Server->OC\{closure}()
#31 /www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#32 /www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(127): Pimple\Container->offsetGet()
#33 /www/nextcloud/lib/private/ServerContainer.php(136): OC\AppFramework\Utility\SimpleContainer->query()
#34 /www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(56): OC\ServerContainer->query()
#35 /www/nextcloud/lib/private/Server.php(1373): OC\AppFramework\Utility\SimpleContainer->get()
#36 /www/nextcloud/lib/base.php(594): OC\Server->boot()
#37 /www/nextcloud/lib/base.php(1083): OC::init()
#38 /www/nextcloud/console.php(48): require_once('/www/nextcloud/...')
#39 /www/nextcloud/occ(11): require_once('/www/nextcloud/...')
Gibt es da Einstellungen die ich noch vornehmen kann damit es vielleicht doch funktioniert?

Vielen Dank!
Mit freundlichen Grüßen
DiscordDigital
Blackmoon
Posts: 345
Joined: Sat 1. Dec 2018, 16:42

Re: SSH Restriktive Umgebung, Nextcloud, php und mysql

Post by Blackmoon »

Moin,
kann es sein, dass in der Konfigurationsdatei (./config/config.conf) von Nextcloud noch absolute Pfade drin stehen, die vor Aktivierung der SSH Jails gesetzt wurden?
User avatar
DiscordDigital
Posts: 11
Joined: Thu 23. Sep 2021, 11:04
Contact:

Re: SSH Restriktive Umgebung, Nextcloud, php und mysql

Post by DiscordDigital »

Blackmoon wrote: Mon 27. Sep 2021, 15:43 Moin,
kann es sein, dass in der Konfigurationsdatei (./config/config.conf) von Nextcloud noch absolute Pfade drin stehen, die vor Aktivierung der SSH Jails gesetzt wurden?
Hallo Blackmoon,

ich habe den Pfad angepasst in der config file, dann funktioniert allerdings Nextcloud nicht mehr, da der restriktive Pfad nur für SSH funktioniert.
In der SSH Sitzung funktioniert dann weiterhin "php occ" nicht. Ich denke nicht dass es daran liegt.

Trotzdem Danke für den Hinweis
Mit freundlichen Grüßen
DiscordDigital
User avatar
Alexander
Keyweb AG
Posts: 3810
Joined: Wed 20. Jan 2016, 02:23

Re: SSH Restriktive Umgebung, Nextcloud, php und mysql

Post by Alexander »

Grüße,

öffne einmal die Datei config/config.php im Nextcloud Ordner und ändere "localhost" zu "127.0.0.1".
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
DiscordDigital
Posts: 11
Joined: Thu 23. Sep 2021, 11:04
Contact:

Re: SSH Restriktive Umgebung, Nextcloud, php und mysql

Post by DiscordDigital »

Alexander wrote: Mon 27. Sep 2021, 16:47 Grüße,

öffne einmal die Datei config/config.php im Nextcloud Ordner und ändere "localhost" zu "127.0.0.1".
Hallo Alexander

Das löst tatsächlich das Problem mit der Datenbank-Verbindung, allerdings gibt es jetzt eine Fehlermeldung, dass der "datadirectory" Ordner nicht gefunden werden kann. Macht ja auch Sinn, in der Config steht der absolute Pfad, wenn ich ihn zum Pfad der SSH restriktiven Umgebung ändere, dann funktioniert "php occ", dann funktioniert jedoch die gesamte Nextcloud nicht mehr, da wo die SSH restriktive Umgebung nicht mehr wirkt der Pfad dann falsch ist.

Gibt es da noch eine elegante Lösung? Mir fällt spontan gerade keine ein
Mit freundlichen Grüßen
DiscordDigital
tab-kh
Posts: 450
Joined: Thu 22. Apr 2021, 23:06

Re: SSH Restriktive Umgebung, Nextcloud, php und mysql  [GELÖST]

Post by tab-kh »

DiscordDigital wrote: Mon 27. Sep 2021, 16:59 Das löst tatsächlich das Problem mit der Datenbank-Verbindung, allerdings gibt es jetzt eine Fehlermeldung, dass der "datadirectory" Ordner nicht gefunden werden kann. Macht ja auch Sinn, in der Config steht der absolute Pfad, wenn ich ihn zum Pfad der SSH restriktiven Umgebung ändere, dann funktioniert "php occ", dann funktioniert jedoch die gesamte Nextcloud nicht mehr, da wo die SSH restriktive Umgebung nicht mehr wirkt der Pfad dann falsch ist.

Gibt es da noch eine elegante Lösung? Mir fällt spontan gerade keine ein
Gibt es. Siehe z.B. hier: https://github.com/froonix/webhosting-m ... config.php
Also einfach eine Datei data.config.php im config-Verzeichnis erstellen mit dem verlinkten Inhalt. Das sollte das Problem beheben.

Edit: Klappt mit '/../data' natürlich nur, wenn deine datadirectory nicht woanders hin verschoben wurde. In dem Fall müsste dann dieser Pfad entsprechend angepasst werden.
User avatar
DiscordDigital
Posts: 11
Joined: Thu 23. Sep 2021, 11:04
Contact:

Re: SSH Restriktive Umgebung, Nextcloud, php und mysql

Post by DiscordDigital »

tab-kh wrote: Mon 27. Sep 2021, 17:08
DiscordDigital wrote: Mon 27. Sep 2021, 16:59 Das löst tatsächlich das Problem mit der Datenbank-Verbindung, allerdings gibt es jetzt eine Fehlermeldung, dass der "datadirectory" Ordner nicht gefunden werden kann. Macht ja auch Sinn, in der Config steht der absolute Pfad, wenn ich ihn zum Pfad der SSH restriktiven Umgebung ändere, dann funktioniert "php occ", dann funktioniert jedoch die gesamte Nextcloud nicht mehr, da wo die SSH restriktive Umgebung nicht mehr wirkt der Pfad dann falsch ist.

Gibt es da noch eine elegante Lösung? Mir fällt spontan gerade keine ein
Gibt es. Siehe z.B. hier: https://github.com/froonix/webhosting-m ... config.php
Also einfach eine Datei data.config.php im config-Verzeichnis erstellen mit dem verlinkten Inhalt. Das sollte das Problem beheben.

Edit: Klappt mit '/../data' natürlich nur, wenn deine datadirectory nicht woanders hin verschoben wurde. In dem Fall müsste dann dieser Pfad entsprechend angepasst werden.
Hat super funktioniert, vielen Dank!
Mit freundlichen Grüßen
DiscordDigital
Locked