|

Automatisierte WordPress-Installation mit dem Script „wpnew“

Warum ich dieses Script entwickelt habe und wie es funktioniert

Wer regelmäßig WordPress-Webseiten für Kunden aufsetzt, kennt das Problem: Die Installationsschritte wiederholen sich jedes Mal. WordPress herunterladen, Datenbank verbinden, Grundeinstellungen setzen, Permalinks konfigurieren, Suchmaschinen blockieren, Plugins installieren, Seiten anlegen – all das kostet Zeit und birgt Fehlerquellen.

Um diesen Prozess zu standardisieren und zu beschleunigen, habe ich ein eigenes Installations-Script entwickelt.

Dieses Script „wpnew“ automatisiert die vollständige Einrichtung einer neuen WordPress-Installation innerhalb eines Unterordners meiner Projekt-Domain. Gleichzeitig bleibt jede Installation eigenständig und problemlos umziehbar.

Dieser Artikel dokumentiert ausführlich:

  • Was das Script macht
  • Warum es entwickelt wurde
  • Wie es eingesetzt wird
  • Wie es bearbeitet werden kann
  • Wo es gespeichert ist
  • Welche Server-Voraussetzungen gelten

Ohne sensible Daten offenzulegen.

Grundstruktur des Server-Setups

Die Projekte laufen in folgender Struktur:

/home/halloentwurf/htdocs/halloentwurf.de/
│
├── kunde-1/
├── kunde-2/
├── kunde-3/
├── wp-premium-plugins/

Jede Kundeninstallation:

  • liegt in einem eigenen Unterordner
  • besitzt eine eigene Datenbank
  • ist vollständig unabhängig von anderen Installationen

Zusätzlich existiert ein zentraler Ordner für Premium-Plugins:

wp-premium-plugins

Alle ZIP-Dateien in diesem Ordner können automatisch installiert werden.

Das Script selbst liegt nicht im Webverzeichnis, sondern außerhalb des öffentlichen Bereichs, im Benutzerverzeichnis.

Speicherort des ScriptsDas Script befindet sich hier:

/home/pierrehansen/scripts/wpnew.sh

Es liegt bewusst außerhalb des Webroots, damit es nicht öffentlich erreichbar ist.

Was das Script „wpnew“ im Detail macht

1. Übergabe des Projekt-Namens

Das Script wird mit einem Parameter gestartet:

wpnew kunde-1

Der Parameter definiert:

  • den Ordnernamen
  • die Installations-URL
  • den Seitentitel

Beispiel:

https://halloentwurf.de/kunde-1

2. Abfrage der Datenbank-Daten

Die Datenbank wird vorab manuell im Hostingpanel erstellt.

Das Script fragt interaktiv:

  • Datenbankname
  • Datenbankbenutzer
  • Passwort
  • Host

Dadurch wird vermieden, dass das Script automatische Root-Zugriffe benötigt oder gefährliche DB-Operationen ausführt.

3. Download von WordPress

WordPress wird per WP-CLI geladen:

wp core download --locale=de_DE

Es wird standardmäßig die deutsche Version installiert.

4. Erstellung der wp-config.php

Die Konfigurationsdatei wird automatisch generiert:

wp config create

Wichtig:
Es werden keine festen Domain-Konstanten wie WP_HOME oder WP_SITEURL gesetzt. Dadurch bleibt die Installation vollständig umziehbar.

5. Prüfung bestehender Datenbank-Tabellen

Falls in der gewählten Datenbank bereits Tabellen existieren, fragt das Script:

  • Abbrechen
  • Datenbank zurücksetzen

Bei Zustimmung wird ausgeführt:

wp db reset --yes

So wird verhindert, dass bestehende Inhalte unbeabsichtigt überschrieben werden.

6. Installation von WordPress

Die Installation erfolgt mit:

wp core install

Dabei werden automatisch gesetzt:

  • URL (inkl. Unterordner)
  • Seitentitel
  • Admin-Benutzer
  • generiertes sicheres Passwort
  • Admin-Mailadresse

7. Grundkonfiguration nach Installation

Automatisch werden folgende Einstellungen gesetzt:

Suchmaschinen blockieren

blog_public = 0

Damit ist jede neue Seite zunächst nicht indexierbar.

Zeitzone

Europe/Berlin

Permalink-Struktur

/%postname%/

Kommentare deaktivieren

Standard-Kommentarfunktion wird ausgeschaltet.

Rewrite-Regeln neu generieren

wp rewrite flush

8. Automatische Seitenerstellung

Das Script legt an:

  • Startseite „Home“
  • Seite „Rechtliches“
  • Unterseiten „Impressum“ und „Datenschutz“

Die Home-Seite wird automatisch als statische Startseite gesetzt.

Die Datenschutz-Seite wird zusätzlich als offizielle Datenschutz-Seite in WordPress registriert.

9. Installation von Plugins

