Die perfekte Installation

Die Zeiten ändern sich.

Dieser Beitrag scheint älter als 6 Jahre zu sein – eine lange Zeit im Internet. Der Inhalt ist vielleicht veraltet ...

Ein gewagter Titel, ich weiß. 😉 – Ich behaupte nicht, dass das hier der beste Weg ist. Er ist aber das Ergebnis jahrelanger Erfahrung und unzähligen Installationen, gepaart mit Negativbeispielen aus dem Supportforum. Entstanden ist (hoffentlich) eine sinnvolle Ergänzung zur angeblichen „5-Minuten-Installation“ für mehr Übersichtlichkeit, Sicherheit und Geschwindigkeit.

Als erstes benötigen wir natürlich einen Hoster. Die Suche nach einem geeigneten Hoster soll hier aber nicht das Thema sein. Gehen wir also davon aus, dass ein Hoster existiert. Dort erstellen wir als erstes eine Datenbank. Die MySQL-Version sollte idealerweise 5.6 oder höher sein.

Jetzt wird es interessant: Wenn dein Hoster es zulässt, empfehle ich folgende Ordnerstruktur:

  • Das oberste Verzeichnis (ggf. auch der für Webseiten vorgesehene Ordner /public_html oder /webseiten enthält nur Ordner
  • Für jede Domain/Subdomain erstellst du einen Ordner mit der Adresse als Namen (z.B. example.org)
  • Darin erstellst du einen Ordner, zum Beispiel: wp

Ein frischer Download von WordPress wird jetzt per verschlüsselter FTP-Verbindung auf den Server geladen.

Die entsprechenden Domains stellen wir nun so ein, dass sie auf den entsprechen Unterordner zeigen, also in unserem Beispiel: /example.org/wp/
Das gilt auch für Subdomains: /staging.example.org/wp/

Was sind die Vorteile dieser Ordnerstruktur?

  • Du hast kein vermülltes Root-Verzeichnis, wo sich unterschiedliche Installationen vermischen.
  • Du hast keinen Ärger mit vererbten .htaccess-Einstellungen.
  • Du siehst sofort welche Domains/Subdomains auf dem Host eingerichtet sind.
  • Du kannst die wp-config.php auch bei mehreren WordPress-Instanzen einen Ordner nach oben verschieben, wo sie nicht öffentlich erreichbar ist (WordPress findet sie trotzdem!).

Nach dem Aufruf der Domain startet das Standard-Installationsskript von WordPress. So werden auch die Sicherheitsschlüssel automatisch erstellt.

Für bessere Performance aktivieren wir noch Browser-Caching und Komprimierung mit ein paar Einträgen für die .htaccess.

Für mehr Sicherheit kommen noch mehr Einträge für die .htaccess.

Als nächstes ändern wir noch den Untertitel auf etwas anderes als „Eine weitere WordPress-Website“ …

Nun sollten wir noch einen zusätzlichen Benutzer mit der Redakteur-Rolle erstellen, so dass wir das Administrator-Konto nicht im Alltag benutzen müssen.

Als letztes widmen wir uns den Plugins. Wir löschen Akismet (oder installieren alternativ dieses Zusatzplugin) sowie Hello Dolly und installieren ein paar Plugins (je nach Anwendungsfall). In jedem Fall sollte ein Backup-Plugin installiert werden.

Fehlt etwas? Oder ist etwas überflüssig? Ich freue mich über Hinweise in den Kommentaren!

9 Antworten auf Die perfekte Installation

  1. Hallo Torsten,
    wieder ein toller Beitrag, vor allem die vorgeschlagene Ordnerstruktur hat mir sehr gefallen. Im Supportforum gibt es leider immer wieder Fälle, bei denen Nutzer mehrere WordPress-Instanzen ineinander verschachtelt haben und sich dann wundern, dass sich Änderungen gar nicht auswirken, weil sie an einer völlig falschen Stelle arbeiten.
    Auch wenn dein Beitrag vor allem technische Aspekte abdeckt, habe ich das Vorgespräch vermisst. Wenn nicht bereits vorab Ziele definiert werden, hat die Website später rasch ein ausuferndes Megamenü, weil der Kunde gerne noch hier und da anstückelt. Für Besucher, die aus dieser willkürlichen Navigation nicht schlau werden, taugt die Website dann nichts, egal wie technisch perfekt sie ist. Aus den vorab geäußerten Wünschen ergeben sich auch die technischen Anforderungen. Ich habe gerade erst erlebt, wie übel ein zu klein dimensioniertes Memory Limit sein kann, das die Bedienung der Website im Backend unbrauchbar macht.
    Bei der Serverkonfiguration via .htaccess habe ich den Eindruck, dass sich technisch weniger versierte AnwenderInnen spätestens nach dem dritten „500 – Internal Server Error“ überfordert fühlen. Über Sinn und Unsinn von All-in-One-Sicherheitsplugins haben wir uns in deinem Blog hier schon ausgetauscht. Vielleicht ist aber ein Sicherheitsplugin, dass NutzerInnen schrittweise durch die Einstellungen begleitet immer noch besser, als der Verzicht auf jegliche Absicherung?
    Bei neuen Projekten installiere ich inzwischen grundsätzlich das Plugin Query Monitor und schaue mir, wenn Theme und weitere Plugins installiert und eingerichtet sind, die Ergebnisse an. Das Plugin gibt einen fantastischen Überblick über die Systemeinstellungen (richtige PHP-Version aktiviert? passt das Memory Limit?) und die Dauer der Abfragen (vielleicht doch lieber ein Cache-Plugin?). Wenn die Website richtig läuft, kann das Plugin auch wieder mit gutem Gewissen entfernt werden.
    Die Installation eines Backup-Plugin hast du bereits genannt. Beinhaltet das auch die Konfiguration der Sicherung in einem Cloud-Dienst?
    Leider gibt es immer noch viele Kunden, die Websiten wie die Anschaffung einer Waschmaschine sehen: „einmal zahlen und dann läuft das Ding mindestens 10 Jahre“. Zur Installation gehört nach meinem Verständnis auch die Frage „und wer kümmert sich jetzt darum?“, damit Aktualisierungen regelmäßig durchgeführt und Backups gelegentlich auch auf ihre Tauglichkeit zur Wiederherstellung geprüft werden. Idealerweise ist die Website dann von vornherein so eingerichtet worden, dass sie mit wenig Aufwand gewartet werden kann.
    Wie war das noch gleich mit der „berühmten 5-Minuten-Installation“?

    Viele Grüße, Bego

    • Es ging mir nicht um das perfekte Kundenprojekt 😉 – du hast natürlich absolut Recht mit all deinen Anmerkungen.

      Ich wollte aber eher den Mythos „5-Minuten-Installation“ aufzeigen. Es gibt auch noch genug weitere Fallstricke. Zum Beispiel bei der Erstellung der Datenbank: Wenn es um Fragen wie MyISAM vs. InnoDB geht oder den Unterschied zwischen utf8 und utf8mb4, dann war auch bei mir vor nicht all zu langer Zeit Schluss mit dem Wissen. Auch der Suffix „_ci“ ist mir erst jetzt verständlich geworden (steht für case insensitive).

  2. Hi Torsten,

    wie Bego, bin auch ich sehr froh über den Abschnitt mit der vorgeschlagenen Ordnerstruktur. Vor allem das Verschieben der wp-config.php raus aus dem web root. Das halte ich persönlich für derart unbekannt (oder einfach auch nur unbeachtet?) und doch so sinnvoll bzw. sogar wichtig, dass ich schon darüber nachgedacht hatte, nur dafür einen Mini-Beitrag zu verfassen. Das kann ich mir nun sparen, denn du hast es absolut korrekt erklärt, und dazu noch gleich mehrere treffende Gründe genannt. Top!

    Viele Grüße,
    Thorsten

  3. Also, das mit den Domain-Verzeichnissen mach’ ich immer so, läuft. 👍

  4. Hallo Torsten,
    vielen Dank für wieder einmal einen guten Beitrag! Das mit der Ordnerstruktur handhabe ich ähnlich, allerdings ergänzt durch eine zusätzliche Ebene.
    Beispiel:

    /david-stingl.de/r00t/
    /david-stingl.de/subdomain1/
    /david-stingl.de/subdomain/2/

    Das ‚r00t‘ für die Ebene ohne Subdomain ist vielleicht etwas cheesy, aber mir ist bisher noch nichts Besseres eingefallen.
    Vorteilhaft finde ich an meine Lösung jedoch, dass meine Installationen im FTP-Verzeichnis zunächst nach der Hauptdomain sortiert sind.

    Herzliche Grüße
    David

  5. Hallo Torsten,
    ich erstelle seit dem ich 2017 deinen Artikel gelesen habe meine Webseiten so – Good Practice!
    Danke und herzliche Grüße,
    Miriam

Schreibe einen Kommentar

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