MySQL-Datenbank über das Internet erreichen

Status
Für weitere Antworten geschlossen.

Phips_CH

Benutzer
Mitglied seit
26. Jun 2010
Beiträge
31
Punkte für Reaktionen
0
Punkte
6
Hallo zusammen

Ich möchte mir eine mySQL-Datenbank erstellen und mittels PHP-Formular über das Internet andern Usern zugänglich machen. So das sie einträge tätigen können und Informationen auch abrufbar sind.

Irgendwo im Internet hab ich gelesen, dass dies standartmässig nur innerhalb des lokalen Netzwerk möglich ist.
Was muss ich machen, damit dies möglich ist?

Ich hab meine DS210j an einer FritzBox 7270 angeschlossen.

Da ich noch nicht sehr viel über Netztwerkverbinungen etc. bescheid weiss, bin ich auf Eure Hilfe angewisen.

Besten Dank schon jetzt.

Grüsse aus der Schweiz
Phips_CH
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Du willst mysql nicht wirklich aus dem Internet erreichbar machen (zumindest bin ich ziemlich sicher). Normalerweise laufen diese Formulare ja auf dem Webserver und der befindet sich meist im gleichen Subnetz wie der mysql Server. Damit kann der Webserver auch auf mysql zugreifen, auch wenn mysql vom Internet her ned erreichbar ist.
Es gibt schon einige Fälle wo man mysql wirklich aus dem Internet her erreichbar machen muss, aber in 99.9999% der Webserveranwendungen reicht es wenn der Webserver selber auf die DB zugreifen kann. Der Client (Browser) braucht nur Zugriff auf den Webserver und keinen direkten mysql Zugriff
 

HarryPotter

Benutzer
Mitglied seit
24. Aug 2007
Beiträge
2.156
Punkte für Reaktionen
0
Punkte
0
Am Router Port 3306 auf die DS weiterleiten und einem mysql Benutzer statt "localhost" Rechte für entweder seine externe IP oder aber "%" zuweisen, was bedeutet, er kann von überall her auf die DB zugreifen. Erledigen tut man das mit phpmyadmin.
 

Phips_CH

Benutzer
Mitglied seit
26. Jun 2010
Beiträge
31
Punkte für Reaktionen
0
Punkte
6
huch das ging aber schnell.

also das geht mir nun doch etwas zu schnell.
ich hab an meinem Router den Port 3306 freigegeben. stimmt es wenn ich bei "Protokoll" TCP wähle?

In phpMyAdmin hab ich einen Benutzer erstellt und ihm alle Rechte erteilt und bei Host steht nun ein "%".

Nunn möchte ich in Dreamweaver von Adobe eine Verbindung zur Datenbank erstellen und da geht mein Problem in eine weitere Runde.
der Servername müsste dann % sein oder?

wenn ich mich bei phpMyAdmin neu mit dem soeben erstellten Benutzer anmelde steht bei Benutzer "Benutzername@localhost" dies scheint mir etwas komisch.
Mach ich beim erstellen des Benutzers etwas falsch?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Nochmal und DEUTLICH: PHP Scripte die auf dem Webserver laufen setzen NICHT voraus, dass die DB direkt aus dem Internet erreichbar ist! Der Zugriff vom Webserver an die DB erfolgt lokal im LAN oder direkt auf der DS via localhost.
mysql ins Internet zu öffnen sollte man sich genau überlegen, weil wie gesagt die Serverscripte im LAN auf die DB zugreifen und das keinen Internetzugriff auf die DB benötigt.
Du musst nur Port 80 resp 443 (https) für den Webserver auf der DS am Router öffnen und 3306 wieder schliessen.
 

HarryPotter

Benutzer
Mitglied seit
24. Aug 2007
Beiträge
2.156
Punkte für Reaktionen
0
Punkte
0
Ja aber wenn man halt das Script oder ein Datenbankmanagment Programm extern laufen lassen will, dann gehts so wie ich beschrieben habe.

Der Servername ist deine Dyndns Adresse oder deineexterne IP ("%" bedeutet dass er von jeder IP aus darauf zugreifen kann).
 