Offizielle Repository-Plugins

Automatisch installiert werden:

  • Yoast SEO
  • Disable Comments
  • SVG Support
  • Kadence Blocks
  • Duplicate Post
  • All in One WP Security

Premium-Plugins

Alle ZIP-Dateien im Ordner:

/home/halloentwurf/htdocs/halloentwurf.de/wp-premium-plugins

werden automatisch installiert.

Das Script durchsucht diesen Ordner rekursiv und installiert jede ZIP-Datei per WP-CLI.

10. Aktivierungsoptionen

Am Ende kann entschieden werden:

  1. Alle Plugins aktivieren
  2. Nur Basis-Plugins aktivieren
  3. Einzelne Plugins auswählen
  4. Keine Plugins aktivieren

Server-Voraussetzung für Unterordner-WordPress

Damit WordPress in Unterordnern funktioniert, muss im Nginx-Vhost eine spezielle Routing-Regel vorhanden sein.

Im 8080-Block (Backend) ist folgende Struktur notwendig:

location ~* ^/([a-z0-9-]+)/ {
    try_files $uri $uri/ /$1/index.php?$args;
}

Diese Regel sorgt dafür, dass Anfragen wie:

/kunde-1/wp-json/
/kunde-1/wp-admin/
/kunde-1/beispiel-seite/

korrekt an:

/kunde-1/index.php

weitergeleitet werden.

Ohne diese Regel würde WordPress keine gültige JSON-Antwort liefern und der Block-Editor würde Fehlermeldungen anzeigen.

Diese Konfiguration betrifft ausschließlich den Server und hat keinen Einfluss auf die spätere Umziehbarkeit der Seite.

Wie bearbeite ich das Script?

Öffnen

nano ~/scripts/wpnew.sh

Speichern

CTRL + O
Enter

Schließen

CTRL + X

Ausführbar machen

Nach Änderungen unbedingt:

chmod +x ~/scripts/wpnew.sh

Wie führe ich das Script aus?

Wenn ein Alias gesetzt ist:

wpnew kunde-1

Alternativ direkt:

~/scripts/wpnew.sh kunde-1

Kann ich diese Installationen später umziehen?

Ja.

Da keine festen Domain-Konstanten gesetzt werden, sind die Installationen vollständig migrationsfähig.

Mögliche Methoden:

  • Duplicator
  • All-in-One Migration
  • Manuelles Kopieren + Search & Replace
  • WP-CLI

Nach einem Domain-Umzug sollte ggf. ausgeführt werden:

wp search-replace alte-url neue-url --skip-columns=guid
wp rewrite flush

Es existieren keine scriptbedingten Abhängigkeiten, die einen Umzug verhindern.

Sicherheitsaspekte

  • Keine Zugangsdaten im Script gespeichert
  • Datenbank-Zugangsdaten werden interaktiv abgefragt
  • Script liegt außerhalb des Webroots
  • Keine sensiblen Informationen werden persistiert

Warum dieses Script langfristig sinnvoll ist

Dieses Script sorgt für:

  • Standardisierte Projektstruktur
  • Zeitersparnis
  • Minimierung von Fehlerquellen
  • Saubere Server-Integration
  • Reproduzierbare Installationen
  • Professionelles Deployment

Statt jedes Projekt manuell zu konfigurieren, existiert ein klar definierter technischer Ablauf.

Wartung und Weiterentwicklung

Wenn das Script erweitert werden soll:

  • Neue Plugins → Plugin-Bereich anpassen
  • Neue Standardseiten → Seiten-Block erweitern
  • Andere Grundeinstellungen → Options-Bereich ändern
  • Sicherheitsanpassungen → entsprechende WP-CLI-Befehle ergänzen

Nach jeder Änderung:

chmod +x ~/scripts/wpnew.sh

Fazit

Das Script „wpnew“ ist mein internes Deployment-Werkzeug für neue WordPress-Projekte im Unterordner-Setup.

Es automatisiert:

  • Installation
  • Konfiguration
  • Seitenstruktur
  • Plugin-Setup
  • Sicherheitsgrundlagen

Und sorgt dafür, dass jedes neue Projekt technisch konsistent, sauber und schnell einsatzbereit ist.

Gleichzeitig bleibt jede Installation vollständig unabhängig und jederzeit problemlos umziehbar.

Ähnliche Posts

halloplugin vault

Wissen, Plugin-Entwicklung
Zentrales Plugin-Management für WordPress mit Versionierung, ZIP-Analyse und Download-Freigaben Wer eigene WordPress-Plugins entwickelt, Kundenprojekte betreut oder interne Erweiterungen für verschiedene Installationen pflegt, steht früher oder später vor demselben organisatorischen Problem:…
Posted on 19. März 2026

WordPress Plugin für Snippet Bibliothek

