Web-Install mit Datenbankzugriff über mysql.sock

Ich habe problemlos den setup-nextcloud.php installiert und gestartet. Das hat dann einige Dateien geladen. Aber ich hänge am “Installation abschließen”.

Und zwar ist meine mysql-Datenbank nur über einen mysql.sock erreichbar. Also weder Hostadresse (localhost oder 127.0.0.1) noch Hostadresse mit Portnummer.

Wie muß ich den Socket-Pfad eingeben damit nicht folgende Fehlermeldung erscheint (wenn ich statt “localhost” den vollen Pfadnamen eingebe):

Error while trying to create admin user: Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known

Vielen Dank.

Meines Wissens greift das mysql-Kommandozeilenprogramm immer per Socket auf die Datenbank zu, wenn als Host-Adresse “127.0.0.1” bzw. “localhost” in der Konfiguration angegeben wird. Mit den folgenden Parametern solltest Du explizit einen Socket-Zugriff
konfigurieren:

  'dbtype' => 'mysql',
  'dbhost' => 'localhost:/run/mysql/102/mysql.sock',
  'dbuser' => '>your-db-user>',
  'dbpassword' => '<your-db-password>',

Ich bin zwar nicht auf der Kommandozeile oder konfiguriere das von Hand, sondern über den Webinstaller, aber da ist eine Idee drin, die ich nicht nicht probiert habe:

statt “localhost” oder “localhost:port-nummer” auch “'localhost:/run/mysql/102/mysql.sock” (bzw. meinen Pfad)

Vielleicht kopiert der WebInstaller die Eingabe einfach nach ‘dbhost’ (und die anderen Felder nach ‘dbuser’, ‘dbpassword’).

Danke.

Ich habe jetzt beim Webinstaller eingegeben:

localhost:/var/run/mysql56/mysqld.sock

und das hat funktioniert. Bis auf diese Hürde war die Web-Installation wirklich extrem einfach.

Das Problem am Webinstaller bzw. die Verwendung einer Webspace-Variante ist eher, dass wenn dir das System beim nächsten oder übernächsten Upgrade zerstört wird und du keinen Zugriff über “occ” hast und “OCC Web” nicht richtig funktioniert, du frustriert über Nextcloud schimpfst. Für tatsächlich wichtige Daten würde ich persönlich entweder ein VPS mit Nextcloud nehmen oder mir einen Nextcloud Hoster suchen. Diese Webinstallation ist eher eine Krücke.

Falls du es doch behalten willst, sichere regelmäßig alle Daten und exportiere die Datenbank. Versuche zudem auf dieser Basis das System auf dem Webspace wieder hochzuziehen. Jetzt wo es neu ist hast du ja nicht viel zu verlieren.

… ich habe natürlich vollen Zugriff auf diesem lokalen Sandbox-Server (daher mysql auch nur über socket) incl. occ. Mir ging es erst mal darum eine neue Instanz mit dem Web-Installer (nicht Upgrader!) probehalber einzurichten um zu testen ob es auf diesem Server überhaupt läuft und welche Unterschiede Versionen 18 und 19 haben. Den Web-Installer kannte ich so auch noch nicht. Und bin sehr positiv überrascht.

Ja, dass man manche Dinge nur mit OCC machen kann kenne ich und ist frustrierend, wenn man es auf einem gehosteten Web-Space laufen hat der weder telnet noch ssh-Zugriff bietet.

Gerade bei Nexcloud-Hostern muß man das sehr genau anschauen… Da bin ich schon mal auf einen reingefallen, der zwar groß Nexcloud-Pakete anbietet aber dann keinen ssh-Zugriff auf occ ermöglichen kann.

Da war die Reparatur nach einem zerschossenen Web-Upgrade ziemlich mühsam.
Der Trick war das ganze Next-Cloud-Setup per ftp und mysqldump auf einen Rechner zu kopieren auf den man vollen Zugriff hat, dort occ anzuwenden und die Ergebnisse zurückzuspielen.

Also ich will mit meiner Aktion genau das verhindern, wovor Du warnst :slight_smile: So kann ich nämlich Updates auch erst mal auf meiner (jetzt rasch eingerichteten) lokalen Sandbox anschauen bevor ich das am Produktivsystem probiere. Und da war das “missing piece” nur wie ich den mysql.sock angebe.

Ok. Dann ist ja gut. Am besten ist es wohl, wenn man sich seine Nextcloud selbst auf einen VPS installiert, der im Monat auch nur 5 Euro kosten muss. Und bei größeren Installationen und echten Nextcloud-Hostern würde ich immer vertraglich verlangen, dass ich auch die MariaDB-Datenbank, die Installationsverzeichnisse und die Datenverzeichnisse für einen evtl. Providerwechsel immer abziehen kann bzw. bereitgestellt bekomme. Eine eigene Subdomain (cloud.firma.tld) ist selbstverständlich, damit bei einem möglichen Providerwechsel die geteilten Shares auch noch funktionieren. :wink: Und ja das alles kostet evtl. etwas mehr Geld und darf es dann auch gerne kosten.