Phips_CH

Benutzer
Mitglied seit
26. Jun 2010
Beiträge
31
Punkte für Reaktionen
0
Punkte
6
hmmmm....
ist jetzt ein bischech verwirrend.
Port 3306 öffnen/schliessen...? und was ich jetzt mit wem verbinden muss und was eben nicht.

Ich möchte lediglich eine Webseite erstellen, wo User ihre Daten eingeben können. Die dann in die Datenbank gelegt werden sollen.

Über eine Dyndns Adresse erreich auch ohne weiteres die Seiten die auch dem WebServer der DS liegen.

Dann lass ich in phpMyAdmin bei der Rechte den Host auf % stehen und bei der Verbindung zur DB wähl ich den Servername der Dyndns Adresse.

Werde mich später nochmals melden ob ich erfolgreich war.
 

thedude

Benutzer
Mitglied seit
30. Nov 2009
Beiträge
2.244
Punkte für Reaktionen
2
Punkte
84
Aufgrund deines letzten Kommentars, ist auf jeden Fall sicher: Du musst MySQL nicht von aussen öffnen. Das was du willst geht so wie jahlives es beschreibt. Die Maßnahmen von HP sind für andere Sachen gedacht.

Gruß
Dude
 

Phips_CH

Benutzer
Mitglied seit
26. Jun 2010
Beiträge
31
Punkte für Reaktionen
0
Punkte
6
Besten Dank nun bin ich wieder ein Stück schlauer. nur das änder an meinem Problem noch nicht sehr viel.

Wieso schaffe ih es nicht eine Webseite zu erstellen, wo ich Benutzername und Passwort eingeben kann und mich weiterleiten auf die entsprechenden Seiten wenn der Zugang erfolgreich war oder eben nicht. Ich bleibe immer wieder wieder auf der Seite, mit den Logineingaben, hängen.

Ich verwende kein Apache da ich die Seite direkt auf dem Server Teste. PHP lauft ja auch.

Auch ein formular zu erstellen, wo ich Datensätze in eine Tabelle der mySQL-Datenbank schreibe funktioniert.
Also auch diese Verbindung steht.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Wieso schaffe ih es nicht eine Webseite zu erstellen, wo ich Benutzername und Passwort eingeben kann und mich weiterleiten auf die entsprechenden Seiten wenn der Zugang erfolgreich war oder eben nicht. Ich bleibe immer wieder wieder auf der Seite, mit den Logineingaben, hängen.

Ich verwende kein Apache da ich die Seite direkt auf dem Server Teste. PHP lauft ja auch.
Ohne zu wissen wie du die Userauthentifizierung machen willst, kann man dazu nicht viel sagen.
Auf was für einem Server testest du denn?
 

Phips_CH

Benutzer
Mitglied seit
26. Jun 2010
Beiträge
31
Punkte für Reaktionen
0
Punkte
6
Ups Sorry ganz vergessen

ich bin dabei mirch mit Dreamweaver von Adobe etwas vertraut zu machen.

Dort gibt es die Möglichkeit "Benutzer anzumelden" einzufügen. ich kann das Serverhalten dem Formular zuweisen, aber beim ausführen happert es nach wie vor.

Ich teste die Seite direkt auf dem Server.
 

Phips_CH

Benutzer
Mitglied seit
26. Jun 2010
Beiträge
31
Punkte für Reaktionen
0
Punkte
6
Hab mir auf dem Server einen Unterordner erstellt, wo ich die Daten Testen kann.

Aber auch dort funktioniert das "Benutzername anmelden" nicht.

Wäre es für mich hilfreich, diese Problem hier im Forum, mit einem anderen Titel neu zu erstellen?
Nach eurer Hilfe hab ich ja gelernt, dass dies mit dem Verbinden der Datenbank mit dem Internet nichts zu tun hat.

Es würde mich sher freuen wenn es eine Lösung für mein Problem geben würde.

