Konfiguration bezeichnet in der Webentwicklung alle Einstellungen, die das Verhalten eines Systems, einer Anwendung oder eines Servers steuern, ohne den eigentlichen Programmcode zu verändern.
Was bedeutet das?
Der Begriff Konfiguration stammt aus dem Lateinischen und bedeutet „Gestaltung“ oder „Anordnung“. In der IT beschreibt er alle Parameter und Einstellungen, die festlegen, wie eine Software arbeiten soll. Der entscheidende Unterschied zu Programmcode: Konfiguration wird gelesen, nicht kompiliert. Das bedeutet, man kann das Verhalten einer Anwendung anpassen, ohne neue Software zu installieren oder Quellcode zu ändern.
In WordPress ist die wichtigste Konfigurationsdatei wp-config.php. Sie liegt im Stammverzeichnis der Installation und enthält unter anderem die Datenbankzugangsdaten (Host, Datenbankname, Benutzername, Passwort), den Tabellen-Präfix, Sicherheitsschlüssel (Security Keys und Salts) sowie optionale Entwicklungseinstellungen wie den Debug-Modus. Auf Serverebene gibt es zusätzlich Konfigurationsdateien des Webservers (.htaccess bei Apache, nginx.conf bei Nginx) und des PHP-Interpreters (php.ini).
Gute Konfigurationspraxis trennt Einstellungen, die sich zwischen Umgebungen unterscheiden, vom Code. Datenbankpasswörter für den lokalen Entwicklungsrechner sind andere als auf dem Produktivserver. Deshalb sollte wp-config.php niemals in ein öffentliches Git-Repository eingecheckt werden.
Beispiel aus der Praxis
Sie möchten auf Ihrer WordPress-Website den Debug-Modus aktivieren, um Fehlermeldungen sichtbar zu machen. In der wp-config.php setzen Sie define('WP_DEBUG', true);. Zusätzlich können Sie mit define('WP_DEBUG_LOG', true); alle Fehler in die Datei wp-content/debug.log schreiben, ohne sie öffentlich im Browser anzuzeigen. Das ist wichtig auf einem Produktivsystem, weil Fehlerausgaben im Browser technische Details verraten könnten, die Angreifern Hinweise geben. Nach der Fehlersuche stellen Sie WP_DEBUG wieder auf false.
Auf Plugin-Ebene findet Konfiguration im Admin-Backend statt: Jedes Plugin hat eigene Einstellungsseiten, die Konfigurationswerte in der WordPress-Datenbank in der Tabelle wp_options speichern. Das Sicherheits-Plugin etwa konfiguriert dort, welche Anmeldeversuche blockiert werden sollen.
Tipp aus der Praxis
Halten Sie eine kommentierte Vorlage Ihrer wp-config.php ohne sensible Zugangsdaten in Ihrem Projekt-Repository. Tragen Sie stattdessen Platzhalter wie DB_PASSWORD_HERE ein und dokumentieren, welche Werte auf dem Server hinterlegt sein müssen. So können neue Teammitglieder die Installation schnell aufsetzen, und sensible Daten sind nie im Code-Repository. Zusätzlich empfiehlt es sich, die Datenbankverbindungsdaten aus der wp-config.php in Umgebungsvariablen auszulagern, die der Server bereitstellt. Viele moderne Hosting-Umgebungen unterstützen das direkt.