Dieses Tutorial ist VALID.

Bitte lies Dir den Disclaimer durch, bevor Du eine Anleitung umsetzt...

Haftungsausschluss / Disclaimer

WordPress Docker Container

WordPress für die erste Verwendung einrichten

Wechseln wir wieder zurück zum WordPress Backend. Links ist die Menü-Sidebar:

Die WordPress Menü-Sidebar ganz links im Backend.

Kommentare

Hier setzen wir den Cursor über den Kommentar und es taucht unterhalb davon eine Zeile mit Befehlen auf. Hier klicken wir auf „Papierkorb“, um den Demo-Kommentar in den Papierkorb zu schieben.

Der Kommentar ist weg und oben steht beim Zähler hinter „Papierkorb“ eine (1) – da ist er :)

Beiträge

Gleiches Spiel: Wir schieben den Cursor über den Demo-Beitrag. Es erscheint eine Zeile mit Befehlen. Wir klicken auf „Papierkorb“. Der Beitrag wird in den Papierkorb geschoben.

Seiten

Und auch hier – es wird glaub ich langsam langweilig – verschieben wir die Beispiel-Seite und gleich dazu den Datenschutz-Entwurf in den Papierkorb.

So, damit wären die Seiten auch in den Papierkorb verschoben… Jetzt sind wir absolut blank: Keine Beiträge, Kommentare, Seiten, Plugins und Themes!

Na denn, ändern wir das. Installieren wir unser Theme:

Falls Du Dein Theme behalten hast, kannst Du den Schritt natürlich überspringen.

Design

Wir sehen, dass unser Standard-Theme „Twentynineteen“ irgendwie fehlt. So was… Davon lassen wir uns nicht stören und klicken oben neben der Überschrift „Themes“ auf den Button „Hinzufügen“. Dort schreiben wir oben rechts in das Suchfeld „Astra“ und warten, bis WordPress uns die Suchergebnisse anzeigt. Bewegen wir den Cursor über das Thumbnail von Astra, erscheinen Befehlsfelder. Wir drücken auf „Installieren“. Das dauert einen kurzen Moment und wird von einem grünen Häkchen quittiert. Jetzt ändert sich der Befehl zu „Aktivieren“, wo wir ebenfalls drauf klicken. Nach der Aktivierung wechselt WordPress zurück ins Hauptmenü der Themes und zeigt uns unser neues Astra. Es erfolgt auch der Hinweis, dass Astra jetzt aktiviert wurde.

Design / Widgets

Nachdem wir nun über ein Standard-Theme verfügen, möchten wir uns noch der Widgets entledigen, die Standardmäßig angezeigt werden.

Vorher klicken wir aber noch schnell die „Erste Schritte“-Info von Astra mit dem „x“-Symbol oben rechts im Kasten weg…

Widgets sind kleine Anzeige-Einheiten, die wir an vorgegebenen Stellen im Theme „andocken“ können. Dort zeigen sie dann zum Beispiel die neuesten Beiträge, Kategorien, einen Kalender oder den Zugang zur Login-Seite an. Für einen sauberen Start entfernen wir jetzt sämtliche Widgets aus der Seitenleiste…

Dazu müssen wir mit dem Cursor über „Design“ fahren, dann klappt ein Sub-Menü aus. Oder wir klicken auf „Design“, dann bleibt es ausgefahren. In jedem Fall drücken wir hier auf „Widgets“.
Wir sehen links die zur Verfügung stehenden Widgets und rechts als „Drop-Downs“ die möglichen Positionen. Anfangs ist nur die „Haupt Seitenleiste“ mit Widgets ausgestattet.

Um diese zu entfernen, klicken und halten wir mit der Maus den Balken mit dem Namen des Widgets. Es wird dann leicht transparent und „hängt“ am Mauszeiger. Nun ziehen wir es nach links oben irgendwo zu den Namen der Widgets-Auswahl und lassen den Maus-Button los. Die Zeile mit dem Namen des Widgets ist verschwunden.

So verfahren wir jetzt der Reihe nach mit allen Widgets, bis die Haupt-Seitenleiste komplett leer ist.

Tipp am Rande: Haben wir ein Widget konfiguriert und möchten dieses nicht permanent löschen, sondern für später aufheben, ziehen wir es nach links unten unter die Überschrift „Inaktive Widgets“. Es wird dann die Zeile mit dem Namen des Widgets auftauchen und bleibt dort konfiguriert gespeichert, bis wir es entweder löschen oder wieder zurück in eine der Seitenleisten schieben…

Ein kurzer Blick auf die „Frontpage“ unserer WordPress Seite zeigt uns, dass wir bis auf den Titel und den Footer alles gelöscht und die Seite absolut leer und damit bereit „auf Anfang“ steht :)

