Moodle-Datenbank auf zweitem Server

Moodle-Datenbank auf zweitem Server

von Jessica Maas -
Anzahl Antworten: 9
Hallo,

ich habe vor kurzem Moodle auf einem Windows Server 2003 installiert. Hat auch alles soweit gut geklappt. Allerdings möchte ich die Datenbank gern auslagern und auf einem zweiten Server (ebenfalls Windows Server 2003) laufen lassen.

Im config-file habe ich einen Eintrag gefunden, bei dem als Ort für die Datenbank "localhost" angegeben ist. Daher dachte ich, wenn ich dort die IP des anderen Servers angeben würde, könnte es klappen. Nunja, so einfach wars dann wohl doch nicht, denn das funktionierte leider nicht.

Die Datenbank ist bereits per Export -> Import auf den anderen Server übertragen worden.

Aber wie teile ich moodle jetzt mit, wo diese liegt sodass wieder alles funktioniert?

Grüße,

Jessica
Mittelwert:  -
Als Antwort auf Jessica Maas

Re: Moodle-Datenbank auf zweitem Server

von Jörg S. -
Dein Vorgehen sollte so schon korrekt sein. Gibt es auf der neuen Datenbank auch den gleichen User incl. Passwort wie auf dem alten Server? Kann der Moodle-Server auf den Datenbankserver zugreifen - oder ist z. B. der Zugriff auf die Datenbank generell nur für localhost möglich?

Was sagt der eingeschaltete Debug-Modus (ich hoffe mal, dass die alte Datenbank auch noch da ist zwinkernd)?

Viel Erfolg
Jörg
Als Antwort auf Jessica Maas

Re: Moodle-Datenbank auf zweitem Server

von Joerg Petschat -
Hallo Jessica,

eigentlich ist das schon der richtige Weg. Ich kenne mich jetzt nicht mit Windowssystem aus, aber auf dem entfernten Server muss die Datenbank für den externen Zugriff freigeschaltet werden und der Benutzer angepasst werden.

In der my.conf von mysql muss die bind-adresse auf die IP-Adresse des Datenbank Servers abgepasst werden (z.B. 192.168.1.200)

Der DB-Benutzer von moodle muss noch der Zugriff auf den Server erlaubt werden. Geht am Besten mit phpmyadmin.


Gruß, Jörg


Als Antwort auf Joerg Petschat

Re: Moodle-Datenbank auf zweitem Server

von Jessica Maas -
So, nachdem ich erst einmal andere Dinge zu tun hatte kann ich mich nun wieder diesem Problem widmen.

Das moodle-System ist frisch installiert, d.h. die Datenbank ist im Moment bis auf die standardmäßigen Einträge der Installation, etc. eher leer. Es kann also nicht viel kaputt gehen. Die beiden Server sind im Moment ein 1:1 Abbild voneinander (bis auf IPs, etc. natürlich).

Anschließend wollte ich aus dem einen Server den moodle-WebServer machen und aus dem Zweiten den Datenbank-Server und die jeweils andere Komponente wieder entfernen sobald alles funktioniert.
Alles ist im Moment nur ein Test-Aufbau, um zu sehen wie ich die Sache lösen kann bevor ich mich an das echte System wage.

So ganz habe ich allerdings noch nicht verstanden, wie ich die Verbindung zu dem zweiten Server hin bekomme. Ich habe in der "config.php" von moodle "$CFG->dbhost" von "localhost" zu der IP des Datenbank-Servers geändert.

Wenn ich moodle dann aber aufrufe, bekomme ich die Fehlermeldung:
Error: Database connection failed.
It is possible that the database is overloaded or otherwise not running properly.
The site administrator should also check that the database details have been correctly specified in config.php

Vielleicht liegt es ja an der von euch beschriebenen Ursache, dass die Datenbank für den externen Zugriff freigeschaltet werden muss, aber wie genau mache ich das bei MySQL?
Als Antwort auf Jessica Maas

Re: Moodle-Datenbank auf zweitem Server

