Die WordPress Installation – Teil#1: Setup

Achtung: Dieser Artikel hat bislang lediglich „Entwurfsstatus“ und wird in Kürze ergänzt und vervollständigt!

Heute kam im Unterricht der Medienfachwirten Digital eine interessante Frage auf – „Wie setze ich eine WordPress Installation möglichst einfach und sicher auf?

Ich würde mich nicht als extremen WordPress Spezialisten bezeichnen, aber ich habe nach gut 10 Jahren doch einen guten Einblick und teile deshalb meinen persönlichen Workflow für Installation, Sicherheitsvorkehrungen, Theme-Design und individuelle Anpassung gerne.

Im ersten Teil geht es deshalb um die möglichst zeitsparende und schmerzfreie Installation..

Ich bevorzuge WordPress als „CMS“ – zugegebenermaßen oft ein wenig missbräuchlich, denn auch wenn WordPress mittlerweile eine Menge „echter“ CMS-Funktionen bietet, im Kern ist es immer noch ein Blogsystem – häufig für kleine und mittelständische Kunden gegenüber Systemen wie Contao, Drupal oder Typo3.

Die Gründe liegen auf der Hand – das System ist schnell aufgesetzt und der Kunde kann nach einer kurzen Schulung (auch Remote via Skype/Teamspeak oder Screenshare) zumeist recht umgehend und ohne große Barrieren direkt mit dem System arbeiten, ohne dazu „Raketenphysiker“ sein zu müssen oder lange Tutorials zu wälzen.

Klar, die anderen Systeme bieten je nach Projektanforderungen klare Vorteile, die WordPress nicht bietet oder lediglich umständlich damit zu ermöglichen sind. Aber darauf werde ich ein andermal in einem CMS-Produktvergleich eingehen. Und auch mit dem Thema „Für welche Art von Projekt ist WordPress die richtige Wahl?“ werde ich mich ein andermal beschäftigen.

Setzen wir also einmal voraus, dass WordPress (im Folgenden oft nur kurz: „WP„) die Projektanforderungen erfüllt, gehe ich folgendermaßen vor:

WordPress Installation

Die Voraussetzungen

Um WP – ab Version 3.2 – installieren zu können, muss der Webserver zumindest folgende Voraussetzungen erfüllen:

  • PHP Version 5.2.4 oder höher
  • MySQL Version 5.0 oder höher
  • Eine vorab eingerichtete Datenbank. Dazu benötigt ihr:
    • Host der Datenbank
    • Name der genutzten Datenbank
    • Username für die Datenbank
    • Passwort für die Datenbank
  • PHP Memory Limit von mindestens 32MB.
    Generell gilt: je mehr, desto besser, ansonsten können ggf. Probleme bei verschiedenen Themes oder Plugins auftreten.

Optional, aber sinnvoll:

  • Apache mod_rewrite Modul für menschenlesbare und suchmaschinenoptimierte URLs
  • Eine max_execution_time von mindestens 60 Sekunden wäre sinnvoll. Darunter kann ggf. das ein oder andere Theme/Plugin schon mal haken.
    Mehr Infos – und diverse Lösungen dazu – gibt es im WordPress Codex.
  • Damit Bilder automatisch auf passende Größen (Thumbnail, mittlere Größe, großes Bild) runtergerechnet werden können, wäre es sinnvoll, wenn euer Webspace die gd_lib unterstützen würde.
  • PHP Memory Limit von 64MB oder mehr wären je nach Installation und benötigter Plugins sinnvoll.

Viele Provider erfüllen diese Voraussetzungen, zum Teil auf Anfrage, andere aber nur einen Teil. Jüngstes Beispiel bei einem Kunden mit einem Telekom-Account: Hier ließen sich partout keine „schönen“ URLs generieren – die Telekom hält das laut Service-Info für ein Sicherheitsproblem. Meines persönlichen Erachtens nach ein völlig an den Haaren herbeigezogenes Argument, aber die Entscheidung überlasse ich jedem selbst.

Im oben genannten Beispiel schauten die URLs dann wie folgt aus: „www.domainname.de/index.php/kategorie/artikelname“ .
Bei vorhandenem mod_rewrite hätte dort nur „www.domainname.de/kategorie/artikelname“ gestanden.

Ich habe bislang nur gute Erfahrungen mit Hosteurope gemacht. Für kleine Auftritte reicht häufig schon das Paket WebHosting Basic. Dies erfüllt alle vorab genannten Voraussetzungen wie auch die optionalen Merkmale.
(Hinweis: Durch Klick auf den vorgenannten Link erhalte ich zugegebenermaßen eine kleine Provision. Ein umfassendes und neutrales Bild über Provider im Allgemeinen könnt ihr euch auch auf der Webhostlist machen.)

WordPress – die Standard-Installation

Zunächst einmal benötigen wir das Installationspaket, das zunächst entpackt und dann per FTP auf den Webserver übertragen werden muss. Dies könnt ihr euch in der jeweils aktuellen englischen Version hier oder hier in der eingedeutschten WordPress Version herunterladen.