Plugins

Jetzt installieren wir zwei gratis Plugins, die ich immer gerne zu meinen Projekten hinzufüge. Dazu klicken wir links im Menü auf „Plugins“. In der Übersicht sehen wir, dass momentan keine Plugins vorhanden sind. Oben neben der Überschrift „Plugins“ ist ein Button „Installieren“ – da klicken wir jetzt drauf.

Es öffnet sich ein Auswahlfenster. Dort schreiben wir oben rechts in die Suchzeile den Begriff „server ip“ und lassen die Suche laufen. Wir installieren und aktivieren das Plugin „Server IP & Memory Usage Display“.

Im Anschluss daran klicken wir erneut auf „Installieren“ und geben in der Suchzeile den Begriff „ninjafirewall“ ein. Wir installieren und aktivieren das Plugin „NinjaFirewall (WP Edition) – Advanded Security“.

Das Server IP & Memory Usage Plugin schreibt uns im Footer des Backend eine schöne Info-Zeile mit dem aktuellen Verbrauch von RAM, der Obergrenze, die Version von php und die IP des Containers. Damit sehen wir auf den ersten Blick, was der Container gerade treibt…

Für die NinjaFirewall habe ich eine extra Anleitung geschrieben, diese einzurichten, weil das hier den Rahmen sprengen würde. Bitte führe das Setup schnell aus. Dann machen wir mit den Einstellungen von WordPress weiter…

Anzeige *

