|

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

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

11. Februar 2026
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…

JetForm & Polylang

15. Januar 2026
Blog, 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…

Die technische Entstehung und Architektur des hallwebsite Filter Gallery Plugins

10. Januar 2026
Blog, Plugin-Entwicklung

Einleitung: Ein Galerie-Plugin aus Entwicklerperspektive Die Entwicklung des Hallo Filter Gallery Plugins begann mit einer klaren technischen Fragestellung:Wie lässt sich eine leistungsfähige, filterbare Galerie umsetzen, ohne WordPress zu verbiegen oder…

Kadence Palette RGB Helper

24. Dezember 2025
Blog, 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…

Wie ich CloudPanel auf einem Netcup VPS sicher eingerichtet habe

14. Dezember 2025
Blog, 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…

Wie und warum ich eine eigene, hochsichere Mailserver-Infrastruktur aufgebaut habe

10. Dezember 2025
Blog, Server & Hosting

E-Mail ist eines der wichtigsten Kommunikationsmittel im Geschäftsalltag. Viele Unternehmen verlassen sich täglich darauf, dass Nachrichten zuverlässig zugestellt werden, geschützt sind und nicht in falsche Hände geraten. Gleichzeitig steigen sowohl…

Pages Nav Shortcode – warum ich dieses Plugin gebaut habe und wofür ich es einsetze

12. Dezember 2025
Blog, Plugin-Entwicklung

In fast jedem WordPress-Projekt kommt irgendwann der Punkt, an dem klar wird: Die Standard-Navigation reicht nicht mehr aus. Nicht, weil sie schlecht wäre – sondern weil Inhalte komplexer werden. Seiten…

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

12. Dezember 2025
Blog, 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…

Seitenfarbe als Designsystem: Mein eigenes WordPress-Plugin für dynamische Farbschemata

8. Dezember 2025
Blog, Plugin-Entwicklung

Mit meinem kleinen WordPress-Plugin für die Seitenfarbe habe ich mir ein flexibles Farbsystem gebaut, das direkt aus dem Custom Field farbe gespeist wird. Egal ob Beitrag, Seite, Custom Post Type…

Maßanfertigung im WooCommerce-Shop: Wie ich einen Plattenkonfigurator mit smarter Preislogik gebaut habe

1. Dezember 2025
Blog, Plugin-Entwicklung

Wer Platten, Zuschnitte oder andere Maßanfertigungen online verkaufen möchte, kennt das Problem: Standard-WooCommerce-Produkte reichen dafür einfach nicht aus. Kunden wollen Länge, Breite und Stärke frei wählen, Zuschnitte und Bohrungen hinzufügen…

Der ultimative Leitfaden zur Bildoptimierung in WordPress

14. Mai 2025
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…

Kommentare in WordPress deaktivieren – Methoden, Plugins und Code-Lösungen – Der ultimative Leitfaden

21. April 2025
Blog

Einleitung: Warum Kommentare deaktivieren? WordPress wurde ursprünglich als Blogging-Plattform entwickelt, und Kommentare waren ein zentrales Feature, um Interaktion und Community-Building zu fördern. Doch im Laufe der Jahre haben sich die…

Die 25 besten WordPress-Plugins für 2025: Unverzichtbare Tools für jede Website

16. April 2025
Blog

Entdecken Sie die ultimative Sammlung der 25 leistungsstärksten WordPress-Plugins für 2025. Von SEO-Giganten wie Yoast SEO bis zu innovativen Neuheiten wie AltText.ai – dieser umfassende Guide präsentiert die Tools, die…

URL-Strukturierung für SEO: Der ultimative Guide für bessere Rankings

16. April 2025
Blog

Entdecken Sie, warum die URL-Struktur Ihrer Webseite ein entscheidender Erfolgsfaktor für Ihr SEO-Ranking ist. In diesem umfassenden Guide erfahren Sie, wie Sie URLs optimal gestalten, Landingpages für spezifische Keywords optimieren…

Optimal vorbereitet: So planen Sie Ihre neue Webseite

24. Juni 2024
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,…

Google Snippets richtig verstehen und nutzen

4. Januar 2024
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…

Was sind WordPress Plugins?

15. Dezember 2023
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…

Was versteht man unter Usability?

11. Dezember 2023
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…