Der Weg zum Fullstack-Developer

Meine Erfahrungen, Auffrischung meiner Programmierkenntnisse und mein persönliches Knowledge-Management

⚙️ WP-CLI & mein WordPress-Workflow (lokal + Server)

🧠 Ausgangslage

Ich arbeite häufiger mit WordPress parallel auf:

  • lokaler Entwicklungsumgebung
  • Server-Instanz

Dabei sind über die Zeit typische Probleme aufgetaucht:

  • inkonsistente Dateirechte
  • FTP-Abfragen in WordPress
  • unsaubere Synchronisation zwischen lokal und live
  • Mischungen aus verschiedenen Benutzern und Ownerships

Ich habe kein „perfektes Setup“, aber ein funktionierendes, pragmatisches System entwickelt.


🚀 WP-CLI als zentrales Werkzeug

WP-CLI ist für mich der zentrale Baustein geworden, um WordPress nicht nur über das Dashboard, sondern über die Shell zu steuern.

Typische Befehle:

wp plugin list
wp theme list
wp db export
wp db import
wp search-replace

Damit verschiebt sich WordPress von:

klickbasiertem CMS
zu
skriptbarem System


🧱 Mein Setup (Server & lokal)

Ich arbeite mit einem relativ klar getrennten Setup:

  • eigener Linux-User pro Projekt / Domain
  • SSH-Zugang direkt auf diesen User
  • Passwortloser Login über SSH-Keys
  • kein permanentes Arbeiten als root

Login sieht dann z. B. so aus:

ssh fullstackdevelopment

Ich lande direkt im richtigen Kontext und arbeite dort weiter.


🔑 SSH-Key Setup

Ich nutze aktuell einen einzigen Private Key für meine Server.

Das ist für mein Setup ausreichend:

  • ein Key lokal gespeichert
  • Public Key auf dem Server hinterlegt
  • Verbindung über SSH-Config vereinfacht
ssh-copy-id user@server

Für komplexere Umgebungen (z. B. mehrere Kunden) wäre eine Trennung pro Projekt sinnvoller, um Sicherheit und Übersicht zu erhöhen.


🔄 WordPress lokal ↔ live synchronisieren

WordPress ist kein reines Code-Projekt. Es besteht aus:

  • PHP-Code (Themes/Plugins)
  • Datenbank
  • Uploads

Deshalb reicht Git alleine nicht aus.

Mein aktueller Workflow:

1️⃣ Code → Git

  • Themes
  • eigene Plugins
  • Konfiguration

2️⃣ Datenbank → WP-CLI

wp db export
wp db import
wp search-replace "https://live-url" "http://local"

3️⃣ Uploads → rsync

rsync -avz user@server:/wp-content/uploads/ ./wp-content/uploads/

⚠️ Typische Stolperstelle: Dateirechte

Ein wiederkehrendes Problem bei mir war WordPress, das plötzlich nach FTP-Zugangsdaten fragt.

Das ist kein WP-CLI-Problem, sondern fast immer ein Rechte-/Ownership-Thema:

  • Dateien gehören unterschiedlichen Usern
  • gemischte Schreibrechte
  • lokale Umgebung vs. Server-Verhalten unterschiedlich

Plesk löst solche Dinge auf dem Server oft automatisch über:

  • PHP-FPM User-Zuordnung
  • korrekte Ownership
  • definierte Deploy-Umgebung

Lokal muss man das oft selbst sauber halten.


💡 Automatisierung (erste Schritte)

Sobald die Einzelbefehle funktionieren, lassen sie sich leicht kombinieren:

#!/usr/bin/env bash

wp db export live.sql

scp user@server:/path/live.sql .

wp db import live.sql

wp search-replace \
"https://live-url" \
"http://local.test"

Das ist für mich der Einstieg in:

  • Deploy-Skripte
  • Backup-Automatisierung
  • lokale Entwicklungs-Workflows

🧠 Fazit

WP-CLI ist für mich weniger ein einzelnes Tool, sondern ein Einstieg in einen strukturierteren WordPress-Workflow.

Die wichtigsten Erkenntnisse:

  • WordPress ist kein reines Git-Projekt
  • Datenbank + Dateien müssen getrennt gedacht werden
  • Rechte und Benutzer spielen eine zentrale Rolle
  • WP-CLI macht viele Prozesse erst wirklich automatisierbar

Der eigentliche Mehrwert entsteht nicht durch die Installation, sondern durch die Kombination aus SSH, WP-CLI, Git und einem sauberen Rechtekonzept.

Schreibe einen Kommentar

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