Die Übertragung der rund 1110 Dateien mit einer Gesamtgröße von ca. 17MB mag eine Weile dauern.

Nach erfolgter FTP-Übertragung könnt ihr die Domain bzw. das Verzeichnis aufrufen, auf die ihr die Daten übertragen habt und werdet mit dem für WP berühmten „5 Minute Install“ konfrontiert.

Wichtig dafür ist lediglich, dass ihr die Zugangsdaten für die Datenbank zur Hand habt – alles andere könnt ihr auch später noch über das Admin-Interface jederzeit ändern.

WordPress – die „smartere“ Installation

WordPress Installation Tool - WProller.com

WordPress Installation Tool – WProller.com

Schön wäre es ja, wenn man WordPress direkt als individuelles Paket mitsamt spezieller Themes, Plugins und individueller Konfiguration herunterladen könnte…

Kein Problem – haben sich auch die Macher von WProller.com gedacht! Und das wäre auch mein Tipp!

Ich gehe also folgendermaßen vor:

  • Gewünschte Sprachversion auswählen
  • Gewünschte Plugins auswählen. Meine Empfehlungen wären wie folgt:
    • Ad Management – kneifen wir uns erstmal.
      Wer ein neues Blog mit Werbung starten will, hat meines Erachtens nach einen Konzeptfehler! Außerdem lässt sich das im Normalfall ressourcenschonender direkt über das Template lösen. Generell gilt bei WordPress: Nicht jeden „Mist“ muss man über ein „unnötiges“ Plugin lösen. Merke: Jedes Plugin kostet Ressourcen/Arbeitsspeicher und verlangsamt das System nur unnötig.
      Lediglich, wenn man Ads direkt über WP verwalten will, bleibt uns an dieser Stelle kein anderer Weg. Dennoch möchte ich bis hierhin an dieser Stelle keine Empfehlung aussprechen..
    •  Analytics – auch das halte ich für unnötig, wenn kein Reporting direkt innerhalb WPs erfolgen soll. Das geht weitaus ressourcenschonender über das Template und die direkte Ansicht beispielsweise in Google Analytics oder Piwik.
    • API und Audio kneife ich mir – das ist wirklich sehr projektbezogen.
    • Backup – halte ich an dieser Stelle für unnötig, dafür sorgt gleichzeitig eine Security Komponente (s.u.).
      Außerdem gibt es andere hilfreiche Plugins, die z.B. die kompletten Daten periodisch mit einer Dropbox synchronisieren können.
    • Caching – sollte für die meisten kleinen Seiten unnötig sein und würde ich mir zumindest während der /bis zur Entwicklung eines fertigen Themes erst einmal kneifen. Dieses Thema will ich außerdem gern an anderer Stelle vertiefen.
    • Calendards and Events, sowie CMS kneife ich mir ebenfalls, auch dazu gern später Empfehlungen. Ansonsten an dieser Stelle für eine „Standardinstallation“ zu speziell..
    • Contact Forms – Ein Kontaktformular benötigt sicherlich jeder in der ein oder anderen Form. Meine persönliche Empfehlung dbzgl. geht auf „Contact Form 7“ – leicht durch den Redakteur zu erstellen und verwalten.
    • Dashboard and Admin Tools, Developer, Downloads and Documents, eCommerce, Editing and Writing, Email Campaigns, Fonts and Typography kneife ich mir ebenfalls erstmal.  Alles hilfreiche Plugins, allerdings fällt die Wahl hier jeweils eher sehr projektbezogen. Eine pauschale Empfehlung möchte ich deshalb nicht treffen.
    • Images and Galleries – sehr nützlich. Die hier vorgeschlagenen Plugins sind allerdings eher projektbezogen empfehlenswert.
      Es gibt allerdings nur zwei Plugins, die ich pauschal empfehlen würde und hier nicht gelistet sind: Eines um die Dateigröße von Bildern beim Upload zu optimieren und das letzte Kilobyte herauszuholen, ein weiteres wäre die klassische „Lightbox“, die wohl in nahezu jedem Projekt Verwendung findet. Dazu aber ein andermal mehr..
    • Localization und Maps: Normalerweise unnötig.
    • Mobile: Ebenso unnötig. Unser finales Ziel ist die Erstellung eines responsiven Themes und das ist per Definition „mobile“.
    • Search: Je nach Projektvoraussetzung und Umfang der Site sind hier verschiedene Tools hilfreich. Aber für den „Kleinunternehmer von nebenan“ dürften die meisten wohl eher unnötig sein.
    • Security: Von meiner Seite eine klare Empfehlung bzgl. WP Better Security
    • SEO: Auch an dieser Stelle eine ganz klar, aber natürlich subjektive Empfehlung: WordPress SEO by Yoast. Das erledigt die XML-Sitemaps im übrigen direkt mit..
    • Social: Auch hier sind verschiedene hilfreiche Tools gelistet, die zum Beispiel das Crossposting eines Artikels auf Twitter/Facebook ermöglichen. Spezielle Lösungen dazu stelle ich aber gern einmal später vor. Eine pauschale Aussage lässt sich auch hier nicht treffen.
    • Users und Video sind ebenfalls sehr projektspezifisch und deshalb an dieser Stelle keine Empfehlung von meiner Seite.
  • Wer mag, kann an dieser Stelle direkt auch Plugins aus dem WordPress Repository angeben, die in das individuelle Installationspaket integriert werden.
  • Themes möchte sicher jeder für sich individuell wählen.
    Ich würde an dieser Stelle das Shoestrap Theme empfehlen, da es auf Bootstrap 3 baut, zahlreiche Konfigurationsmöglichkeiten bietet und (voraussichtlich) Grundlage für meinen Theming-Guide sein wird. Alternativ ist auch das Bones-Theme einen Blick wert, welches auf dem responsiven HTML5Boilerplate Framework aufbaut.