von Jörg S. -
Wie richtest Du den Datenbank-User ein? Evtl. mit PHPMyAdmin? Da kannst Du direkt mitangeben, von wo aus der User Zugriff haben darf. (Schritt 2: http://www.opensourcefan.org/anleitungen/mysql/benutzer-anlegen/mitttels-phpmyadmin.html)

Normalerweise darf ein so angelegter User nur per localhost auf die Datenbank - hier müsste z. B. die IP des Moodle-Servers angegeben werden.
Als Antwort auf Jörg S.

Re: Moodle-Datenbank auf zweitem Server

von Jessica Maas -
Ah, ok damit bin ich schon mal einen Schritt weiter. Wenn ich beim Zugriff "Jeder Host" angebe, dann funktioniert moodle auch wieder auf dem ersten Server.
Allerdings möchte ich ja nicht, dass tatsächlich jeder Zugriff auf die Datenbank hat, sondern würde das gern auf den moodle-Server begrenzen.
Aber egal ob ich nun die IP oder den Servernamen angebe, es funktioniert nicht =/
Als Antwort auf Jessica Maas

Re: Moodle-Datenbank auf zweitem Server

von Jörg S. -
Jeder hat dann auch keinen Zugriff - nur der angelegte User, der aber von "jedem Ort der Welt". Aber auch nur, wenn Deine Datenbank physikalisch von außen erreichbar ist... Dennoch wäre es hier besser, wenn nur von der entsprechenden IP zugegriffen werden kann.

Was sagt denn das Error-Log von MySQL? Und welche IP hast Du eingetragen, bzw. welchen Servernamen? Laufen die beiden Server abgeschottet in einem lokalen Netzwerk - oder haben die schon "echte" IP's und Namen?

Viele Grüße
Jörg
Als Antwort auf Jörg S.

Re: Moodle-Datenbank auf zweitem Server

von Maik Riecken -
Du kannst in phpmyadmin Rechte an zwei - eigentlich noch mehr - Stellen setzen.

Du kannst z.B. den Zugriff auf MySQL generell von der IP <irgendeine_ip> erlauben. Du kannst auch einem Datenbankbenutzer den Zugriff von der IP <irgendeine_ip> erlauben.

Fall 1:
Der Zugriff auf MySQL ist von überall her gestattet. Der Datenbankbenutzer darf aber nur von lokal aus zugreifen => die Verbindung klappt nicht

Fall 2:
Der Datenbankbenutzer darf von überall aus zugreifen. Der Zugriff auf MySQL ist aber nur lokal gestattet => die Verbindung klappt nicht

Ich vermute bei dir irgendwo da ein Rechtewirrwarr.... Wo genau und wie stellst du die Rechte um?

Gruß,

Maik
Als Antwort auf Maik Riecken

Re: Moodle-Datenbank auf zweitem Server

von Jessica Maas -
Ich stelle die Rechte über phpMyAdmin im Tab "Rechte" ein. Dort habe ich einen Benutzer namens "moodleuser" angelegt, der vollen Zugriff auf die moodle-Datenbank besitzt.
Mit der Einstellung "Jeder Host" komme ich dann auch einwandfrei mit moodle auf die Datenbank. Gebe ich aber die IP des moodle-Servers stattdessen oder den Servernamen an (appserver03 - schon mit und ohne domain versucht), funktioniert es nicht mehr.
Ansonsten habe ich nichts umgestellt.
Als Antwort auf Jörg S.

Re: Moodle-Datenbank auf zweitem Server

von Jessica Maas -
Hm, stimmt auch wieder. Naja, aber sicherer wäre es dennoch, wenn ich den Zugriff auf ein paar ausgewählte Maschinen beschränken könnte.

Zum Error-Log mal eine ganz dumme Frage... wo genau wird das normalerweise angelegt? Entweder ich bin blind oder ich weiß auch nicht xD aber ich finde es einfach nicht.

Die Server haben im Moment nur lokale IPs wie z.B. 192.168.2.1 (es sind zu Test-Zwecken im Moment sogar nur virtuelle Server, die Verbindung untereinander klappt aber sonst einwandfrei).