Gruss
Phips_CH
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Ich sag es mal so: Dreamwiever ist für mich kein brauchbarer Editor, v.a. nicht für Anfänger. Solche Codegeneratoren sind heikel, weil du dann nicht weisst wie es wirklich gemacht wird und du im Fehlerfalle daher keinen Plan hast wie du das gerade biegen kannst.
Klar kann nicht jeder am Anfang gleich PHP und HTML lernen. Aber zum Verständnis solcher Generatoren ist es von Vorteil, wenn man eine Vorstellung davon hat wie der generierte Code ausschauen sollte. Und v.a. auch versteht was der Code tut.
Ohne zu wissen wie der Code ausschaut, der durch "Benutzer anmelden" erstellt wird, ist es sehr sehr schwierig zu sagen wo das Problem liegen könnte
 

Hruendel

Benutzer
Mitglied seit
14. Jun 2008
Beiträge
374
Punkte für Reaktionen
1
Punkte
24
Also...

Auf die Datenbank kann man zum beispiel über die Scripte wie PHP zugreifen. Dabei liegen die Skripte (PHP Anwendungen wie Joomla, PHPMyAdmin) auf der Diskstation in Ordner ../diskstation/web/xxx. So gibst du das auch im Browser ein. Um von Extern darauf zugreifen zu können muss man in der Fritzbox folgende Freigabe erstellen:

Aktiv:v
Bezeichnung: HTTP
Protokoll:TCP
Port:80
an Computer: lokale IP der Diskstation
an Port: 80

Unter z.B. http://www.geoiptool.com/de/ kann man seine externe IP erfahren. Wenn man sie im Browser eingibt sollte die Seite der Diskstation erscheinen.

Um auf die MySQL Datenbank direkt zugreifen zu können muss im Dreamveawer der Server, DB, Benutzer und Passwort angegeben werden.
Am besten unter PHPMyAdmin einen neuen Benutzer erstellen(unter Häuschen(links) -> Rechte(rechts) -> Neuen Benutzer hinzufügen -> Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte ) und dabei gleich eine Datenbank anlegen.

Beim Dreamveawer also: PHP-Datei anlegen -> Anwendungen (rechts unten) -> Datenbanken -> + -> Daten einegeben:

Verbindung: Xxx
Server: locale IP-Adresse der DS
DB: Datenbank
Benutzer: DB-User
Passwort: xxx

-> Testen - Wenn alles richtg dann kan man mit Dreamveawer arebieten.
 

Phips_CH

Benutzer
Mitglied seit
26. Jun 2010
Beiträge
31
Punkte für Reaktionen
0
Punkte
6
Hallo

Mann, mann, mann... ganz schön schwirig für mich.

Da ich es schaffe eine Verbindung zur Datenbank auf dem Webserver zu erstellen, und auch mit einem Formular, welches ich über eine dyndns.org erreiche, Datensätze in die Datenbank zu schreiben, geh ich mal davon aus das die Verbindung nicht das Problem sein sollte.

Eher denk ich das der Testserver ein wesentlicher Teil zum Problem dazubeiträgt.
Han jetzt einiges dran rumprobiert und dabei ist die Verbindung zum Testserver welcher bei mir ein Unterordner der Laufwerks ist, wo die eigentliche Website gespeichert ist.
Ich wollte noch einmal von Vorne beginnen und hab eine neue Web-Site erstellen wollen.
Nun bin ich soweit das ich es nicht einmal mehr schaffe einen Testserver einzurichten. Und somit auch keine Benutzeranmeldung generieren kann.

Ich habe mich damals für Dreamweaver entschieden weil er mir die Code zur Site generiert.
Es ist nicht so, dass mir die Code nichts sagen. ich kann sehr oft nachvollziehen was ddie Code bedeuten.
 

Hruendel

Benutzer
Mitglied seit
14. Jun 2008
Beiträge
374
Punkte für Reaktionen
1
Punkte
24
Was willst du überhaupt machen? Welche Seite oder Datenbank willst du erstellen?
 

Phips_CH

Benutzer
Mitglied seit
26. Jun 2010
Beiträge
31
Punkte für Reaktionen
0
Punkte
6
Also ganz von anfang

Mein Projekt sollte eine mySQL-Datenbank werden, die eine ganze Vereinsadministrations beinhalten soll.
Neben Adressverwaltung, möchte ich auch auch Termine verwalten können und auch Musiknoten und die dazugehörigen Stimmen ein- und wieder ausgeben können.

Da ich z.B. die Adresseingabe jedem Mitglied selber überlassen möchte, und er auch seine jeweilige Stimmt eines Musikstücks (als .pdf-File) selber ausdrucken können sollte, schien mir eine mySQL-Datenbank zusammen mit PHP als das richtige.

Ich habe angefangen mich in Dreamweaver von Adobe einzulesenund und mich an Formularen etc. geübt. Diese hab ich dann auf den Webserver meiner DS210j geladen welchen ich als Nezwerklaufwerk angezogen habe.

Da dieses Datenbank Vereinsintern genutzt werden sollte, und nicht jeder seinen "Müll" in meine DB schreiben kann, möchte ich das sich die Nutzer erst anmelden müssen. Die Benutzernamen und Passwörter möchte ich in einer Tabelle der DB hinterlegen.

Das erstellen von Formularen funktioniert, auch das Hosten auf meinen Webserver. Ich kann auch über das Internet via dyndns.org drauf zugreifen und Daten eingeben.
An meiner FritzBox 7270 hab ich den Port. 80 für meine DikStation freigegeben.

Nur das Benutzer anmelden funktioniert nicht. Bei Dreamweaver kann ich angeben, zu welchen Seiten ich bei einer erfolgreichen Anmeldung resp. einer fehlgeschlagenen Anmeldung gelangen soll. Ich bleib jedoch immer wieder im Formular hängen und die Textfelder sind wieder leer.

Ich testen die Site direkt auf dem Server. Ich speicher sie erst in einem Unterordner auf dem Netzwerklaufwerk.

Ich habe mehrmals dran rum probiert. Nun schaffe ich es nicht mehr eine Verbindung mit Dreamweaver zu meinem Testserver herzustellen. Und ohne diese Verbindung ist auch das erstellen des Serververhalten -> "Bennutzer anmelden" nicht möglich.

Grüsse aus der Schweiz
 

Hruendel

Benutzer
Mitglied seit
14. Jun 2008
Beiträge
374
Punkte für Reaktionen
1
Punkte
24
Willst du nicht etwas Fertiges verwenden? Es ist sehr viel Aufwand da selbst etwas Ordentliches zu programmieren.

Eine Groupware wie FengOffice könnte man dafür benutzen. Ist in 10 Minuten installiert und freigegeben. ... und keins Stress mit Dreamveawer. Jeder kann eigenen Bereich bekommen wo er Nachrichten, Dokumente, Kalender und alles andere verwaltet. Alles kann nach Gruppen freigegeben werden.

Wenn man es in Form einer Webseite, also öffentlich machen möchte kann man Drupal oder Joomla verwenden. Richtige Plugins und das wars.
 
Zuletzt bearbeitet:

Phips_CH

Benutzer
Mitglied seit
26. Jun 2010
Beiträge
31
Punkte für Reaktionen
0
Punkte
6
Der Weg ist das Ziel sein.

klar könnte ich ein fertiges Produkt verwenden. Aber ich möchte dazu auch etwas lernen. In diesem Fall sollte es Synology, PHP, mySQL und Dreamweaver sein.

allerdings bin ich mitlerweile mit dem falschen Titel hier im Forum, da ich anfänglich von einer möglichen falschen ursache des Problems ausgegangen bin.
 

Hruendel

Benutzer
Mitglied seit
14. Jun 2008
Beiträge
374
Punkte für Reaktionen
1
Punkte
24
Macht nichts, den Port erreicht man unter 3303, Server - Locale IP der Diskstation. Es kann sein, dass der Port durch die Firewall der DS gesperrt ist.

Ich würde MySQL Administration Software für Windows - MySQL Admin verwenden um Verbindung zu überprüffen. Ansosten ist es viel Aufwand PHP mit Dreamveawer zu lernen. In dem PHP-Forum bist du besser beraten.
 
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