Website Updates für deinen Erfolg

Website Update Informationen direkt in deinen Posteingang. Nie mehr ein Update oder Sicherheitsproblem übersehen. Dieser Service ist kostenlos. Mit einem Klick bist du angemeldet - jetzt Newsletter abonnieren.
Email Adresse

Lokale WordPress Entwicklung mit Wocker, Docker und Vagrant

Als guter WordPress Web-Entwickler wird das neue Kundenprojekt üblicherweise in den Stages local-dev, qa, production entwickelt. Für die lokale Entwicklungsumgebung gibt es dabei eine Vielzahl an Möglichkeiten angefangen mit XAMPP über MAMP usw… (siehe Top 8 Best Ways to setup a testing environment for WordPress). Allerdings ist dieses Setup immer schwergewichtig und mühsam. Auf der Suche nach einer einfacheren Lösung bin ich auf VCCW und Wocker gestoßen. Ich habe mich für dieses Tutorial nun aber auf Wocker konzentriert, da es noch etwas leichtgewichtiger und flexibler wirkt im Vergleich zu VCCW (was auch vielversprechend auf mich wirkt).

Get Started mit Wocker

1. Install Vagrant

http://www.vagrantup.com/

2. Install VirtualBox

https://www.virtualbox.org/

3. Install the vagrant-hostsupdater plugin.

Windows is not allowed to change hosts-file. Please add „wocker.dev 172.17.8.23“ by yourself!

4. Clone the Wocker Repository

Wocker wird nun am angegebenen Ort ausgecheckt und wir wechseln sofort in diesen Ordner. Bei mir z.B. unter ~/Sites/playground/wocker (= INSTALL_DIRECTORY_OF_WOCKER).

5. Start up Wocker

This could take a while on the first run as your local machine downloads the required files. Watch as the script ends, as an administrator or su password may be required. The first default container wocker will be running after the provision finishes successfully.

6. Visit following site in your browser

Standardmäßig läuft der Wocker Docker Container „wocker“ mit einer leeren WordPress Instanz:

http://wocker.dev/

Spezialfälle hinsichtlich NFS File Sharing für Windows und Ubuntu sind hier beschrieben: http://wckr.github.io/

Zugangsdaten für den Wocker Container

WordPress

User:
admin
Pass:
admin

Database

Name:
wordpress
User:
wordpress
Pass:
wordpress

Synced Folder

Local machine:
/INSTALL_DIRECTORY_OF_WOCKER/data
Guest machine:
/home/core/data

Every container created through Wocker automatically has it’s volumes exposed on your local machine. Wocker exposes a container’s volume data under data/<container's name>

Arbeiten mit Wocker

7. Plugins, Themes, WP-Content anpassen

Auf deinem lokalen Dateisystem kannst du nun Plugins, Themes und weitere Inhalte beliebig anpassen und hinzufügen. Sie werden automatisch mit dem Docker Container über NFS Filesharing synchronisiert.

Lokale Dateien:

8. Datenbankverbindung von lokalem OS herstellen

Datenbank-Tools mit GUI wie z.B. Sequel Pro (MacOSX) erlauben ein wesentlich komfortableres Arbeiten an der Datenbank. Glücklicherweise sind die Wocker Docker Container bereits korrekt konfiguriert, sodass eine MySQL Verbindung von außen problemlos hergestellt werden kann:

Host: wocker.dev (bzw. 172.17.8.23)

Mysql User: wordpress

Mysql Passwort: wordpress

Mysql Datenbank: wordpress

Port: Default (3306)

Screenshot 2015-12-13 10.41.11

Hinweis: Sollte aus irgendeinem Grund dennoch ein SSH Tunnel für die Mysql Verbindung nötig sein, so hilft dieser Artikel sehr detailliert weiter: Connect to mysql on vagrant instance with sequel pro bzw. Accessing database from host os via command line or How to import an existing site?

9. Hostname Mapping

Natürlich möchte man seine entwickelte WordPress Website auch unter dem richtigen Hostname erreichen können. Das Hostname Mapping (weiterlesen…) funktioniert recht einfach. Ich nutze das MacOSX Tool HostBuddy zum Verwalten meiner lokalen Host Einträge.

Screenshot 2015-12-13 11.13.14

10. SSH Verbindung zu Wocker

Um sich direkt zur CoreOS Instanz von Wocker zu verbinden, reicht folgender Befehl im

11. Neues WordPress Projekt anlegen

Use a Wocker command to run a new container

You can use the name flag to assign a specific name to the container.

Example

12. Stop or remove the running Wocker container/Wordpress Projekt löschen

Achtung, es werden dabei sämtliche Datenbanken und Dateien ebenfalls gelöscht. Stelle sicher dass du diese vorher noch in deinem SCM (z.B. Git, SVN) gesichert hast.

or

CONTAINER can be a name or ID of a container. You can use wocker ps (Docker alias) to list only running containers.

Note: the wocker rm -f command forcely remove containers and synced folders in your local data directory. Please back up the files before removing containers if you need them.

13. Bestehende Datenbank importieren

Hinweis: ein weiterer Artikel der eine alternative Möglichkeit zum Importieren einer bestehenden WordPress Datenbank beschreibt findest du hier.

Limitierungen

  • Es kann immer nur eine Wocker Instanz gleichzeitig laufen.

Fazit

Mit Wocker habe ich nun meine aktuelle Best Practice gefunden, um schnell, flexibel und unkompliziert lokale WordPress Installationen zu erstellen. Es funktioniert einfach, und dass ohne viel Aufwand dafür betreiben zu müssen. In weniger als 3h war alles soweit lauffähig und in meinen Arbeitsprozess integriert. Daher eine definitive Weiterempfehlung meinerseits.

Quellen

Folgende Links haben mir weitergeholfen:

 

comments powered by Disqus

GET YOUR EMAIL UPDATES

We send out our lovely email newsletter with useful tips and techniques, recent articles and upcoming events. Thousands of readers have signed up already. Get a free WordPress eBook now.
Email Adresse