Wissen, Plugin-Entwicklung
Warum eine eigene Snippet Bibliothek für WordPress sinnvoll ist In der täglichen Arbeit einer Webagentur entstehen immer wieder kleine Code Lösungen. Manchmal handelt es sich um ein CSS Snippet für…
Posted on 12. März 2026

Der große E-Mail-Leitfaden 2026

Wissen, Blog
E-Mail gehört für uns alle ganz selbstverständlich zum Alltag. Gleichzeitig tauchen bei technischen Änderungen oder Neueinrichtungen Fragen auf – besonders dann, wenn etwas nicht wie gewohnt funktioniert: Genau deshalb habe…
Posted on 26. Februar 2026

Mailcow Backup- & Wiederherstellungsstrategie

Wissen, Server & Hosting
Diese Seite dokumentiert die vollständige Backup- und Wiederherstellungsstrategie für den Mailserver (Mailcow) sowie die externe Sicherung auf TrueNAS. Ziel der Backup-Strategie Systemübersicht Backup-Architektur VPS (Mailcow Server) TrueNAS VPS-Backup Speicherort der…
Posted on 18. Februar 2026

DNS einfach & ausführlich erklärt (2026)

Wissen, Blog, Server & Hosting
Was DNS ist, wie es funktioniert – und warum es für Domain, Hosting, Mail & Sicherheit entscheidend ist Wenn du eine Website betreibst oder betreiben willst, kommst du an einem…
Posted on 11. Februar 2026

JetForm & Polylang

Wissen, Plugin-Entwicklung
Wer mit JetFormBuilder arbeitet und seine Website mit Polylang mehrsprachig betreibt, stößt an eine Grenze:Formular-Labels, Checkbox-Texte, Radio-Optionen oder der Submit-Button lassen sich nicht sauber übersetzen, ohne Formulare zu duplizieren oder…
Posted on 15. Januar 2026

Kadence Palette RGB Helper

Wissen, Plugin-Entwicklung
Kadence liefert mit seinen globalen Farbpaletten eine richtig gute Basis: --global-palette1 bis --global-palette9 stehen als CSS-Variablen zur Verfügung und lassen sich in Kadence-Blöcken sowie im Theme vielseitig einsetzen. In der…
Posted on 24. Dezember 2025

Wie ich CloudPanel auf einem Netcup VPS sicher eingerichtet habe

Wissen, Server & Hosting
Vom leeren Server bis zum professionellen WordPress-Hosting Als ich mein eigenes Webhosting auf Basis eines Netcup VPS aufgebaut habe, war mir eines besonders wichtig:Ich wollte jeden einzelnen Schritt selbst kontrollieren…
Posted on 14. Dezember 2025

Smart Card Lists – warum ich dieses Plugin gebaut habe (und was es alles kann)

Wissen, Plugin-Entwicklung
Als Webagentur baue ich regelmäßig WordPress-Seiten, auf denen Inhalte nicht einfach “als Blog” funktionieren, sondern als übersichtliche Karten, filterbar, performant, und oft CPT-/JetEngine-basiert (Projekte, Referenzen, Veranstaltungen, Partner, …). Und immer…
Posted on 12. Dezember 2025

Der ultimative Leitfaden zur Bildoptimierung in WordPress

Wissen, Blog
Von der Komprimierung bis zum SEO Bilder sind ein wesentlicher Bestandteil jeder WordPress-Website. Sie ziehen die Aufmerksamkeit der Besucher auf sich, unterstützen die Botschaft Ihres Contents und können die Verweildauer…
Posted on 14. Mai 2025

Optimal vorbereitet: So planen Sie Ihre neue Webseite

Wissen, Blog
Die Planung einer neuen Webseite ist nicht nur entscheidend für deren Erfolg, sondern kann auch dazu beitragen, die Kosten so gering wie möglich zu halten. Eine gründliche Vorbereitung hilft Ihnen,…
Posted on 24. Juni 2024

Google Snippets richtig verstehen und nutzen

Wissen, Blog
Google Snippets sind kurze, prägnante Informationsausschnitte, die direkt in den Suchergebnissen angezeigt werden, um Benutzern schnelle Antworten auf ihre Suchanfragen zu liefern. Diese informativen Blöcke sollen den Nutzern eine Vorschau…
Posted on 4. Januar 2024

Was sind WordPress Plugins?

Wissen, Blog
WordPress-Plugins sind kleine oder große Zusatzprogramme, die ich zu ihrer WordPress-Webseite hinzufüge, um die Funktionalität der Website zu erweitern oder zu verbessern. Sie werden sowohl von mir selbst sowie von…
Posted on 15. Dezember 2023

Was versteht man unter Usability?

Wissen, Blog
Usability ist im Grunde das Qualitätsmerkmal Ihrer Webseite. Der Anwender sollte möglichst wenig nachdenken beim Benutzen und Navigieren. Er möchte nicht darüber nachdenken, wo sich die Hauptnavigation befindet und was…
Posted on 11. Dezember 2023