Alle folgenden Einstellungen für die install.php können natürlich auch direkt gesetzt werden. Das „Hello Dolly“ Plugin ist z.B. nur ein Dummy-Modul und die Testbeiträge nach jeder Installation zu löschen, ist sicherlich auch lästig. Grundsätzlich lässt sich das aber auch alles nachher vornehmen.

Damit hätten wir unser individuelles Installationspaket, welches wir nun herunterladen und entpacken, sowie auf den Server übertragen müssen. Die Installation selbst erfolgt so, wie in der vorangegangenen Methode genannt.

Die WordPress Konfiguration

Viele Möglichkeiten und Einstellungen von WordPress lassen sich direkt über das Backend (die administrative Oberfläche) vornehmen. Allerdings gibt es auch zahlreiche sinnvolle Parameter, die nicht so offen zugänglich und auch nur relativ versteckt dokumentiert sind. All diese Einstellungen können manuell in der wp-config.php vorgenommen werden. Erheblich komfortabler ist das aber über ein Webtool namens GenerateWP möglich.

Individuelle Konfiguration mit GenerateWP

Bevor ich persönlich meine Installationsroutine aufrufe, erstelle ich mir eine individuelle Konfiguration. An dieser Stelle seien nur die wichtigsten Parameter genannt.

Individuelle Konfiguration mit GenerateWP

Individuelle Konfiguration mit GenerateWP

  • DB Connect und DB Tables würde ich niemals mithilfe eines externen Dienstes konfigurieren und ihm somit die sensitiven Daten zu meinem Blog anvertrauen. Allerdings macht es Sinn, aus Sicherheitsgründen das Database Table Prefix zu ändern!
  • Security: Salt Keys sollte jeder setzen, dies geschieht bei der Installation ansonsten aber auch automatisch. Wer auf seinem Webserver über SSL verfügt, sollte dies für die Administration in jedem Fall auswählen. Das Frontend kann im Normalfall ungesichert bleiben. Andernfalls sorgt dies nur für zusätzliche Anforderungen an die Ressourcen des Webservers.
  • Die Standard-Sprache sollte zudem ausgewählt werden.
  • Address: Hier gibt es einige Dinge zu beachten, die für die Sicherheit eines WP-Systems relevant sind. Die Parameter für Content-URL, Plugins-URL und Uploads-URL würde ich anpassen, damit klassische Standard-Angriffe auf ein WP-System ausgeschlossen werden können. Wichtig ist, dass die Dateien auf dem Server dann natürlich auch in die korrekten Ordner verschoben werden. Meine Einstellungen passe ich z.B. folgendermaßen an:
    • Content URL: /content (Ordner auf dem Server muss dann umbenannt werden)
    • Plugins URL: /plugins (Ordner auf dem Server muss dann ins Rootverzeichnis verschoben werden)
    • Uploads URL: /uploads (Ordner muss im Rootverzeichnis manuell angelegt werden).
      Damit kann ich auch direkt das komplette System löschen und ggf. neu aufsetzen, ohne die Uploads selbst zu beeinflussen.

 

Links zum Thema

Thomas A. Reinert
Freelancer, MediaDesign, CEO TARThemes.com bei TAR MediaDesign
Thomas ist (hauptsächlich) Frontend-Entwickler auf Basis von HTML5, CSS3 und jQuery. Nach insgesamt 35 Jahren Programmiererfahrung, 20 davon als Webentwickler und knapp 10 Jahren Wordpress hat er einen guten Einblick in das Backend, die Theme- sowie Plugin-Programmierung und individuelle Anpassungen an die jeweiligen Projektvoraussetzungen. Zusätzlich unterrichtet er als freier Dozent in der Berufsbildung und ist seit 2013 im Prüfungsausschuss der IHK Köln für "Mediengestalter Digital und Print, Fachrichtung Digital" tätig.

Schreibe eine Antwort

Deine E-Mailadresse wird nicht veröffentlicht Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>