12 Kommentare zu „WordPress Docker Container“

  1. Hallo Peter,

    auch als Halblaie habe ich es nach Deinem Tutorial geschafft. Danke dafür.
    Meine Seite ist in Joomla und es wäre toll, könntest du auch ein Joomla-Tutorial erstellen.
    Die andere Lösung wäre, mich mit WordPress zu beschäftigen.

    1. Peter Fiedler

      Hallo Joachim,
      freut mich, wenn Du Erfolg mit der Anleitung hattest :)

      Joomla… Hatte ich kurz im Einsatz so 2008 / 2009 rum, bis ich entnervt auf WordPress umgestiegen bin.

      Problem ist, ich könnte wahrscheinlich ein Tutorial basteln, um Joomla zum Laufen zu bekommen. Aber da ich es nicht selber nutze, kann ich es nicht pflegen und hab auch keine Möglichkeit, das Ding im Einsatz rund zu schleifen. Mein WordPress Image / -Container hat buchstäblich Jahre an Entwicklungsarbeit in sich stecken und ich kann mit voller Überzeugung sagen, dass er gut funktioniert. Was ich bei einem Joomla Ableger halt nicht kann.

      Beste Grüße
      Peter.

      1. Hallo Peter,
        danke für die Antwort, dann werde ich mich WordPress widmen.
        Kann man später im Container WordPress durch die fertige lokale WordPress-Installation ersetzen?
        Kannst Du ein (Video) Tutorial empfehlen?

        Gruß Joachim

        1. Peter Fiedler

          Servus Joachim,
          ja, das geht. Das nennt man „Migrieren“ einer WordPress Installation.
          Ich nehm dafür „wpvivid Backup“ als Plugin. Damit erstellst Du lokal ein Backup, lädst das hoch und spielst es auf der produktiven Maschine zurück.
          Hinterher hab ich ein Plugin, das in der Datenbank suchen und ersetzen kann. Damit ändere ich noch letzte „lokale“ Adressen auf die „echten“.

          Videos hab ich mir dazu keine angesehen, die gibts aber sicher.
          Wenn es so weit ist, kannst Du Dich gerne noch mal melden. Das Migrieren ist kein Hexenwerk. Das bekommen wir schon hin ;)

          Beste Grüße
          Peter.

  2. Hallo,
    Ich bekomme keine zweite WP-Instanz zum laufen.
    Habe bisher eine subdomain.hauptdomain.de problemlos installiert bekommen.
    Nun wollte ich die Hauptdomain mit WP bestücken – klappt nicht – auch eine weitere subdomain1.hauptdomain.de klappt nicht.
    Wenn die neuen Container online sind, sind diese nicht zu erreichen und auch die bisher funktionierende Instanz ist dann nicht mehr zu erreichen.
    Habe eine neue Datenbank mit neuem User angelegt und diese natürlich in der WP-yml eingetragen. Die subdomain auch in den 2 Zeilen geändert. (auch die http://www.-Einträge bei der Hauptdomain)
    In welchen Punkten/Zeilen müssen sich die jeweiligen yml-Datein unerscheiden, wenn man mehrere Subdomains und die Hauptdomain online bringen möchte?
    Wer kann helfen?
    VG Hardy

    hier die Fehlermeldung: ~# docker logs -f –tail=“30″ beispielsudomain.hauptdomain.de
    WordPress not found in /var/www/html – copying now…
    Complete! WordPress has been successfully copied to /var/www/html
    AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 172.18.0.4. Set the ‚ServerName‘ directive globally to suppress this message
    AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 172.18.0.4. Set the ‚ServerName‘ directive globally to suppress this message
    [Wed Mar 04 07:55:49.290028 2020] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.38 (Debian) PHP/7.4.3 configured — resuming normal operations
    [Wed Mar 04 07:55:49.290281 2020] [core:notice] [pid 1] AH00094: Command line: ‚apache2 -D FOREGROUND‘

    1. Peter Fiedler

      Ich tippe mal, dass bei den Traefik Labeln in den docker-compose-Dateien zwei Mal der selbe Name für die Router verwendet wurden…

      Die Lösung wäre dann:
      Domain1: traefik.http.routers.domain1.entrypoints=http
      Domain2: traefik.http.routers.domain2.entrypoints=http

      Das muss für alle Zeilen geändert werden und ist ein echter Nachteil zur Traefik v1 Config.

  3. Hallo Peter,
    erstmal vielen Danke für deine Tutorials. Dadurch habe ich es geschafft auf meinem Heimserver eine WordPressinstallation mit Rev.Proxy zu installieren.
    Jetzt habe ich aber ein Problem mit dem Matomo iFrame in meine Datenschutzerklärung. Leider wird mit der Inhalt im Frame nicht angezeigt, ich bekomme im Edge die Meldung, dass „Dieser Inhalt kann nicht in einem Frame angezeigt werden.
    An dieser Stelle sollten Sie eigentlich Inhalte sehen, aber der Herausgeber lässt die Anzeige in einem Frame nicht zu. Dadurch wird die Sicherheit der Informationen gewährleistet, die Sie ggf. auf dieser Website eingeben.“

    Wenn ich den Link anklicke wird mir der Inhalt auf einer extra Seite korrekt angezeigt.

    Habe keine Ahnung wo ich da anfagen soll. Bzw. wo das Problem liegt (WordPress,Ninja-Firewall,Traefik,Matomo)? Vielleicht kannst du mir helfen?

    Grüße Oliver

    1. Hallo Oliver,
      vielen Dank für das Lob! Dann hat sich die ganze Mühe auch rentiert, wenn ich jemand damit helfen konnte.

      Ich glaube, dass Dein iframe Link beim Kopieren oder Einfügen geändert wurde. Da stehen hinter den Anweisungen jeweils (ich muss das gesperrt schreiben, sonst wird das auch interpretiert) [& a m p ;], was da eigentlich nicht hingehört.

      In Gutenberg mach ich den Iframe mit einem „HTML“-Block, damit der 1:1 dargestellt und nicht interpretiert wird.

      Was auch sein kann sind besondere Security Header (X-Frame-Options), welche das Ausliefern von Iframes unterbinden. Aber da sehen ich auf Deiner Seite eigentlich nichts davon.

      Probier mal bitte, den Iframe als „HTML“-Block neu zu setzen. Ich hoffe, dass es das war :)

      Update: Ist doch ein Security Frame, der Inspector bringt mir diese Ausgabe:
      [ Laden verboten durch X-Frame-Options: „DENY“ ]

      Update 2: Mea Culpa…
      Ich hab beim traefik nicht aufgepasst. Da gehört für Matomo einer der Labels anders gesetzt, sonst haben wir den Salat.
      In Zeile 30 der docker-compose.yml Datei von matomo gehört „traefik.frontend.headers.frameDeny=true“ auf „false“ gesetzt.
      Danach den Container stoppen, starten und es müsste gehen.

        1. Super, danke für die Rückmeldung :)
          Hab das Tutorial entsprechend angepasst, damit da keiner mehr drüber stolpert.
          Noch viel Erfolg mit Deiner Webseite und einen „Guten Rutsch“ in neue Jahr!

    1. Noch mal Danke für diesen Hinweis, Christian!

      Da dachte ich, dass sich im WordPress Image das Apache Modul „remoteip“ darum kümmert?

      Vorher hab ich das über die Datei „.htninja“ im Webroot von WordPress gelöst…
      Mehr Info: http://nintechnet.com/ninjafirewall/wp-edition/help/?htninja

      Wobei die Lösung direkt über die wp-config.php schon sehr elegant ist, muss ich sagen…

      Und gern geschehn! Wenn die ganze Dokumentation für jemand hilfreich war, hab ich sie gerne ins Netz gestellt :)

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Verwendung
von Cookies

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung.

Scroll to Top