Wir erklären hier, wie man WordPress auf dem Webspace von ClubComputer installiert.

Achtung: Mitglieder, die mit WordPress arbeiten wollen, müssen diese Installation nicht ausführen, wir machen das für sie. Aber sie können hier nachlesen, was und warum etwas auf eine bestimmte Art konfiguriert ist.

Wie wird ein Web verwaltet?

Jedes Mitglied kann einen Webspace eingerichtet bekommen. Unsere Verwaltungsoberfläche nennt sich WebSitePanel und ist hier zu finden: https://panel.ccc.at.  Hinweis: in der nächsten Zeit muss das WebSitePanel auf eine neue Version umgestellt werden, die Änderungen im Aussehen mit sich bringen wird. Es wurde daher in diesem Beitrag auf Bilder weitgehend verzichtet, damit der Text auch auf die kommende Version, die sicher ein bisschen anders ausschauen wird, verwendet werden kann.

Hast Du ein Web? Wenn ja, dann hat es die Adresse name.clubcomputer.at oder eigenedomäne.at.

Wenn Du noch kein Web hast, dann genügt eine Mail an support{at}clubcomputer.at und wir richten Dir alles ein. Die Adresse name.clubcomputer.at kostet nichts und wird von ClubComputer im Rahmen Deiner Mitgliedschaft kostenlos zur Verfügung gestellt. Für eigenständige Namen wie eigenedomäne.at muss man eine jährliche Miete zahlen, die von der TopLevel-Domäne abhängt. .at-Domänen kosten 17,90, .com-Domänen 9,90 Euro. Und es gibt viele weitere. Hier kann man die Verfügbarkeit von Domänen-Namen prüfen: https://www.ccc.at/whmcs-bridge/?ccce=domainchecker

Was, wenn die Domäne noch nicht registriert ist?

Nehmen wir an, Du hättest eine Domäne jumbo.iam.at bestellt, dann funktioniert das Web erst, wenn der Domänenname jumbo.iam,at registriert ist. Manchmal vergehen einige Tage bis zu diesem Zeitpunkt. Um gleich nach der Einrichtung arbeiten zu können, gibt es einen Namen, der unmittelbar nach der Einrichtung verfügbar ist. Für die Domäne jumbo.iam.at ist es jumbo.iam.at.customer.ccc.at. Damit kann man sich bereits mit der Weboberfläche vertraut machen und die Wartezeit bis zur Registrierung des Namens verkürzen.

Wie wird WordPress installiert?

Es gibt mehrere Möglichkeiten:

  • im Wurzelverzeichnis (dann meldet sich mit dem Aufruf der Seite automatisch auch gleich WordPress).
  • in einem Unterverzeichnis, dann meldet bei Aufruf der Domäne zuerst eine Startdatei im Wurzelverzeichnis, von der aus erst die eigentliche WordPress-Seite aufgerufen wird. Diese Installationsart wird dann gewählt, wenn bereits Inhalte existieren, die nicht verändert werden sollen.

Für Neuinstallationen empfehlen wir, WordPress im Wurzelverzeichnis zu installieren. Es gibt fast keine Notwenigkeit, Inhalte in anderen Verzeichnissen zu pflegen, weil man immer versuchen sollte, alle Inhalte auch durch WordPress verwalten zu lassen. Wir werden aber darüber berichte, wie man solche Konstrukte realisieren kann.

