Ohne diese Datei läuft bei WordPress nichts: Die wp-config.php
Noch mehr Informationen zu wp.config und wo du die Datei genau findest, kannst du in unserem HostPress Docs nachlesen. Außerdem findest du bei uns auch die Antwort auf die Frage: Was ist eigentlich PHP und wofür wird es verwendet? Außerdem findest du hier jetzt auch alle Infos und Neuerungen zu Php 8.2.
Inhaltsverzeichnis
1. Was ist Wp-config?
In dieser Datei werden wichtige Einstellungen wie die Datenbankverbindung, die Sicherheitseinstellungen und andere optionale Einstellungen definiert. Die Wp-config-Datei befindet sich im Root-Verzeichnis derWordPress-Installation. Nach dem WordPress-Codex, ist die Konfigurationsdatei eine der wichtigsten Dateien im Stammverzeichnis und enthält viele wichtige Informationen. Die Grundeinstellungen sind in der wp-config-sample.php Datei dokumentiert. Erst nach der Installation dieser Datei kann sie in wp-config.php umbenannt und an den Webserver angepasst werden.
Warum ist die wp-config.php überhaupt so wichtig?
WordPress greift bei einem Seitenzugriff auf zahlreiche Dateien zu, bevor eine Webseite geladen wird. Bei diesen Zugriffen werden Daten empfangen und gesendet, aber auch gespeichert. In der wp-config befinden sich unter anderem die Anweisungen, wo die Datenbank zu finden ist, oder ob ein eigener Cache verwendet werden soll.
2. Installation der Wp-config.php
Meine Webseite (Hauptordner der Webseite)wp-admin (Unterordner für administrative Funktionen)
- wp-content (beinhaltet Dateien und Ordner für die Webseitendarstellung und Plugins)
- wp-includes (Programmdateien für WordPress)
- Dateien für die Konfiguration und Backendanmeldung
3. Der Aufbau von Wp-config
- Anweisung für die Verwaltung von Updates
- Anweisung für den Datenbankzugriff
- Anweisung für das Laufverhalten
- Sicherheitseinstellungen
4. WP-config – Datenbankeinstellungen
Einträge finden sich in der wp-config.php und schauen wie folgt aus:
- define(‚DB_NAME‘, ‚deine Datenbank‘); // Der Name der Datenbank, die du benutzt.
- define(‚DB_USER‘, ‚deinBenutzername‘); // Dein MySQL-Datenbank-Benutzername.
- define(‚DB_PASSWORD‘, ‚PASSWORD‘); //Dein MySQL-Passwort.
- define(‚DB_HOST‘, ‚localhost‘); // Bei HostPress ist deine Datenbank von außen nicht erreichbar und kann nur über localhost auf Port 3306 angesprochen werden.
- define(‚DB_CHARSET‘, ‚utf8‘); // Zeichensatz der Datenbank.
- define(‚DB_COLLATE‘, “); // Datenbank collation (Sortierung der Datenbank – meist leer) Collations bestimmen die Sortierreihenfolgen eines SQL-Servers, beispielsweise in ORDER BY-Abfragen. Wenn eine SQL-Abfrage Textfelder auf- oder absteigend sortieren soll, ist es wichtig zu wissen, wie beispielsweise deutsche Umlaute behandelt werden sollen. Dies wird durch die verwendete Collation festgelegt.
Jedoch kannst du die Struktur in eine andere Datei auslagern und schützt damit deine Webseite und die Datenbank. Es wird eine neue Datei angelegt und alle Angaben zur Datenbank eingefügt. Aus der wp-config.php wird der Datenbank-Abschnitt gelöscht und durch einen Verweis auf die neu angelegte Datei ersetzt.
Der Dateiname der neuen Datei spielt keine Rolle. Er sollte aber keine Umlaute beinhalten. Nennen wir sie in unserem Beispiel wp-config1.php. Der Dateiinhalt besteht aus den Angaben der Datenbank und dem Präfix. Bei der wp-config.php wird folgende Anweisung unterhalb der PHP-Einleitung eingefügt:
- include(“/var/www/vhosts/deinedomain/sicherer-ordner/wp-config1.php‘);
Die Datei wp-config1.php muss nun auf dem Hostlaufwerk abgelegt werden. Bestenfalls oberhalb des Ordners, in dem sich die WordPress Installation befindet, damit dieser selbst gar nicht erst übers Web aufgerufen werden kann. Bitte beachte: alle Laufwerksangaben sind nicht aus der Sicht der Webseite vorzunehmen, sondern aus Serversicht. In unserem Falle besteht ein gewährter Zugriff seitens des Hosters ab /wwwroot. Die Pfadangaben erhältst du von deinem Provider oder in der Datenbankverwaltung. Alternativ geht es auch über den Aufruf eines PHP-Scripts. Füge den folgenden Code in eine Datei ein und lege diese in das Hauptverzeichnis der Webseite mit dem Dateinamen info.php.
<?php
$dir = dirname(__FILE__);
echo „<p>Voller Pfad zu diesem Verzeichnis: “ . $dir . „</p>“;
?>
5. WP-config – Dateischutz durch .htaccess
<files wp-config.php>
Order Allow,Deny
Deny from all
</files>
Bei dieser Anweisung wird jedoch nur die wp-config.php geschützt. Mit diesen zwei Maßnahmen
- Auslagerung der Zugangsdaten
- Dateischutz über die .htaccess
wird es Angreifern zumindest schwerer gemacht.
6. Die zulässigen Erweiterungen in Wp-config.php
- Sekunden
- Tage
- Anzahl
- true, false
- Megabyte (M)
Mit der nachfolgenden Codezeile verwendet WordPress einen anderen Zeichensatz. In unserem Falle findet jetzt der türkische Zeichensatz seine Verwendung.
- define( ‚DB_COLLATE‘, ‚utf8_turkish_ci‘ );
Hierbei ist allerdings äußerste Vorsicht geboten. Eine fehlerhafte Einstellung führt dazu, dass dein WordPress nicht mehr funktioniert.
- define( ‚WP_CONTENT_DIR‘, dirname(__FILE__) . ‚/zumBeispiel‘ );
- define( ‚WP_CONTENT_URL‘, ‚https://deineWebseite.de/zumBeispiel‘ );
- define( ‚WP_PLUGIN_DIR‘, dirname(__FILE__) . ‚/zumBeispiel/plugins‘ );
- define( ‚WP_PLUGIN_URL‘, ‚https://deineWebseite.de/zumBeispiel/plugins‘ );
- define( ‚UPLOADS‘, ‚/zumBeispiel/media‘ );
- define( ‚AUTOMATIC_UPDATER_DISABLED‘, true );
- define( ‚WP_AUTO_UPDATE_CORE‘, false );
- define( ‚AUTOSAVE_INTERVAL‘, 120 ); // Wert bezieht sich auf Sekunden
Autoupdates können jedoch schnell zu Inkompatibilitäten oder teilweise fehlerhaften Darstellungen der Inhalte führen. Wir empfehlen daher unseren SecurePlan, wobei ein WordPress-Experte deine Seite nach Durchführung aller Updates noch einmal prüft, wodurch die korrekte Funktionalität gewährleistet werden kann.
– Alex, Entwickler bei HostPress
Anzahl der gespeicherten Artikelversionen und endgültige Löschung des Papierkorbes
- define( ‚WP_POST_REVISIONS‘, 25 ); // Wert bezieht sich auf Anzahl
- define( ‚EMPTY_TRASH_DAYS‘, 30 ); // Wert bezieht sich auf Tage
- define( ‚WP_CACHE‘, true);
- define( ‚WPCACHEHOME‘, ‚/var/www/deineWebseite/plugins/wp-super-cache/‘);
- define(‚COMPRESS_SCRIPTS‘, true);
- define(‚COMPRESS_CSS‘, true);
- define(‚ENFORCE_GZIP‘, true);
- define(‚WP_MEMORY_LIMIT‘, ‚256M‘); // Wert bezieht sich auf Speichernutzung bzw. PHP-Memory – Frag lieber unseren Support, sonst beschneidest du dich hier selbst.
- define(‚W3TC_EDGE_MODE‘, true);
- define( ‚COOKIE_DOMAIN‘, ‚hootproof.de‘);
- define( ‚WP_ALLOW_MULTISITE‘, true );
- define( ‚FORCE_SSL_ADMIN‘, true );
- define( ‚DISALLOW_FILE_EDIT‘, true );
- define( ‚DISALLOW_FILE_MODS‘, true);
7. Fazit
Wenn du auf der Suche nach einem verlässlichen Hostingpartner bist, der dir auch mal bei solchen alltäglichen Herausforderungen einen Rat gibt, solltest du nach einem gut bewerteten Anbieter von Managed WordPress Hosting Ausschau halten.
2 Antworten
Der Artikel hat mir sehr geholfen, meine WordPress-Installation zu konfigurieren. Ich habe noch nie zuvor ein solches File erstellt, aber mit den Informationen, die Sie hier geboten haben, war es wirklich einfach. Vielen Dank für das Teilen Ihrer Erfahrungen! Ich werde sicherstellen, dass ich mir die Informationen merke, damit ich sie beim nächsten Mal leicht wiederfinden kann.
Hallo Nico,
danke für dein Feedback. Wir freuen uns, dass wir dir mit unserem Artikel helfen konnten. ☺️