Die WP-Config im Detail

Als Konfigurationsdatei ist die WP-Config (bzw. wp-config.php) eine der zentralen Komponenten des Content Management Systems WordPress. In erster Linie erlaubt es WP-Config WordPress essentielle Informationen über die Datenbank abzurufen und zu lagern. So enthält die WP-Config standardmäßig den Namen der Datenbank, den Usernamen des Anwenders, das Passwort des Anwenders und auch den Namen des Datenbank-Hosts. Für das richtige Funktionieren einer WordPress-Seite sind diese Informationen unabdingbar.

Doch die WP-Config hat noch einiges mehr zu Bieten. Im Folgenden sollen vier der zahlreichen Konfigurationsmöglichkeiten mit WP-Config im Detail aufgezeigt und beschrieben werden.

 

Datenbank-Einstellungen

Die wie schon erwähnt wichtigste und primäre Aufgabe der WP-Config ist das Verwalten der Datenbank-Einstellungen. Es ist daher unbedingt darauf zu achten, dass beim Aufbau der Konfigurationsdatei alles stimmen muss. Bei einem fehlerhaften Aufbau wird die betreffende Webseite i.d.R. nicht mehr funktionieren.

Die WP-Config wird nach dem Download von WordPress zunächst noch nicht existieren. Stattdessen befindet sich im WordPress-Ordner eine Datei namens wp-config-sample.php, die dann entsprechend in wp-config.php umbenannt werden muss. Ist dies geschehen, kann mit den Konfigurationen der Datei begonnen werden.

Die WP-Config ist standardmäßig wie folgt aufgebaut:

// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
define( ‚DB_NAME‘, ‚database_name_here‘ );
/** MySQL database username */
define( ‚DB_USER‘, ‚username_here‘ );
/** MySQL database password */
define( ‚DB_PASSWORD‘, ‚password_here‘ );
/** MySQL hostname */
define( ‚DB_HOST‘, ‚localhost‘ );

Es ist unbedingt notwendig, die Reihenfolge der define-Befehle einzuhalten und nicht zu ändern. Auch alle hier nicht fett-markierten Stellen dürfen nicht verändert werden. In den fett-markierten Stellen ersetzt man die Standardwerte dagegen mit den jeweils zutreffenden Werten. Beim ersten define-Befehl wird der Name der Datenbank benötigt, im zweiten Befehl der Username des Anwenders, im dritten das Passwort des Anwenders und in der letzten Befehlszeile der Datenbank-Host. In den allermeisten Fällen kann localhost als Host einfach belassen werden. Sollte dies nicht der Fall sein, muss man seinen Webhosting-Anbieter kontaktieren, um den richtigen Host-Namen bzw. die richtige Port-Nummer herauszufinden. Ist der betreffende Host-Name z.B. beispiel.com und die betreffende Port-Nummer bspw. 1077, so gibt man in der letzten Befehlszeile entsprechend ein:

define( ‚DB_HOST‘, ‚beispiel.com:1077‘ );

Wichtig: Nur falls die Datenbank-Einstellungen korrekt aufgebaut sind, machen die nachfolgenden Konfigurationen überhaupt Sinn. Bei einem nicht korrekten Aufbau hier, stürzt die betreffende Seite, wie schon erwähnt, in den meisten Fällen einfach ab.

[sam id=“1″ codes=“true“]

 

Sicherheitseinstellungen

Die WP-Config dient auch zur Steigerung der Sicherheit. Genauer gesagt ermöglicht es WP-Config seit Version 2.6 drei Sicherheitsschlüssel zu definieren, um Unbefugten den Zugang als Administrator auf einer Seite wesentlich zu erschweren. Die Sicherheitsschlüssel stellen damit sicher, dass es neben dem einfachen Login noch weitere Barrieren für potentielle Hacker gibt. Mit Version 2.7 wurde sogar noch ein vierter Schlüssel eingebunden. Der Aufbau sieht seither etwa so aus:

define( ‚AUTH_KEY‘, ’sicherheitsschlüssel‘ );
define( ‚SECURE_AUTH_KEY‘, ’sicherheitsschlüssel‘ );
define( ‚LOGGED_IN_KEY‘, ’sicherheitsschlüssel‘ );
define( ‚NONCE_KEY‘, ’sicherheitsschlüssel‘ );
define( ‚AUTH_SALT‘, ’sicherheitsschlüssel‘ );
define( ‚SECURE_AUTH_SALT‘, ’sicherheitsschlüssel‘ );
define( ‚LOGGED_IN_SALT‘, ’sicherheitsschlüssel‘ );
define( ‚NONCE_SALT‘, ’sicherheitsschlüssel‘ );

Zu jedem der vier Schlüssel (_KEY) gibt es wie man sieht korrespondierende _SALT-Werte. Die fett-markierten Stellen müssen hier mit den betreffenden Passwörtern ersetzt werden. Diese müssen sich stets voneinander unterscheiden und sollten absolut zufällige Zeichenfolgen darstellen. Am besten benutzt man für die Passwörter einen Online-Generator wie z.B. unter https://api.wordpress.org/secret-key/1.1/salt/ (bei jeder Aktualisierung der Seite entsteht ein neuer zufälliger Code).

Die Sicherheitsschlüssel werden in den Cookies des Anwenders gespeichert. Bei einer Änderung der Schlüssel, werden die Cookies ungültig und der Anwender wird sich neu einloggen müssen.

 

Erhöhung des PHP-Speichers

Mit Hilfe der WP-Config kann man auch den PHP-Speicher erhöhen. Dies ist vor allem dann wichtig, falls eine Fehlermeldung erscheint, die auf eine Überschreitung des zulässigen Speichers hinweist. Je nachdem ob es sich um eine Multisite handelt oder nicht, liegt das Limit des PHP-Speichers standardmäßig bei 40 bzw. 64 MB. Um den Speicher zu erhöhen, fügt man der WP-Config einfach folgende Befehlszeile hinzu:

define( ‚WP_MEMORY_LIMIT‘, ’96M‘ );

In diesem Fall würde sich das Limit des PHP-Speichers also auf 96 MB erhöhen. Grundsätzlich kann man jeden Wert an die fett-markierte Stelle setzen. Zu beachten ist jedoch, dass viele Webhosting-Anbieter oftmals ihrerseits den PHP-Speicher limitieren. Einen vom Web Hoster gesetzten Limit kann man auch mit WP-Config nicht überschreiten.

 

Permanentes Leeren des Papierkorbs

Auch die Anzahl der Tage, in welcher WordPress gelöschte Daten permanent entfernen soll, lässt sich durch WP-Config konfigurieren. Bei den gelöschten Daten kann es sich um Posts, Kommentare, Seiten oder auch Anlagen handeln. Standardmäßig entfernt WordPress diese gelöschten Daten nach 30 Tagen. Um die Anzahl der Tage zu ändern gibt man hinter die nachfolgende Konstante einfach die gewünschte Anzahl der Tage an:

define( ‚EMPTY_TRASH_DAYS‘, 60 );

In diesem Fall würde WordPress den Papierkorb also erst nach 60 Tagen leeren. Um den Papierkorb ganz zu deaktivieren, also alle gelöschten Daten sofort permanent zu entfernen, setzt man einfach 0 (null) ein an die fett-markierte Stelle. Zu empfehlen ist dies aber in den meisten Fällen nicht.

Sie haben ein Wordpress-Problem und brauchen schnelle Hilfe?