Hi zusammen,
nach langem Recherchieren und Testen konnte ich nun das XWiki mit MySQL als Docker zum Laufen bekommen. Da es bisher noch keine "Anleitung" im klassischen Sinne gibt, gibt es nun eine kleine Anleitung. Ich bin jetzt selber kein Docker-Profi, aber mit diesen Einstellungen konnte ich das wunderbar zum Laufen bekommen. Das XWiki läuft nun auch produktiv.
Anleitung:
Viel Spaß!
Grüße,
Stefan
nach langem Recherchieren und Testen konnte ich nun das XWiki mit MySQL als Docker zum Laufen bekommen. Da es bisher noch keine "Anleitung" im klassischen Sinne gibt, gibt es nun eine kleine Anleitung. Ich bin jetzt selber kein Docker-Profi, aber mit diesen Einstellungen konnte ich das wunderbar zum Laufen bekommen. Das XWiki läuft nun auch produktiv.
Anleitung:
- MySQL, xWiki (10-mysql-tomcat) und phpMyAdmin als Docker-Image im Docker herunterladen.
- Mysql als Container erstellen.
- Containername: mysql1
- Hier könnt ihr gerne auch einen anderen Namen vergeben.
- Automatischen Neustart aktivieren
- Volume: Ordner hinzufügen -> Spalte "Datei/Ordner": „docker/mysql“ -> Spalte "Mount-Pfad": „/var/lib/mysql“
- Port: Lokaler Port mit Container-Port angleichen (3306 und 3306; 33060 und 33060)
- Diese Ports benötigen wir, wenn wir später via phpMyAdmin darauf zugreifen möchten.
- Umgebungsvariablen:
- MYSQL_ROOT_PASSWORD: Root Passwort
- TZ: „Europe/Berlin“
- Wichtig: Es wird keine Datenbank angegeben, da diese später über SQL angelegt wird!
- Container starten
- Containername: mysql1
- Bash vom Container öffnen (Docker öffnen -> Container -> Den MySQL-Container auswählen -> Details -> Terminal -> Auf "Erstellen" klicken -> "bash" auswählen):
- mysql -p eingeben
- Damit meldet man sich an dem mysql-Container an.
- root Passwort eingeben
- Datenbank muss angelegt werden:
- Wichtig: Für neue Installationen wird das Character Set für die Datenbank das UTF8MB4 empfohlen. Das Problem hier ist aber, dass bei einer Neuanlage der DB manche Spalten zu wenig Speicher haben. Dies führt dazu, dass es nicht richtig funktioniert. Als Alternative kann man noch den UTF8-Character Set verwenden. Recherchierte Auswirkungen: Smileys gehen wohl nicht. Weitere Auswirkungen kenne ich nicht. Ich lasse absichtlich jetzt beide Befehle drin und markiere den Befehl für das funktionierende UTF8 fett. Wenn das andere Problem behoben ist, so kann man den anderen Befehl nehmen.
- create database xwiki (Datenbankname) default character set utf8 collate utf8_bin;
- Für die Zukunft, wenn das Problem behoben ist: create database xwiki (Datenbankname) default character set utf8mb4 collate utf8mb4_bin;
- create user (Benutzername „xwiki“) identified by ‚Benutzer-Passwort‘;
- grant all privileges on xwiki.* to xwiki;
- Danach muss das mysql native Passwort gesetzt werden:
- ALTER USER ‚root‘ IDENTIFIED with mysql_native_password BY ‚root Passwort‘;
- Bei der Benutzer-Anlage wusste ich nicht, ob man das direkt verbinden konnte. So funktioniert es aber einwandfrei. Ich wusste auch nicht, ob das ALTER USER auf den root UND auf den xwiki-Benutzer gemacht werden muss. Ich hatte es sicherheitshalber auf beide gemacht. Es funktioniert zumindest.
- ALTER USER ‚xwiki‘ IDENTIFIED with mysql_native_password BY ‚xwiki Benutzer Passwort‘;
- exit
- exit
- mysql -p eingeben
- XWiki als Container erstellen
- Containerrname: xwiki1
- Automatischen Neustart aktivieren
- Volume: Spalte "Datei/Ordner": „docker/xwiki/ -> Spalte "Mount-Pfad": „/usr/local/xwiki“
- Port: 8084 und 8080
- Links: mysql1 (Containername von der DB) – Alias: db
- Umgebungsvariablen:
- DB_HOST (aliasname von dem Reiter „Links)
- DB_PASSWORD (Wiki-Benutzer Passwort)
- DB_USER (Wiki-Benutzer)
- TZ („Europe/Berlin“)
- Container starten
- PhpMyAdmin als Container erstellen
- Containername: phpmyadmin1
- Automatischen Neustart aktivieren
- Port: 8081 und 8080
- Links: mysql 1 (Containername von der DB) – Alias: db
- Container starten
Viel Spaß!
Grüße,
Stefan