WordPress speichert alle wichtigen Daten wie die Datenbank Verbindung, grundlegende Einstellungen in der wp-config.php
Datei. Diese Datei ist sicherlich eines der wichtigsten Dateien in WordPress, darum gilt immer – macht eine Kopie als „Backup“ bevor Ihr diese editiert.
Die Frage stellt sich, wann müsst Ihr diese bearbeiten?
- Oft nach Umzügen von Eurem Hoster zu einem anderen, dann müssen die neuen Datenbank Verbindungsdaten wie Benutzername und auch Passwort oder auch Host angepasst werden
- Bei Problemen um den Debug Modus zu aktivieren
- Um sicherheitsrelevante Sachen zu sperren
Die Datei kann nicht wie gewohnt in WordPress über ein Menü bearbeitet werden, eventuell gibt es Plugins, die dies ermöglichen – ich empfehle euch, Abstand von solchen Plugins zu halten – bzw. es nur im äußersten Notfall zu verwenden. Danach auf jeden Fall ein solches Plugin wieder deaktivieren und auch löschen.
Lokation der Datei
Die Datei ist im „Stammordner/Root Ordner“ von WordPress zu finden. /wp-config.php
und Besitz im Normalfall die Dateirechte 0644.
Zugriff auf die Datei
Auf die Datei kann mittels einem FTP Programm (FileZilla) oder auch über die vom Hoster bereitgestellten Möglichkeiten zb. WebFTP zugegriffen werden.
Die Datei wp-config.php
Die wp-config.php muss einige Elemente beinhalten, die für die Datenbank Verbindung usw. zuständig sind. Ohne diesen Einträgen funktioniert euer WordPress nicht!
Diese Informationen werden während der Installationsroutine abgefragt, oder bei „1-click“ Installationen von eurem Hoster bereits ausgefüllt.
Wichtig, die Werte die angegeben werden, müssen zwischen einem Hochkomma/ Apostrophe sein. 'Mein Wert'
Die Backticks sind Falsch! ´Mein Wert´
WordPress wird danach nicht mehr funktionieren.
Abschnitt – Datenbank
Im oberen Abschnitt der Datei sind die Grundlegenden Datenbank relevanten Daten gespeichert.
// ** 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' );
/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
Kurze Erläuterung zu den Einträgen:
DB_NAME: Datenbankname – dieser bekommt Ihr vom Hoster. (Wird beim Erstellen einer neuen Datenbank angezeigt)
DB_USER: Datenbank Benutzer, beachtet dazu, dass der Benutzer immer nur die Rechte bekommt, die er benötigt. NIEMALS root!
DB_PASSWORD: Passwort, dies dem Datenbankbenutzer zugewiesen wurde.
DB_HOST: Datenbank Server – normal „localhost“ viele Hoster haben aber separierte Server.
Hier kann auch der Port geändert werden: localhost:3302
DB_CHARSET: Zeichensatz der Datenbank (utf8, …)
DB_COLLATE: Datenbank collate, bleibt meistens leer.
Abschnitt Authentifizierungsschlüssel und Salts
Alle kritischen Daten werden in WordPress verschlüsselt, dh. Logins, Cookies, usw. Um dies zu ermöglichen, benötigt es „Schlüssel“ – wie auch im echten Leben. –> ohne Schlüssel, gibt es kein Schloss.
WordPress bietet eine Möglichkeit diese Schlüssel Online zu generieren bzw. bei der Installation (neuen Installation) zu generieren.
Sollte dieser Absatz in euerer WordPress wp-config.php fehlen, bitte ich euch, diesen nachzuholen. Grund dafür ist, dass WordPress diese Schlüssel erst seit der Version 2.6 hat. Je nach alter von eurem Blog, ist es möglich, dass dieser Absatz fehlt.
Ihr könnte zu jederzeit diese Keys ändern, dies empfiehlt sich, nach einer Übernahme von WordPress oder auch bei Infizierungen durch Malware usw.
Werden die Keys geändert, muss sich jeder Benutzer neu Einloggen.
/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @since 2.6.0
*/
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );
Datenbankprefix
Das Datenbankpräfix ist ein Vorangestellte Zeichenkette der Tabellen Namen, das sogenannte Tabellenpräfix.
In einer Datenbank ist es möglich, mehrere WordPress Installationen zu erstellen. zb. WP_1 und WP_2 usw. um dies zu unterscheiden, gibts es dieses Präfix.
Im Normalfall wird als Präfix wp_ verwendet. Viele Security Experten, sind der Meinung, dass dies nicht so sein soll, da es einen Angriffspunkt mehr gibt.
In neueren oder „1-click“ Installationen wird anstatt wp_ eine Zufallskombination aus Buchstaben und zahlen verwendet.
Wichtig, ändert dies nur, wenn Ihr auch das Präfix in der Datenbank geändert habt!
Ihr könnte zu jederzeit das Präfix ändern, dies empfiehlt sich, nach einer Übernahme von WordPress oder auch bei Infizierungen durch Malware usw.
/**#@-*/
/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each
* a unique prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = 'wp_';
Debug Mode
Sehr hilfreich ist der DEBUG Modus, wenn es Probleme mit Plugins, Theme oder auch WordPress Core gibt. Dieser sollte nur in einem Fehlerfall aktiviert werden. Dazu wird 'false'
in 'true'
ersetzt.
Es werden unter andere die Meldungen von PHP „Warnings“ dargestellt.
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*
* For information on other constants that can be used for debugging,
* visit the Codex.
*
* @link https://codex.wordpress.org/Debugging_in_WordPress
*/
define( 'WP_DEBUG', false );
Zum Aktivieren, je nach WordPress Version:
define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true ); // 5.2 and later
define( 'WP_DEBUG', true );
Ende der Datei
Am Ende der Datei dürfen keine Änderungen mehr gemacht werden.
/* That's all, stop editing! Happy publishing. */
/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', dirname( __FILE__ ) . '/' );
}
/** Sets up WordPress vars and included files. */
require_once( ABSPATH . 'wp-settings.php' );
Weitere Einstellungsmöglichkeiten
WordPress bietet noch eine reihe an weiteren Einstellungsmöglichkeiten, damit können für den Betreiber der WordPress Instanz viele Sachen auch deaktiviert werden. zb. Plugins hochladen. Oder auch Einstellungen getätigt werden, die es nicht erlauben direkten Zugriff auf die Bilder zu haben.
Alle Möglichkeiten sind in der WordPress Dokumentation vertreten.
Diese zusätzlichen Einstellungen stehen vor dem letzten Absatz
HIER
/* That's all, stop editing! Happy publishing. */
/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', dirname( __FILE__ ) . '/' );
}
/** Sets up WordPress vars and included files. */
require_once( ABSPATH . 'wp-settings.php' );
WP-Cron deaktivieren
Der WordPress interne Cron kann dadurch deaktiviert werden, dies trifft zu, wenn der Cron extern aufgerufen wird. Diese Einstellung sollte nach den Datenbank Abschnitt erfolgen, um die darunter folgenden Einstellungen nicht zu beeinträchtigen.
define('DISABLE_WP_CRON', true);
Es kann auch der Cron Timeout angepasst werden:
define( 'WP_CRON_LOCK_TIMEOUT', 60 );
Bearbeiten von Dateien ausschalten
Bei einigen Projekten ist es sinnvoll, dass der Kunde keine Dateien bearbeiten darf.
define('DISALLOW_FILE_EDIT', true);
Site / Home URL ändern
Nach Änderungen an der Domain, kommt es oft vor, dass wir keinen Zugriff mehr auf die WordPress Seite haben. Um das Problem Temporär zu beheben, kann dazu die Site und Home URL in der wp-config angegeben werden. Es empfiehlt sich, sobald wir Zugreifen auf die WordPress Datenbank haben, dies in der Datenbank zu ändern.
Nach dem Aktivieren, sind die Felder in der Administration ausgegraut!
define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');
Updates deaktivieren
In einigen Projekten kommt es vor, dass wir es nicht erlauben wollen, dass WordPress automatische Updates durchführt.
# Disable all core updates:
define( 'WP_AUTO_UPDATE_CORE', false );
# Enable all core updates, including minor and major:
define( 'WP_AUTO_UPDATE_CORE', true );
# Enable core updates for minor releases (default):
define( 'WP_AUTO_UPDATE_CORE', 'minor' );
Post Review – limits oder ausschalten
Post Reviews können zu einem großen Overhead in der Datenbank führen. Wird dies nicht regelmäßig aufgeräumt, kann sich die Datenbank schnell füllen. Um diesem entgegenzuwirken, ist es möglich dies zu limitieren oder sogar ganz zu deaktivieren.
define( 'WP_POST_REVISIONS', 3 );
define( 'WP_POST_REVISIONS', false );
Upload/PluginVerzeichnis verändern
define( 'UPLOADS', 'wp-content/anderer-media-ordner' );
define( 'WP_PLUGIN_DIR', dirname(__FILE__) . '/blog/wp-content/plugins' );
Automatisches Speichern
Beiträge werden automatisch gespeichert, dies kann deaktiviert oder auch das Intervall kann geändert werden.
define( 'AUTOSAVE_INTERVAL', 160 ); // Seconds
define( 'AUTOSAVE_INTERVAL', 0); // deactivate
PHP Memory limit anpassen
WordPress versucht automatisch das Limit zu ermitteln, wenn dies nicht möglich ist, sollte dies in de wp-config.php angegeben werden. Hier als Beispiel mit 64 MB
define( 'WP_MEMORY_LIMIT', '64M' );
Cache Module
Der WP_CACHE inkludiert die Datei, wp-content/advanced-cache.php
sobald die wp-settings.php
Aufgerufen wird.
define( 'WP_CACHE', true );
WordPress Sprache einstellen
Alle verfügbaren Sprachen sind hier aufgelistet.
define( 'WPLANG', 'de_DE' );
define( 'WP_LANG_DIR', dirname(__FILE__) . 'wordpress/languages' );
Papierkorb automatisch löschen oder deaktivieren
define( 'EMPTY_TRASH_DAYS', 30 ); // 30 days
define( 'EMPTY_TRASH_DAYS', 0 ); // Zero days -> deactivated
Datenbank Reapieren funktion
Sollte es Probleme mit der Datenbank geben, versucht WordPress dieses selbst zu reparieren. Dieser Prozess kann auch manuell gestartet werden.
Sollte diese Option aktiviert werden, ist es wichtig nach dem Durchführen diese wieder zu deaktivieren.
Aufruf ist dann: URL /wp-admin/maint/repair.php
define( 'WP_ALLOW_REPAIR', true );