WordPress - Fehler beim Aufbau einer Datenbankverbindung

Status
Für weitere Antworten geschlossen.

schoeli

Benutzer
Mitglied seit
23. Nov 2013
Beiträge
366
Punkte für Reaktionen
12
Punkte
24
Liebes Forum,

ich benötige bitte eure geschätzte Unterstützung.

Ich möchte auf meiner DS 1817+ WordPress manuell installieren und komme leider immer nur bis zu der Stelle, an der ich von WordPress die Fehlermeldung „Fehler beim Aufbau einer Datenbankverbindung (Bist du sicher, dass Benutzername und Passwort korrekt sind? Bist du sicher, dass du den richtigen Hostnamen eingegeben hast? Bist du sicher, dass der Datenbank-Server läuft?“ erhalte.

Folgende Voraussetzungen liegen vor:
1. Feste IP
2. Subdomain (1&1) „photo.domain.de“ eingerichtet und an die feste IP weitergeleitet (A-Eintrag bei den DNS-Einstellungen)
3. Sämtliche benötigte Ports weitergeleitet

DSM:
1. Webstation eingerichtet (Apache 2.4, PHP 5.6)
2. Virtueller Host eingerichtet (Hostname: „photo.domain.de“, Port 80/443, Dokumenten-Root: „web“, Apache 2.4, PHP 5.6)
3. MariaDB 10 installiert und die Datenbank „db_name“ erstellt (DB-Nutzer: „root“, Passwort eingerichtet)
4. phpMyAdmin installiert
5. Unterordner „Domain01“ im Ordner „web“ eingerichtet
6. Aktuelle WordPress-Version von der Original-WebSite geladen (Ordner „wordpress“) und im Unterordner „Domain01“ abgelegt
7. Die Datei „wp-config.php“ (generiert aus der Datei „wp-config-sample.php“) erstellt und folgende Einträge vorgenommen:

a) DB_Name: „db_name“
b) DB_User: „root“
c) DB_Password: „MeinPasswort“
d) DB_Host: Hier scheint evtl. der Fehler zu liegen: „localhost“; habe aber auch schon andere Einträge probiert, u. a.: „“photo.domain.de“, https://photo.domain.de“

Die Installationsroutine rufe ich im Browser wie folgt auf:

"https://photo.domain.de/domain01/wordpress/wp-admin/install.php"


Ich bin schon den ganzen Tag am Probieren und so langsam am Verzweifeln..;-) Wäre klasse, wenn jemand von euch die „zündende“ Idee hätte.

Liebe Grüße und vielen Dank im Voraus!!
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Probiere unter DB_Host mal 127.0.0.1 oder 127.0.0.1:3307
Der Port hat sich mit MariaDB10 von 3306 auf 3307 geändert.
 

bananie

Benutzer
Mitglied seit
14. Dez 2015
Beiträge
160
Punkte für Reaktionen
0
Punkte
0
Wenn der Tipp von @rednag nicht funktioniert, versuch es mal mit: localhost:/run/mysqld/mysqld10.sock
 

schoeli

Benutzer
Mitglied seit
23. Nov 2013
Beiträge
366
Punkte für Reaktionen
12
Punkte
24
Hallo rednag!

Du bist klasse! Hat funktioniert mit dem DB-Host: 127.0.0.1:3307! (Auch Dank an bananie!)

Vielen herzlichen Dank!

Eine "kleine" Frage wäre da noch:

Bei meinem Domain-Anbieter habe ich einen A-Eintrag für meine Domain "domain.de", der auf meine feste IP verweist (E-Mail-Server auf DSM). Für meine Subdomain "photo.domain.de" habe ich ebenfalls einen A-Eintrag auf die (gleiche) feste IP gesetzt.

Bei der Installation von WordPress ist diese nun wie folgt abgelegt: web/Domain01/wordpress.

Da ich für die Subdomain natürlich die Unterordner beim Aufruf weglassen will und schließlich lediglich "https://photo.domain.de" eingeben möchte, habe ich den DB-Eintrag bei "SiteUrl" und "Home" entsprechend geändert (und auch bei WordPress im Frontend).

Leider lande ich nun bei der Eingabe der URL "https://photo.domain.de" auf meiner DSM-Oberfläche ("domain.de:5001")!!

Mir fehlt hier offensichtlich noch ein wenig das Verständnis. Muss hier anstatt der Weiterleitung auf die IP ein CNAME vergeben werden? Oder muss ich bei der Installationsroutine die URL im Browser (hat bislang nicht geklappt) verändern?

