jVerein lässt sich nicht mir mySQL Datenbank einrichten
Moderator: heiner
-
- Beiträge: 3
- Registriert: Donnerstag 12. April 2018, 21:36
- Verein: Makerspace Wiesbaden
- Mitglieder: 68
- JVerein-Version: 2.8.17
- Betriebssystem: Win 10
jVerein lässt sich nicht mir mySQL Datenbank einrichten
Hallo Community,
wir der Makerspace in Wiesbaden nutzen Jameica, Hibiscus, jVerein beinahe seit der Vereinsgründung und sind eigentlich sehr zufrieden damit.
Den Zugang zu den Vereinsräumen und die Nutzung unserer Maschinen werden mit DIY-Schaltungen(RFID-Tags, Raspberry, Arduino, XBee usw.) realisiert.
Dieses Zugangssystem nutzt eine mySQL Datenbank, die momentan nicht mit der Mitgliederdatenbank in jVerein synchronisiert ist.
Wir würden gerne beide Systeme aus einer Datenbank speisen und wollten eine frische Installation jVerein mit mySQL Datenbank realisieren - bisher leider ohne Erfolg.
Der jVerein Client soll auf einem 64-bit Desktop-PC mit Windows 10 laufen (Java 8, Jameica 2.6.6, Hibiskus 2.6.20, jVerein 2.8.17)
Der mySQL-Server ist ein HP-Server mit Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-119-generic x86_64) und
mySQL Rev. 14.14 Distrib 5.7.21, for Linux (x86_64)
So sind wir peinlichst der jVerein Dokumentation gefolgt und dabei auch die jVerein Datenbank in mySQL angelegt und sichergestellt, das in unserem Netzwerk zu dieser Datenbank sowohl geschrieben als auch gelesen werden kann.
Jameica & Hibiscus lassen sich ohne Probleme installieren und funktionieren auch.
Wenn wir das jVerein Plugin installieren (nachdem wir die dokumentierten Schritte ausgeführt haben), scheint es durchzulaufen, aber es erscheint der Hinweis "Fehler beim Initialisieren der Datenbank"
Im Log steht an mehreren Stellen:
"java.rmi.RemoteException: error while getting database service; nested exception is:
de.willuhn.util.ApplicationException: Der Service "database" wurde nicht gefunden"
Meine Frage wäre nun, hat von Euch aktuell jemand die jVerein Installation mit einer mySQL-Datenbank realisieren können - oder ist das momentan generell nicht möglich, was sehr schade wäre.
Oder vielleicht hat von Euch auch jemand eine Idee, was die Fehlermeldung bedeuten könnte?
Auf jeden Fall kann jVerein nicht eingerichtet werden, da irgendwie keine Verbindung zur Datenbank möglich ist.
Jeder Tipp der uns auch nur ein bisschen weiter bringt, wäre Gold wert.
Gruß
Dieter vom makerspace-wi.de
wir der Makerspace in Wiesbaden nutzen Jameica, Hibiscus, jVerein beinahe seit der Vereinsgründung und sind eigentlich sehr zufrieden damit.
Den Zugang zu den Vereinsräumen und die Nutzung unserer Maschinen werden mit DIY-Schaltungen(RFID-Tags, Raspberry, Arduino, XBee usw.) realisiert.
Dieses Zugangssystem nutzt eine mySQL Datenbank, die momentan nicht mit der Mitgliederdatenbank in jVerein synchronisiert ist.
Wir würden gerne beide Systeme aus einer Datenbank speisen und wollten eine frische Installation jVerein mit mySQL Datenbank realisieren - bisher leider ohne Erfolg.
Der jVerein Client soll auf einem 64-bit Desktop-PC mit Windows 10 laufen (Java 8, Jameica 2.6.6, Hibiskus 2.6.20, jVerein 2.8.17)
Der mySQL-Server ist ein HP-Server mit Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-119-generic x86_64) und
mySQL Rev. 14.14 Distrib 5.7.21, for Linux (x86_64)
So sind wir peinlichst der jVerein Dokumentation gefolgt und dabei auch die jVerein Datenbank in mySQL angelegt und sichergestellt, das in unserem Netzwerk zu dieser Datenbank sowohl geschrieben als auch gelesen werden kann.
Jameica & Hibiscus lassen sich ohne Probleme installieren und funktionieren auch.
Wenn wir das jVerein Plugin installieren (nachdem wir die dokumentierten Schritte ausgeführt haben), scheint es durchzulaufen, aber es erscheint der Hinweis "Fehler beim Initialisieren der Datenbank"
Im Log steht an mehreren Stellen:
"java.rmi.RemoteException: error while getting database service; nested exception is:
de.willuhn.util.ApplicationException: Der Service "database" wurde nicht gefunden"
Meine Frage wäre nun, hat von Euch aktuell jemand die jVerein Installation mit einer mySQL-Datenbank realisieren können - oder ist das momentan generell nicht möglich, was sehr schade wäre.
Oder vielleicht hat von Euch auch jemand eine Idee, was die Fehlermeldung bedeuten könnte?
Auf jeden Fall kann jVerein nicht eingerichtet werden, da irgendwie keine Verbindung zur Datenbank möglich ist.
Jeder Tipp der uns auch nur ein bisschen weiter bringt, wäre Gold wert.
Gruß
Dieter vom makerspace-wi.de
-
- Beiträge: 134
- Registriert: Freitag 7. Oktober 2016, 18:58
- Verein: 1. TC Sankt Augustin
- Mitglieder: 320
- JVerein-Version: 2.8.15
- Betriebssystem: Windows 10 / MacOS
Re: jVerein lässt sich nicht mir mySQL Datenbank einrichten
Hallo Dieter,
das funktioniert auf jeden Fall.
Ich selbst nutze die MySQL-Datenbank auf einem Raspberry, meine Kollegen und ich greifen per Internet und dem JVerein-Client darauf zu.
Die Meldung aus dem log ist eine Allerwelt-Meldung und kann alles bedeuten.
Liegen denn Euer JVerein-Client (Win10) und der SQL-Server (HP) im gleichen Netz?
Ich kann mich dumpf erinnern, dass ich seinerzeit bei Linux/MySQL (ich habe auch Ubuntu genutzt) zu Beginn auch ein Problem hatte, irgend ein Einstellungsproblem unter MySQL (in der neueren SQL-Version), da müsste ich noch mal forschen was das war.
Zunächst würde ich folgendes machen:
- sicherstellen, dass Jverein auch wirklich auf die MySQL-Datenbank zugreift (dazu muss JVerein die Datei de.jost_net.JVerein.rmi.JVereinDBService.properties benutzen, welche normalerweise im Verzeichnis /programme/jameica/cfg liegt)
- der Inhalt der Datei sieht etwa so aus:
database.driver=de.jost_net.JVerein.server.DBSupportMySqlImpl
database.driver.mysql.jdbcurl=jdbc\:mysql\://mewwkc92u0ys1e9g.myfritz.net\:3306/jverein?useUnicode\=Yes&characterEncoding\=ISO8859_1
database.driver.mysql.username=???????
database.driver.mysql.password=???????
database.driver.mysql.scriptprefix=mysql-
- im Log müsste zumindest stehen, dass versucht wurde auf den MySQL-Pfad aus obiger Datei zuzugreifen. Wenn das nicht der Fall ist, dann wurde vermutlich die obige Datei in cfg nicht benutzt oder nicht gefunden
Vielelicht hilft das ja schon mal weiter!
Gruß
Wolfgang
das funktioniert auf jeden Fall.
Ich selbst nutze die MySQL-Datenbank auf einem Raspberry, meine Kollegen und ich greifen per Internet und dem JVerein-Client darauf zu.
Die Meldung aus dem log ist eine Allerwelt-Meldung und kann alles bedeuten.
Liegen denn Euer JVerein-Client (Win10) und der SQL-Server (HP) im gleichen Netz?
Ich kann mich dumpf erinnern, dass ich seinerzeit bei Linux/MySQL (ich habe auch Ubuntu genutzt) zu Beginn auch ein Problem hatte, irgend ein Einstellungsproblem unter MySQL (in der neueren SQL-Version), da müsste ich noch mal forschen was das war.
Zunächst würde ich folgendes machen:
- sicherstellen, dass Jverein auch wirklich auf die MySQL-Datenbank zugreift (dazu muss JVerein die Datei de.jost_net.JVerein.rmi.JVereinDBService.properties benutzen, welche normalerweise im Verzeichnis /programme/jameica/cfg liegt)
- der Inhalt der Datei sieht etwa so aus:
database.driver=de.jost_net.JVerein.server.DBSupportMySqlImpl
database.driver.mysql.jdbcurl=jdbc\:mysql\://mewwkc92u0ys1e9g.myfritz.net\:3306/jverein?useUnicode\=Yes&characterEncoding\=ISO8859_1
database.driver.mysql.username=???????
database.driver.mysql.password=???????
database.driver.mysql.scriptprefix=mysql-
- im Log müsste zumindest stehen, dass versucht wurde auf den MySQL-Pfad aus obiger Datei zuzugreifen. Wenn das nicht der Fall ist, dann wurde vermutlich die obige Datei in cfg nicht benutzt oder nicht gefunden
Vielelicht hilft das ja schon mal weiter!
Gruß
Wolfgang
-
- Beiträge: 134
- Registriert: Freitag 7. Oktober 2016, 18:58
- Verein: 1. TC Sankt Augustin
- Mitglieder: 320
- JVerein-Version: 2.8.15
- Betriebssystem: Windows 10 / MacOS
Re: jVerein lässt sich nicht mir mySQL Datenbank einrichten
Noch ein Kommentar:
unter Windows wird die Datei de.jost_net.JVerein.rmi.JVereinDBService.properties eventuell auch im Benutzerverzeichnis geführt (c:/benutzer/<name>/.jameica/cfg ) - etwas verwirrend - eventuell findet der Java-Client die Datei nicht. Und ich erinnere mich, dass ich zu Beginn die Extension .properties vergessen hatte - dann wird die Datei auch nicht gefunden.
Nur wenn JVerein diese Datei findet und nutzt wird der SQL-driver geladen und ausgeführt (das müsste man im Log sehen).
unter Windows wird die Datei de.jost_net.JVerein.rmi.JVereinDBService.properties eventuell auch im Benutzerverzeichnis geführt (c:/benutzer/<name>/.jameica/cfg ) - etwas verwirrend - eventuell findet der Java-Client die Datei nicht. Und ich erinnere mich, dass ich zu Beginn die Extension .properties vergessen hatte - dann wird die Datei auch nicht gefunden.
Nur wenn JVerein diese Datei findet und nutzt wird der SQL-driver geladen und ausgeführt (das müsste man im Log sehen).
-
- Beiträge: 134
- Registriert: Freitag 7. Oktober 2016, 18:58
- Verein: 1. TC Sankt Augustin
- Mitglieder: 320
- JVerein-Version: 2.8.15
- Betriebssystem: Windows 10 / MacOS
Re: jVerein lässt sich nicht mir mySQL Datenbank einrichten
Vielleicht hilft auch mein Kommentar zu den seinerzeitigen Versuchen mit Ubuntu 16.04 und Win 10 - genau deine Kombination!
Hier der Link zum Beitrag: viewtopic.php?f=5&t=3129&p=12804#p12804
Hier der Link zum Beitrag: viewtopic.php?f=5&t=3129&p=12804#p12804
-
- Beiträge: 3
- Registriert: Donnerstag 12. April 2018, 21:36
- Verein: Makerspace Wiesbaden
- Mitglieder: 68
- JVerein-Version: 2.8.17
- Betriebssystem: Win 10
Re: jVerein lässt sich nicht mir mySQL Datenbank einrichten
Hallo Wolfgang,
deine Forumsbeiträge haben uns auf die richtige Spur gebracht! - Danke, Danke, Danke!
mySQL unterscheidet den user 'jverein' trotz gesetzter Wildcard für die Host-IP bei den DB Grants.
Nachdem wir für jeden Host der auf die jverein DB zugreift explizit die HostIP gesetzt haben, ist das Update Script losgerannt und hat die Tabellen angelegt.
Der Kollege der die SQL-Server Verwaltung unter Verantwortung hat kommt aus der Microsoft Welt. Dort funktioniert das mit der Einrichtung des Netwerkbenutzers auf den SQL-Server etwas anders.
Vielen Dank für Deine Lösungsansätze, nun läuft es erstmal - die Migration von D2DB nach mySQL steht auf einem anderen Blatt![Zwinkern ;-)](./images/smilies/icon_e_wink.gif)
Ein Hinweis im Handbuch, zur Installation in Netzwerkumgebungen mit Remoteeinwahl, wie in unserem Fall wäre vielleich hilfreich.
Mit freundlichen Grüßen
Dieter
deine Forumsbeiträge haben uns auf die richtige Spur gebracht! - Danke, Danke, Danke!
mySQL unterscheidet den user 'jverein' trotz gesetzter Wildcard für die Host-IP bei den DB Grants.
Nachdem wir für jeden Host der auf die jverein DB zugreift explizit die HostIP gesetzt haben, ist das Update Script losgerannt und hat die Tabellen angelegt.
Der Kollege der die SQL-Server Verwaltung unter Verantwortung hat kommt aus der Microsoft Welt. Dort funktioniert das mit der Einrichtung des Netwerkbenutzers auf den SQL-Server etwas anders.
Vielen Dank für Deine Lösungsansätze, nun läuft es erstmal - die Migration von D2DB nach mySQL steht auf einem anderen Blatt
![Zwinkern ;-)](./images/smilies/icon_e_wink.gif)
Ein Hinweis im Handbuch, zur Installation in Netzwerkumgebungen mit Remoteeinwahl, wie in unserem Fall wäre vielleich hilfreich.
Mit freundlichen Grüßen
Dieter
-
- Beiträge: 134
- Registriert: Freitag 7. Oktober 2016, 18:58
- Verein: 1. TC Sankt Augustin
- Mitglieder: 320
- JVerein-Version: 2.8.15
- Betriebssystem: Windows 10 / MacOS
Re: jVerein lässt sich nicht mir mySQL Datenbank einrichten
Hallo Dieter,
prima, das freut mich.
Vom Prinzip her ist JVerein als single user System designed worden. Wenn man JVerein mit MySQL dennoch in einer multi user Umgebung nutzt wie wir dann gibt es durchaus Komplikatiopnen (zum Thema Multiuser gibt es auch einen älteren Forumsbeitrag).
Ich habe das so gelöst, dass bis auf 2 User die anderen nur Leserechte in MySQL haben (user "readonly"). Wenn diese user in JVerein eine schreibende Aktion durchführen erhalten sie eine kryptische Meldung ("sinngemäß: diese Aktion ist nicht möglich).
Ich vermute das Ergebnis ist "unvorhersehbar" wenn die 2 user mit Schreibrechten (user: jverein) gleichzeitig auf dieselbe Tabelle schreibend zugreifen!! Aber mein Kollege nutzt JVerein nur zum Versenden von Rundmails und da braucht man schreibende Rechte für MySQL.
Viel Erfolg beim Laden der MySQL DB.
Wolfgang
prima, das freut mich.
Vom Prinzip her ist JVerein als single user System designed worden. Wenn man JVerein mit MySQL dennoch in einer multi user Umgebung nutzt wie wir dann gibt es durchaus Komplikatiopnen (zum Thema Multiuser gibt es auch einen älteren Forumsbeitrag).
Ich habe das so gelöst, dass bis auf 2 User die anderen nur Leserechte in MySQL haben (user "readonly"). Wenn diese user in JVerein eine schreibende Aktion durchführen erhalten sie eine kryptische Meldung ("sinngemäß: diese Aktion ist nicht möglich).
Ich vermute das Ergebnis ist "unvorhersehbar" wenn die 2 user mit Schreibrechten (user: jverein) gleichzeitig auf dieselbe Tabelle schreibend zugreifen!! Aber mein Kollege nutzt JVerein nur zum Versenden von Rundmails und da braucht man schreibende Rechte für MySQL.
Viel Erfolg beim Laden der MySQL DB.
![Lächeln :-)](./images/smilies/icon_e_smile.gif)
-
- Beiträge: 217
- Registriert: Samstag 15. September 2018, 23:32
- Verein: Osnabrücker Ruder-Verein
- Mitglieder: 400
- JVerein-Version: 2.8.22
- Betriebssystem: Win
Re: jVerein lässt sich nicht mir mySQL Datenbank einrichten
Hallo Wolfgang,
Auf welchem Raspi läuft deine MySQL? 1, 2 oder 3?
Ich habe noch einen 1er hier der für meine Anwendungen etwas schwach ist
Ich plane nen Raspi zu Hause ins Netzwerk zu hängen. Remote Zugriff per VPN Client auf meine Fritzbox.
Wie gut ist die Performance über die Remoteverbindung und im Heimnetzwerk? Remote müssen die Mitglieder gepflegt werden und ggf Adresslisten und Statistiken gezogen werden.
Welches OS ist im Einsatz bei dir? RASPBIAN, DietPi oder was anderes?
Danke Dir!
Gruß Markus
Auf welchem Raspi läuft deine MySQL? 1, 2 oder 3?
Ich habe noch einen 1er hier der für meine Anwendungen etwas schwach ist
![Zwinkern ;-)](./images/smilies/icon_e_wink.gif)
Ich plane nen Raspi zu Hause ins Netzwerk zu hängen. Remote Zugriff per VPN Client auf meine Fritzbox.
Wie gut ist die Performance über die Remoteverbindung und im Heimnetzwerk? Remote müssen die Mitglieder gepflegt werden und ggf Adresslisten und Statistiken gezogen werden.
Welches OS ist im Einsatz bei dir? RASPBIAN, DietPi oder was anderes?
Danke Dir!
Gruß Markus
-
- Beiträge: 134
- Registriert: Freitag 7. Oktober 2016, 18:58
- Verein: 1. TC Sankt Augustin
- Mitglieder: 320
- JVerein-Version: 2.8.15
- Betriebssystem: Windows 10 / MacOS
Re: jVerein lässt sich nicht mir mySQL Datenbank einrichten
Hallo Markus,
sorry für die späte Antwort, ich war längere Zeit nicht mehr im Forum.
Zu deinen Fragen:
1. Raspberry PI 2, bei Notebooksbilliger gekauft (siehe: https://www.notebooksbilliger.de/produc ... ter+bundle+ )
2. Ich nutze Raspbian 8.0 (jessie) - das sagt jedenfalls das Kommando: lsb_release -a
3. Bei mir/uns läuft der Raspberry auch hinter einer Fritzbox bei mir zuhause, angeschlossen per Kabel (WLAN nutze ich nicht). Im Prinzip bin ich der einzige, der die Datenbank pflegt, und das mache ich an meinem Heim-PC zuhause (lokales Netzwerk), die Performance ist dafür völlig ausreichend (wir haben auch nur ca. 380 Mitglieder). Die 2 anderen Kollegen, die gelegentlich auf JVerein zugreifen (meist lesend, selten schreibend) haben sich bisher nicht beklagt. Der eine davon nutzt JVerein praktisch nur zum Versenden von Rundmails.
4. Ich nutze kein VPN, kann deshalb keine Aussage zur Performance machen. Welches Protokoll willst Du denn nutzen? IPSec oder TLS (OpenVPN)? Das ist sicherlich ein Overhead!
5. Da auf dem Raspberry ja im Prinzip nur eine MySQL-Datenbank läuft und JVerein "lediglich" SQL-Abfragen versendet, habe ich mich seinerzeit entschieden, verschlüsselte Datenbankabfragen zu nutzen, also das SSL/TLS-Protokoll. Das war mir wichtig, weil ja auch Kontodaten enthalten sind. Das läuft bisher stabil und zu meiner Zufriedenheit .
Ich hoffe das hilft Dir etwas!
Gruß
Wolfgang
P.S.: Ich habe das Ganze vor ca. 2 Jahren aufgesetzt! Und seitdem praktisch nicht mehr angepackt (jeden Tag läuft aber ein automatischer SQL-Backup)!
sorry für die späte Antwort, ich war längere Zeit nicht mehr im Forum.
Zu deinen Fragen:
1. Raspberry PI 2, bei Notebooksbilliger gekauft (siehe: https://www.notebooksbilliger.de/produc ... ter+bundle+ )
2. Ich nutze Raspbian 8.0 (jessie) - das sagt jedenfalls das Kommando: lsb_release -a
3. Bei mir/uns läuft der Raspberry auch hinter einer Fritzbox bei mir zuhause, angeschlossen per Kabel (WLAN nutze ich nicht). Im Prinzip bin ich der einzige, der die Datenbank pflegt, und das mache ich an meinem Heim-PC zuhause (lokales Netzwerk), die Performance ist dafür völlig ausreichend (wir haben auch nur ca. 380 Mitglieder). Die 2 anderen Kollegen, die gelegentlich auf JVerein zugreifen (meist lesend, selten schreibend) haben sich bisher nicht beklagt. Der eine davon nutzt JVerein praktisch nur zum Versenden von Rundmails.
4. Ich nutze kein VPN, kann deshalb keine Aussage zur Performance machen. Welches Protokoll willst Du denn nutzen? IPSec oder TLS (OpenVPN)? Das ist sicherlich ein Overhead!
5. Da auf dem Raspberry ja im Prinzip nur eine MySQL-Datenbank läuft und JVerein "lediglich" SQL-Abfragen versendet, habe ich mich seinerzeit entschieden, verschlüsselte Datenbankabfragen zu nutzen, also das SSL/TLS-Protokoll. Das war mir wichtig, weil ja auch Kontodaten enthalten sind. Das läuft bisher stabil und zu meiner Zufriedenheit .
Ich hoffe das hilft Dir etwas!
Gruß
Wolfgang
P.S.: Ich habe das Ganze vor ca. 2 Jahren aufgesetzt! Und seitdem praktisch nicht mehr angepackt (jeden Tag läuft aber ein automatischer SQL-Backup)!
-
- Beiträge: 217
- Registriert: Samstag 15. September 2018, 23:32
- Verein: Osnabrücker Ruder-Verein
- Mitglieder: 400
- JVerein-Version: 2.8.22
- Betriebssystem: Win
Re: jVerein lässt sich nicht mir mySQL Datenbank einrichten
Hallo Wolfgang,
das klingt gut.
Ich möchte eine verschlüsselte Verbindung nutzen, damit die Daten nicht unverschlüsselt über das Internet übertragen werden.
Die ersten Anleitungen und die JVerein Anleitung (https://jverein.gitbooks.io/jverein-han ... pport.html), die ich zum Thema gefunden habe, verlangen in der Config eine IP-Adresse, um auf den Zielrechner zu kommen und auch den Zugriff zu gewähren. Das ist bei DSL wegen dynamischer IPs beim Host als auch beim Server nicht der Fall.
Kann ich auch einen DNS-Eintrag statt der IP angeben? Das habe ich noch nicht probiert
Damit wäre das Problem dann gelöst. Einfache Portweiterleitung auf den Pi und gut ist.
Daher war VPN die Alternative, da ich dort mit DNS arbeiten kann.
Der VPN Zugriff auf die FritzBox läuft bereits, aber dann landen meine Kollegen bei mir im Netzwerk, das will ich auch nicht
Mit einem OpenVPN auf dem Raspi kann ich die VPN Verbindungen dort direkt terminieren und dann mit JVerein drauf zugreifen.
Danke Dir!
Gruß
Markus
das klingt gut.
Ich möchte eine verschlüsselte Verbindung nutzen, damit die Daten nicht unverschlüsselt über das Internet übertragen werden.
Die ersten Anleitungen und die JVerein Anleitung (https://jverein.gitbooks.io/jverein-han ... pport.html), die ich zum Thema gefunden habe, verlangen in der Config eine IP-Adresse, um auf den Zielrechner zu kommen und auch den Zugriff zu gewähren. Das ist bei DSL wegen dynamischer IPs beim Host als auch beim Server nicht der Fall.
Kann ich auch einen DNS-Eintrag statt der IP angeben? Das habe ich noch nicht probiert
![Verlegen :oops:](./images/smilies/icon_redface.gif)
Damit wäre das Problem dann gelöst. Einfache Portweiterleitung auf den Pi und gut ist.
Daher war VPN die Alternative, da ich dort mit DNS arbeiten kann.
Der VPN Zugriff auf die FritzBox läuft bereits, aber dann landen meine Kollegen bei mir im Netzwerk, das will ich auch nicht
![Zwinkern ;-)](./images/smilies/icon_e_wink.gif)
Mit einem OpenVPN auf dem Raspi kann ich die VPN Verbindungen dort direkt terminieren und dann mit JVerein drauf zugreifen.
Danke Dir!
Gruß
Markus
-
- Beiträge: 134
- Registriert: Freitag 7. Oktober 2016, 18:58
- Verein: 1. TC Sankt Augustin
- Mitglieder: 320
- JVerein-Version: 2.8.15
- Betriebssystem: Windows 10 / MacOS
Re: jVerein lässt sich nicht mir mySQL Datenbank einrichten
Hallo Markus,
ich bin mir jetzt nicht ganz sicher was Du machen willst: VPN nutzen oder MySQL mit TLS/SSL-Verschlüsselung?
Wenn Du OpenVPN nutzt, dann braucht die MySQL-Datenbank nicht TLS zu unterstützen (das ist von der MySQL-Konfiguration her einfacher).
Wenn Du wie ich kein OpenVPN nutzen willst sondern die in MySQL vorhandene Möglichkeit einer per TLS verschlüsselten Verbindung (so wie im Browser per https), dann wird es etwas komplizierter: MySQL muss entsprechend konfiguriert werden und man braucht Zertifikate, die man z.B. mit OpenSSL erzeugen kann. Zu dem Thema "MySQL TLS Zertifikate" gibt es jede Menge Links.
Wenn die MySQL-Datenbank mit TLS fertig konfiguriert ist, dann sollte man sie am besten mit einem Client testen. Auch da gibt es mehrere PC basierte SQL-Clients z.B. Squirrel. Ich habe sogar eine (kostenpflichtige) app für Android gefunden - hat funktioniert.
Je nachdem welche Variante Du nutzt muss die JVerein-Konfigurationsdatei angepasst werden: bei einem VPN-Tunnel braucht man kein SQL-TLS (Verschlüsselung ist ja im Tunnel) d.h. die Angabe "SSL\=true" kann entfallen, bei der anderen Variante muss in JVerein definiert werden, dass die Verbindung zum SQL-Server per TLS erfolgt (SSL=true).
Bei mir sieht das dann so aus:
database.driver=de.jost_net.JVerein.server.DBSupportMySqlImpl
database.driver.mysql.jdbcurl=jdbc\:mysql\://<your MyFritz-DNSname>.myfritz.net\:3306/jverein?useUnicode\=Yes&characterEncoding\=ISO8859_1&useSSL\=true
database.driver.mysql.username=<benutzername>
database.driver.mysql.password=<Benutzerpasswort>
database.driver.mysql.scriptprefix=mysql-
Ich nutze MyFritz, damit erhält man automatisch einen DNS-Namen (den sieht man in der Fritzbox-Oberfläche), der auch einen IP-Wechsel "überlebt". Da JVerein keine Userverwaltung enthält, habe ich 2 MySQL-User angelegt: einer der Lesen und Schreiben darf, der andere darf nur Lesen. In JVerein kommen dann kryptische Meldungen, wenn ein User mit nur Leserechten z.B. eine Mail verschicken will, denn dazu braucht man Schreibrechte.
Die Remote User müssen in ihrer lokalen JVerein-config also nur diesen MyFritz-DNS-Namen eintragen , dann den richtigen Port, dann ggf. SSL=true (wenn TLS benutzt wird), dann einen gültigen SQL-Usernamen/Password.
In der FritzBox muss dann der Port (bei mir 3306) noch auf den Raspberry weitergeleitet werden - das ist es.
Ich hoffe ich habe Deine Fragen damit beantwortet. Insbesondere kann und sollte man DNS-Namen anstelle von IP-Adressen verwenden. In der FritzBox kann man zwar auch DynDNS verwenden, aber MyFritz ist die einfachere Methode und wird bestens von AVM unterstützt.
Viel Erfolg!
Wolfgang
P.S.: Im Prinzip könnten die Remote User auch per VNC auf die Raspberry-Oberfläche zugreifen und dann dort lokal JVerein ausführen (immer nur einer zu einer Zeit!!), das halte ich aber für eine schlechte Lösung. Ich mache es immer so, dass ich mich per Teamviewer auf den PC eines (neuen) Remote User einwähle, dort JVerein installiere, das Zertifikat erzeuge und auf dem Raspberry dieses User-Zertifikat importiere. Da ich das nicht jeden Tag mache, habe ich dazu eine Doku geschrieben.
ich bin mir jetzt nicht ganz sicher was Du machen willst: VPN nutzen oder MySQL mit TLS/SSL-Verschlüsselung?
Wenn Du OpenVPN nutzt, dann braucht die MySQL-Datenbank nicht TLS zu unterstützen (das ist von der MySQL-Konfiguration her einfacher).
Wenn Du wie ich kein OpenVPN nutzen willst sondern die in MySQL vorhandene Möglichkeit einer per TLS verschlüsselten Verbindung (so wie im Browser per https), dann wird es etwas komplizierter: MySQL muss entsprechend konfiguriert werden und man braucht Zertifikate, die man z.B. mit OpenSSL erzeugen kann. Zu dem Thema "MySQL TLS Zertifikate" gibt es jede Menge Links.
Wenn die MySQL-Datenbank mit TLS fertig konfiguriert ist, dann sollte man sie am besten mit einem Client testen. Auch da gibt es mehrere PC basierte SQL-Clients z.B. Squirrel. Ich habe sogar eine (kostenpflichtige) app für Android gefunden - hat funktioniert.
Je nachdem welche Variante Du nutzt muss die JVerein-Konfigurationsdatei angepasst werden: bei einem VPN-Tunnel braucht man kein SQL-TLS (Verschlüsselung ist ja im Tunnel) d.h. die Angabe "SSL\=true" kann entfallen, bei der anderen Variante muss in JVerein definiert werden, dass die Verbindung zum SQL-Server per TLS erfolgt (SSL=true).
Bei mir sieht das dann so aus:
database.driver=de.jost_net.JVerein.server.DBSupportMySqlImpl
database.driver.mysql.jdbcurl=jdbc\:mysql\://<your MyFritz-DNSname>.myfritz.net\:3306/jverein?useUnicode\=Yes&characterEncoding\=ISO8859_1&useSSL\=true
database.driver.mysql.username=<benutzername>
database.driver.mysql.password=<Benutzerpasswort>
database.driver.mysql.scriptprefix=mysql-
Ich nutze MyFritz, damit erhält man automatisch einen DNS-Namen (den sieht man in der Fritzbox-Oberfläche), der auch einen IP-Wechsel "überlebt". Da JVerein keine Userverwaltung enthält, habe ich 2 MySQL-User angelegt: einer der Lesen und Schreiben darf, der andere darf nur Lesen. In JVerein kommen dann kryptische Meldungen, wenn ein User mit nur Leserechten z.B. eine Mail verschicken will, denn dazu braucht man Schreibrechte.
Die Remote User müssen in ihrer lokalen JVerein-config also nur diesen MyFritz-DNS-Namen eintragen , dann den richtigen Port, dann ggf. SSL=true (wenn TLS benutzt wird), dann einen gültigen SQL-Usernamen/Password.
In der FritzBox muss dann der Port (bei mir 3306) noch auf den Raspberry weitergeleitet werden - das ist es.
Ich hoffe ich habe Deine Fragen damit beantwortet. Insbesondere kann und sollte man DNS-Namen anstelle von IP-Adressen verwenden. In der FritzBox kann man zwar auch DynDNS verwenden, aber MyFritz ist die einfachere Methode und wird bestens von AVM unterstützt.
Viel Erfolg!
Wolfgang
P.S.: Im Prinzip könnten die Remote User auch per VNC auf die Raspberry-Oberfläche zugreifen und dann dort lokal JVerein ausführen (immer nur einer zu einer Zeit!!), das halte ich aber für eine schlechte Lösung. Ich mache es immer so, dass ich mich per Teamviewer auf den PC eines (neuen) Remote User einwähle, dort JVerein installiere, das Zertifikat erzeuge und auf dem Raspberry dieses User-Zertifikat importiere. Da ich das nicht jeden Tag mache, habe ich dazu eine Doku geschrieben.