Docker WordPress + DB Maria ohne Docker

In diesem Guide setze ich voraus, dass die Maria Datenbank, Apache2 und phpMyAdmin (LAMP-Stack) schon eingerichtet wurde.

Zu Beginn erstellen wir einen Datenbankbenutzernamen. Wir nennen diesen in unserem Beispiel Klaus . Sein Passwort soll 123456 sein. (Nur zu demonstrativen Zwecken! Benutzt bitte ein sicheres Passwort!)

Ein Beispiel einer Datenbankerstellung findet Ihr mit phpMyAdmin oder mit MyWebSQL findet Ihr auch auf diesen Seiten. Wer mehrere WordPressinstanzen nutzen möchte, sollte bei Docker ARM nachschauen. nachsehen. Funktioniert mittlerweile identisch.

Legen wir los.

– phpMyAdmin starten
– Benutzerkontonten klicken (oben in der Leiste)
– (NEU) Benutzerkonto hinzufügen
– Benutzername: Klaus
– Host: %
– Passwort: 123456
– Wiederholen: 123456

Unten auf OK klicken

Dann wieder oben auf Benutzerkonten

– bei Klaus auf Rechte ändern klicken
– oben auf Datenbank klicken (Achtung! NICHT MIT DATENBANKEN VERWECHSELN!)
– bei „Rechte zu folgender Datenbank hinzufügen“ wordpress eingeben (Kleingeschrieben!)
– bei Datenbankspezififische Rechte Häckchen rein (Alle auswählen)

Unten auf OK klicken

Fertig – Benutzername mit Zugriff auf der Datenbank wordpress wurde erstellt! Die Datenbank wordpress wurde noch nicht angelegt! Das macht dann WordPress selbst!

phpMyAdmin kann geschlossen werden.

Warum habe ich das Beispiel so gewählt? Ich wollte demonstrieren, wie ein Benutzer angelegt wird, der keine Globalen Rechte auf alle erstellten Datenbanken hat, sondern NUR auf die dafür vorgesehene Datenbank Zugriff hat. In unserem Fall wordpress. Kommt bitte nicht durcheinander. Andere Docker verlangen, dass eine erstellte Datenbank  verfügbar ist. In unserem Beispiel verzichtete ich darauf, da unser WordPressdocker das selbst erledigt!

Machen wir weiter.

Ich bin mir nicht mehr ganz sicher, ob die folgenden 2 Terminal-Befehle für unser Beispiel unbedingt benötigt werden.  Ich lasse sie mal stehen. Schaden kann es nicht 🙂

sudo curl -L https://github.com/docker/compose/releases/download/1.20.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose 

WordPress-Docker herunterladen, dann das Dockerimage starten.

Container Name:             wordpress

Restart Policy: always

Netzwerkmodus:            Bridge

Host Port:           89           Exposed Port:   80

(Die 89 ist variabel. Falls beim Speichern eine Fehlermeldung erscheint, dann bedeutet das meist, dass Euer angegebener Port schon vergeben ist. Nehmt dann einen anderen)

Umgebungsvariablen:

Name: | Value:
PUID | 1000
PGID | 100

Volumes and Bind mounts:

/sharedfolders/appdata/Wordpress                      /var/www/html

(Der Ordner im linken Feld muss schon erstellt sein und ist nach Euerem Belieben anzupassen)

Fertig.

Achtung! Wenn ihr jetzt den Browser starten würdet, kommt die Fehlermeldung “
Error establishing a database connection“. Das liegt daran, dass die IP-Bind-Adresse der Datenbank auf Localhost gestellt ist und von außen keine Zugriffsrechte hat. Und der Docker kommt in diesem Fall von außen. Aber auch dafür gibt es eine Lösung, die allerdings umstritten ist, weil wieder ein „Sicherheitsloch“ für Hacker geöffnet wird. Ich habe hier aber ein ruhiges gewissen, da meine Server lokal im LAN verwendet werden und ich auf diese aus dem Internet ausschließlich über eine VPN-Verbindung zugreife. Macht das bei WordPress sinn? Eigentlich nicht. Aber ich Benutze meine WordPress-Instanz für meine Kinder, die sich da voll beschäftigen können, ohne dass Sachen ins Internet gelangen.

Im terminal jeweils in den 2 folgenden Dateien die IP-Adresse ändern und mit Strg-X, J, Enter speichern.

nano /etc/mysql/mariadb.conf.d/99-openmediavault-mysql.cnf
nano /etc/mysql/mariadb.conf.d/50-server.cnf

Wert ändern von

bind-address = 127.0.0.1

auf

bind-address = Eure IP-Adresse des Servers

(Übrigens – bei der Installation von MySQL über OMV4 braucht ihr das nicht zu ändern. Da wird nur bei Bind-Adress 0.0.0.0 angegeben)

Aufrufen von WordPress mit Server-IP-Adresse:89

 

Erstelle deine Website mit WordPress.com
Jetzt starten