Wäre toll, wenn ich auch hier etwas "Starthilfe" bekommen könnte!

Bis hierher jedoch schon einmal: Herzlichen Dank!
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Für die Subdomain muß ein CNAME eingetragen werden.
Du kannst auch mit einem vHost arbeiten.
 

schoeli

Benutzer
Mitglied seit
23. Nov 2013
Beiträge
366
Punkte für Reaktionen
12
Punkte
24
Also entweder CNAME oder vHOST (DSM)?

Und wenn ich mit einem vHost arbeite (DSM), dann wird bei den DNS-Einstellungen beim Domain-Anbieter gar nichts bei den DNS-Einstellungen eingetragen?
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Üblicherweise wird der CNAME-Record auf die DynDNS definiert. Auf der Syno kannst Du dann mit einem vHost arbeiten.
z. B. photo.domain.de heißt der vHost und das DocRoot ist /web/domain01/wordpress.
 

schoeli

Benutzer
Mitglied seit
23. Nov 2013
Beiträge
366
Punkte für Reaktionen
12
Punkte
24
Ok, aber ich habe ja eine feste IP.

Vielleicht verstehe ich da nur was falsch.


Ich habe bei meinem Domain-Anbieter neben der Domain "domain.de" noch eine Subdomain "Photo.domain.de" eingerichtet. Die Domain weist auf die feste IP (und die Subdomain bisher auch). Das scheint ja das Dilemma, oder?

Wenn ich nun also für die Subdomain den selben Namen als CNAME setze, soll das gehen? Brauche ich, wenn ich auf der DS einen vHost einrichte, dann überhaupt eine Subdomain bei meinem Domain-Anbieter?

Ich würde gern mit dem vHOST arbeiten und wäre dir dankbar, wenn du mir vielleicht nochmal etwas ausführlicher beschreiben könntest, was ich a) beim Domain-Anbieter und b) bei der DS einstellen muss.

Vielen lieben Dank!
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Mit einer festen IP braucht es kein CNAME oder anderes. Die Domain zeigt dann direkt auf die IP vom Anschluß.
Muss man nur dafür sorgen, dass die Ports offen sind und sich auf der DS jemand für die angefragte Domain zuständig fühlt.
Wenn sich niemand zuständig fühlt antwortet der Syno Webserver.
Wenn unter photo.domain.de direkt das Wordpress lauschen soll ist der vHost
photo.domain.de 80/443 und das Verzeichnis /web/domain01/wordpress
In der Wordpress config muss man das natürlich auch einstellen, dass er direkt unter sub.domain.de läuft und nicht irgendwelche links auf domain01/wordpress oder sonst wo hin erstellt.
Beim Domain-Anbieter selbst setzt man in den DNS Einstellungen nur den A/AAAA-Record
sub.domain.de > A-Record > feste IPv4/IPv6
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
Domain Anbieter:
photo.domain.de > A-Record > deine feste IP Adresse

Router:
Weiterleitung von Port 80/443 an die DS

DS:
vHost
Name: photo.domain.de
Haken bei 80/443
Document Root: /web/domain01/wordpress
eventuell die Firewall entsprechend öffnen, oder testweise deaktivieren

Dann sollte Wordpress direkt unter https://photo.domain.de erreichbar sein.
SiteURL etc in Wordpress hast du ja schon angepasst.
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
@Fusion kann das besser erklären. Der hat auch mehr Ahnung. :D
 

schoeli

Benutzer
Mitglied seit
23. Nov 2013
Beiträge
366
Punkte für Reaktionen
12
Punkte
24
In der WirdPress Config haben wir für die Installationsroutine doch 127.0.0.1:3307 eingestellt. Muss das nun in "Photo.domain.de:3307" geändert werden? Oder wie verweise ich auf die Subdomain?
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Nein, das hat nichts mit den Weiterleitung oder vHost von WordPress zu tun. Port 3307 ist einzig und alleine der Port für MariaDB10.
Der Traffic läuft ganz normal über http (Port 80) oder SSL/TLS (Port 443).
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
127.0.0.1 ist doch nur für die Datenbank-Konfiguration angegeben, das kann auch so bleiben.
 

schoeli

Benutzer
Mitglied seit
23. Nov 2013
Beiträge
366
Punkte für Reaktionen
12
Punkte
24
Ich werde mich in den nächsten Tagen erneut mit der Materie beschäftigen und euch eine Rückmeldung geben!

Vielen Dank bis hierhin und allen noch einen schönen Abend!!
 