Wichtiger Hinweis: Alles was jetzt folgt, muss ein Benutzer von WordPress zunächst nicht wissen. Alles das liegt „unter der Motorhaube“. Der Benutzer bekommt von uns ein schlüsselfertiges WordPress-Haus. Das Haus findet er unter der vorgegeben Adresse (http://jumbo.iam.at), der Schlüssel besteht aus Usernamen und Passwort.

Noch ein Wort zum Usernamen und zum Passwort. Es ist ganz ähnlich wie bei Windows. Es ist sicherer, wenn der Username des Administrators nicht admin oder administrator ist, weil dann ein Angreifer diesen Namen nicht erraten muss. Auch der Name des Webs ist nicht gut, weil auch das nahe liegend ist. Ich habe mir daher angewöhnt, denselben Namen wie bei der Datenbank zu verwenden, also in unserem Beispiel wp_jumbo. WordPress besteht an dieser Stelle auf einem starken Passwort. Ein solches Passwort muss lang sein und alle Arten von Zeichen enthalten. Am Schluss dieses Berichts wird darauf noch eingegangen.

Installation von WordPress für das Web jumbo.iam.at

Zugang zum Webspace

Wenn wir ein Web anlegen, dann gehört dieses Web einem Besitzer mit einem Usernamen; zum Beispiel jumbo. Dieser User jumbo verfügt über einen Ordner mit dem Namen jumbo, einen Ftp-User mit dem Namen jumbo und eine oder mehrere E-Mail-Adressen mit dem Namen seiner Domäne. Die erste Mailbox heißt mail@jumbo.iam.at.  Weiters besitzt er das Recht eine Datenbank anzulegen. Jeder Benutzer unseres System erhält daher folgende Angaben, mit denen er dann weiterarbeiten kann:

Server: https://panel.ccc.at
User: jumbo
PW: <Passwort>

FTP-Server: ftp://ftp.ccc.at
User: jumbo
PW: <Passwort>

Mailserver POP/IMAP/SMTP: mail.jumbo.iam.at, (besser aber mail.ccc.at verwenden)
Mailbox: mail@jumbo.iam.at
PW: <Passwort>

Anlegen einer MySQL-Datenbank

Beginnen wir mit der Datenbank. Wir legen im Menüpunkt „MySQL 5.0“ die Datenbank wp_jumbo an. Der Name wäre eigentlich beliebig. Aber für die Administration hat der Präfix wp_ den Vorteil, dass alle Datenbanken mit diesem Präfix übersichtlich zusammengefasst werden und gleichzeitig klar ist, dass es sich um WordPress-Datenbanken handelt.

Datenbank: wp_jumbo

Danach benötigen wir einen Datenbank-User:

Datenbank-User: wp_jumbo
Datenbank-Passwort: <Passwort><Passwort>

Beim Anlegen des Datenbank-Users hat man die Möglichkeit, den User mit der Datenbank zu verknüpfen. Wenn sich also dieser Benutzer an MySQL anmeldet, wird die verbundene Datenbank automatisch geöffnet. Und diese Checkbox muss man anklicken.

Jeder Punkt, an dem man sich identifizieren kann, ist ein potenzielles Angriffsziel. Diese Datenbankschnittstelle wird noch dazu praktisch nie verändert. Ich habe es mir daher angewöhnt, das Passwort für die Datenbank zu verdoppeln. Man muss es ohnehin nie selbst eingeben und daher spielt die Länge keine Rolle. Das Passwort sollte aber nicht länger als 20 Zeichen sein. Es würde sonst am Datenbankserver abgeschnitten und die Verbindung funktioniert nicht.

Diese Datenbank-Angaben müssen wir uns notieren, wir brauchen sie später bei der Einrichtung der Konfigurationsdatei für WordPress.

Aufbau eines Webs von ClubComputer

Das Wurzelverzeichnis heißt so wie der Benutzername, in unserem Beispiel jumbo. In diesem Verzeichnis liegt das Verzeichnis der Domäne jumbo.iam.at. Und in diesem liegen dann drei Verzeichnisse data, logs und wwwroot. In wwwroot befindet sich die Startdatei default.htm und die Konfigurationsdatei web.config. So ist die Struktur:

jumbo
+-jumbo.iam.at
  +-data 
  +-logs 
  +-wwwroot
    +-default.htm
    +-web.config

Die Datei default.htm ist eine Startdatei und die sollte man nicht löschen. Es kann mehrere Startdateien im selben Verzeichnis geben. default.htm wird angezeigt, wenn sonst keine andere Startdatei gefunden wird. Wenn einmal WordPress installiert ist, kommt auch noch die Startdatei index.php dazu.

web.config enthält gewisse Konfigurationsdetails wie zum Beispiel die Startdokumente. Auch web.config sollte man nicht löschen. Tut man es doch einmal versehentlich, muss man sich eine Version aus einem Backup besorgen oder die Einstellungen der Website im WebSitePanel wieder korrigieren. Der Server legt dann die web.config automatisch wieder an und setzt auch die richtigen Einträge wieder ein. Wenn man selbst die web.config editiert, kann es zu Syntax-Fehlern kommen. In diesem Fall kommt es zu einer Fehlermeldung. Die Fehlersuche kann etwa so vor sich gehen, dass man die web.config zuerst umbenennt (dann verschwidet der Fehler) und danach abschnittsweise in Betrieb nicht, bis man den Abschnitt gefunden hat, dern den Fehler bewirkt.

Download und Upload der Installationsdateien

Die deutsche Version von WordPress kann hier downgeloadet werden: https://de.wordpress.org/txt-download/. Die aktuelle Version ist 4.7.2 (Februar 2017) und ist 8.8 MB groß. Sie heißt wordpress-4.7.2.-de_DE.zip. Nach dem Download befindet sich die Datei im Download-Ordner des eigenen Rechners.

Wir verwenden den Dateimanager des WebSitePanel, um die Datei in das Web upzuloaden, am besten in das Verzeichnis des Webs jumbo/jumbo.iam.at.

Jetzt wird die Datei entpackt und dabei entsteht das Verzeichnis wordpress, indem sich alle erforderlichen Dateien befinden. An dieser Stelle können die Dateien nicht bleiben, daher betritt man das Verzeichnis wordpress, markiert dort alles und verschiebt es in den Ordner jumbo/jumbo.iam.at/wwwroot. Danach löscht man das nunmehr leere Verzeichnis wordpress.

Jetzt befinden sich alle Dateien an ihrem endgültigen Bestimmungsort.

Die .zip.Datei kann man sich aufheben für den Fall, dass man WordPress exakt mit dieser Version neu installieren muss. In allen anderen Fällen kann man sich die jeweils aktuelle Version von der obigen Webseite holen. Ganz so wichtig ist also diese Datei nicht. Wichtiger wird es sein, ein Backup der eigenen Daten zu haben. Das wird aber Gegenstand eines eigenen Beitrags sein.

Vergabe von Schreibrechten an den Internet-User

Es ist eine relativ neue Eigenschaft, dass sich WordPress automatisch aktualisiert. Wir, als Betreiber dieser Server empfinden diese Eigenschaft als eine große Errungenschaft, weil damit auftretende Sicherheitslücken bei jeder einzelnen Installation automatisch beseitigt werden. Diese automatische Aktualisierung wird ermöglicht, indem der Internet-User Schreibrechte bekommt. Man klickt daher auf das kleine Schloss neben dem Ordner wwwroot. Es öffnet sich ein Dialog, bei dem zwei User angegeben sind. Einer davon heißt so wie die Website, in unserem Beispiel jumbo.iam.at. Bei diesem User klickt man die Checkbox „Schreiben“ an und dann noch die Checkbox „Berechtigungen aller Tochterobjekte ersetzen“.  Jetzt auf „Berechtigungen setzen“ klicken.

Der andere User NETWORK SERVICE ist in diesem Zusammenhang unwichtig, der wird nur bei ASPX-Programmen benötigt.

Der Vorteil dieses Schreibrechts ist, dass WordPress eine neue Version ganz automatisch, meist in den Nachtstunden, auf den Server übertragen kann.

Der Nachteil ist, dass es einen Schreibzugang zu Bereichen gibt, die üblicherweise kein Schreibrecht benötigen, also Programmverzeichnisse.

Setzen der Startdatei index.php

Der Webserver stellt anfangs einige typische Startdokumente ein. Für die korrekte Arbeitsweise von WordPress muss es aber die Datei index.php sein. Wir gehen daher im WebsitePanel folgenden Weg: Websites -> jumbo.iam.at -> Startdokument und geben in dieser Liste zwei Dokument an (in dieser Reihenfolge); index.php default.htm. Alle anderen löscht man.

Die Reihenfolge ist wichtig, denn WordPress verlässt sich drauf, dass bei Aufruf eines Verzeichnisnamens immer automatisch die Datei index.php geladen wird. Sollte aus irgendeinem Grund index.php nicht gefunden werden, meldet sich die zweite Startdatei default.htm.

Man kontrolliert noch im Tab „Erweiterungen“, ob die aktuelle Version von PHP aktiviert ist.

Konfigurieren der Datei wp-config.php

Das gezippte Installationsarchiv von WordPress enthält eine Datei wp-config-sample.php aber keine Datei wp-config.php.

Dieser Umstand bietet folgende wichtige Möglichkeit: sollte man im Zweifel sein, ob die Installation von WordPress noch intakt ist, kann die gespeicherte .zip-Datei mit allen Dateien über dem Verzeichniss wwwroot entpacken (so wie bei der Installation) und eventuell korrupte Dateien werden wieder durch die Originale ersetzt. Da diese eine Datei wp-config.php, die die Konfiguration enthält, bei diesen gezippten Originalen nicht dabei ist, wir diese eine Datei auch nicht angetastet und WordPress sollte sich wieder fehlerfrei melden.

Man navigiert im Dateimanager in das Verzeichnis wwwroot und sucht dort die Datei wp-config-sample.php. Mit einem Klick auf das Bleistiftsymbol öffnet man diese Datei zum Editieren. Es wäre etwas mühsam, diese Datei in diesem einfachen Editor zu bearbeiten. Daher markiert man den gesamten Inhalt mit Strg-A und kopiert den Kode mit Strg-C in die Zwischenablage und überträgt den Kode mit Strg-V in einen Editor seiner Wahl, zum Beispiel in Notepad++. Danach kann man die Datei wp-config-sample.php im Dateimanager des WebSitePanel wieder schließen.

In dieser Kopie sind folgende Eintragungen durchzuführen (Alle Anmerkungen und nicht betroffene Zeilen sind hier weggelassen und werden auch nicht verändert):

define('DB_NAME', 'wp_jumbo');
define('DB_USER', 'wp_jumbo');
define('DB_PASSWORD', '<Passwort><Passwort>');
define('DB_HOST', 'mysql51.ccc.at');

define('AUTH_KEY',         'rd`Bm[(>RG 1+[AxEa6H8V$Z%LOugY8(z:?.v,#w&mUBT)N3+;5LQ!V[GK:5I#FY');
define('SECURE_AUTH_KEY',  '[@C252mV-lQJS[OY`kSZldq2$y5n(&f<qsn]xIP}?}?)?ns/.W}^wuu+rk~uD+;d');
define('LOGGED_IN_KEY',    '9x~HtHf?US0~krI3>ePF8K<8E-?ZS`MWuW|-|_SEUjsdDI(fp8I&Kz&_6,0Mhfa9');
define('NONCE_KEY',        'Df-09P&dS|jpAL-R}[Pq7lQaCLgIySv89{Z>{J`d<na#+.#_Xv7g_[LL0x/`g h6');
define('AUTH_SALT',        'y :`y)X$kVxynn^E]*.K0M:lVx~ruPaG=hD0qL8:]==!lofe2eU_`fHsA,)1FI6i');
define('SECURE_AUTH_SALT', '{b~LKEb4Q/[Rq-)pdGpBY_]*t .rtWY*--5sM9zIdcWfH5+`4Mqkj;SFwa612Mqa');
define('LOGGED_IN_SALT',   'Kade6$mMO]6v=_Ho9aq=_];M1tuFx(iO=6kdh78.+!g2+6hLC<*u3,h[mJcS9u[x');
define('NONCE_SALT',       '01%0u4I.ymvr3Ca8E|GBX7jrC:BLme5$$AkQT-!+9=!usM-E!g2,U]#KRo0_:kaK');

Die ersten vier sind bekannte Bezeichnungen vom Anlegen der Datenbank. die 8 langen Schlüssel bekommt man durch Aufruf der Seite https://api.wordpress.org/secret-key/1.1/salt/
Diese Seite generiert bei jedem Aufruf einen anderen Satz von Schlüsseln. Es handelt sich bei diesen Schlüsseln um „Salz“, welches verhindert, dass Angreifer Passwörter erraten können, indem sie Cookies auslesen und untersuchen. (Das ist aber nur eine ziemlich kurze Erklärung. Wer es genauer wissen will, kann hier nachlesen: Warum die Salt-Keys wichtig sind (englisch).

Jetzt betritt man im Dateimanager wieder das Verzeichnis wwwroot und legt dort mit „Datei anlegen“ eine neue Datei mit dem Namen wp-config.php an. In dieser Datei kopiert man die soeben editierte Datei und speichert sie.

Das war’s auch schon, WordPress ist bereit zum ersten Start.

Start von WordPress

Man öffnet einen Browser und gibt die Adresse http://jumbo.iam.at ein.

Nehmen wir einmal an, wir hätten bei den vorigen Schritten irgendwo einen Fehler gemacht.

Beispiel: wp-config.php wurde nicht oder falsch angelegt. Dann erhalten wir einen Text, der sich vorsichtiger Weise gar nicht „Fehlerbeschreibung“ nennt, weil man offenbar den User nicht gleich verunsichern will. Jedenfalls erhält der Text Hinweise, was die Ursache sein kann.

Beispiel: Wenn wp-config.php korrekt ist aber zum Beispiel die Datenbank nicht angelegt ist oder das Passwort für den Datenbankuser nicht dasselbe ist wie in wp-config.php, dann bekommt man zu sehen:

Fehler beim Aufbau einer Datenbankverbindung

Und das schaut schon viel mehr wie ein Fehler aus, weil es keinerlei Formatierung enthält. Mich wundert das ein bisschen, denn es kann ja keine Schwierigkeit sein, diesen Fehler abzufangen und mit einem besser beschreibenden Text zu versehen, damit der User weiß, was er jetzt tun soll.

So könnte der Text ausschauen (und den sieht man auch, wenn man an derselben Stelle die Seite http://jumbo.iam.at/wp-admin eingibt):

Wenn aber in den vorher beschriebenen Schritten kein Fehler gemacht wurde, oder eben diese beseitigt worden sind, öffnet sich nach wenigen Augenblicken eine spartanische Seite, die zur Eingabe von Seitenbezeichnung, E-Mail-Adresse, Usernamen und Passwort auffordert:

Vorausgefüllt ist nur das Passwort. Es ist bisschen eine Zumutung, ein so langes und komplexes Passwort zu verwalten. Aber es geht auch kürzer und ist trotzdem „stark“. Es kommt dem WordPress nämlich darauf an, dass die Zeichen aus einem möglichst großen Zeichenraum kommen. Großbuchstaben, Kleinbuchstaben, Zahlen, Zeichen. Das kürzeste, als „stark“ akzeptierte Passwort besteht aus 6 Zeichen und enthält Zeichen nicht nur aus dem ASCII-Zeichenraum sondern darüber hinaus auch Unicode-Zeichen. Also zum Beispiel J#äM0€ ist bereits ein starkes Passwort. Man muss sich Usernamen und Passwort gut merken. Sollte sich ein Benutzer aber ausgesperrt haben, können wir ihm helfen.

Klickt man auf „WordPress installieren“ dauert es einige Augenblicke bis die Tabellen in der Datenbank angelegt sind und dann sieht man bereits das so genannte Dashboard von WordPress, die Verwaltungsoberfläche. Diese ist immer gleich, ganz egal, welches Thema eingesetzt wird.

WordPress-Thema

Ein WordPress-Thema beschreibt, wie die Inhalte einer Webseite angezeigt werden, also das Aussehen der Seite. Wir mussten bei der Installation gar kein Thema angeben. WordPress wird immer mit den drei letzten Jahresthemen ausgeliefert und aktiviert das jeweils letzte. Klickt man links oben auf den Seitentitel „Asia-Restaurant“, sieht man die eindrucksvolle Startseite des aktuellen Themas „Twenty Seventeen“. So also schaut seit Dezember 2016 jede Ersteinrichtung von WordPress aus.

Die WordPress-Community erzeugt in jedem Jahr ein neues Thema, welches gleichzeitig alle Neuerungen im System testet. In diesem Jahr ist es der Menüpunkt „Customizer“ in der schwarzen Administrationszeile oben, mit dem man einzelne Elemente des Layouts einfach anpassen kann. Dieser Menüpunkt ist neu und erleichtert die Konfigurierung des Themas.

An dieser Stelle ist die eigentliche Installation beendet und die Arbeit an den Details der Webseite kann beginnen.

Zur Werkzeugleiste springen