schoeli

Benutzer
Mitglied seit
23. Nov 2013
Beiträge
366
Punkte für Reaktionen
12
Punkte
24
Ich hab`s hinbekommen!!!

Freue mich sehr! Euch allen vielen DANK!!!
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.954
Punkte für Reaktionen
11
Punkte
104
Wenn Du vieleicht noch ein paar Worte dazu schreibst, hilfst Du auch Usern welche vor ähnlichen Problemen stehen.
 

schoeli

Benutzer
Mitglied seit
23. Nov 2013
Beiträge
366
Punkte für Reaktionen
12
Punkte
24
Moin.

Das mache ich natürlich gern. Sorry..

Zuerst sämtliche relevante Einstellungen (welche ihr mir ja gegeben habt):

Domain Anbieter:
photo.domain.de > A-Record > feste IP Adresse

Router:
Weiterleitung von Port 80/443 an die DS

phpMyAdmin:
Datenbank anlegen

DS:
vHost
Name: photo.domain.de
Haken bei 80/443
Document Root: /web/domain01/wordpress
ggf. Zertifikat für Subdomain installieren

WP-config.php:
DB_NAME: Name der Datenbank
DB_USER: Benutzername
DB_PASSWORD: Passwort
DB_HOST: 127.0.0.1:3307

Den entscheidenden Fehler hatte ich bei der Eingabe des Dokumenten-Roots und der Installationsroutine im Browser gemacht:

Dadurch, dass ich im Dokumenten-Root zunächst nur auf die Ebene "web" (und nicht "web/domain01/wordpress") gegangen war, und die Installationsroutine im WebBrowser wie folgt aussah: "https://photo.domain.de/domain01/wordpress/wp-admin/install.php", war die Domain nach der Installation lediglich durch die zusätzliche Eingabe der Unterordner (domain01/wordpress) erreichbar.

Korrekt klappt die Installation wie folgt:

Dokumenten-Root:
"web/domain01/wordpress"

Installation starten(Eingabe der URL) im Browser:
"https://photo.domain.de/wp-admin/install.php"

Nochmals herzlichen Dank an alle geduldigen Helfer!

Eine Nachfrage, soweit relativ leicht zu beantworten;-):
Welche Parameter sind zu ändern, wenn es lediglich eine Website im INTRANET, also nur für die Nutzer im hauseigenen LAN/WLAN und nicht aus dem Internet zu erreichen, sein soll? Und muss ich ggf. Einstellungen in der WP-config.php vornehmen, da ja eine weitere Website hinzugekommen ist?
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
Geht es dir nur um eine Webseite, andere sollen aber trotzdem von außen erreichbar sein?

Im globalen Fall ist ja einfach, Port 80/443 im Router nicht weiterleiten.

Im lokalen Fall, also selektive Erreichbarkeit von Seiten kann man bei Apache Backends auf eine .htaccess setzen (unterschiedliche Syntax bei 2.2 und 2.4), bei nginx heißt der Gegenpart "Direktiven".
Damit lassen sich Anfragen an die Webserver nach IPs trennen (man würde da nur LAN erlauben und alle anderen verbieten).
Die .htaccess liegen z.b. direkt in den document roots der Seiten, ist also zugänglich über /web (Besitzer und Zugriffsrechte beachten).
Bei nginx muss man die Config Dateien bearbeiten, da führt glaube aktuell kein Weg am Zugriff via SSH/Telnet Konsole vorbei.

Edit
Wie das aussieht, wenn man innerhalb von Wordpress mehrere Seiten laufen hat weiß ich leider nicht, benutze kein CMS
 

schoeli

Benutzer
Mitglied seit
23. Nov 2013
Beiträge
366
Punkte für Reaktionen
12
Punkte
24
Hallo.

Ich möchte mehrere Websites parallel auf meiner DS betreiben, einige sollen über das Internet erreichbar sein, eine nur lokal (Intranet). Um letztere geht es mir bei meiner Frage (Abweichungen in der Konfiguration). Ich fürchte, dass mir deine fachkundigen Hinweise etwas zu "kryptisch sind", ich fürchte, ich bräuchte da eine etwas "einfachere" Erklärung. Auch ist mir nicht bekannt, wann und warum ich Apache nutzen muss/sollte, und wann "nginx". Ich kenne auch nicht deren Bedeutung und Unterschiede. Evtl. Kannst du ja auch dieses in verständlicher Weise erklären?

Vielen Dank im Voraus!
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat