Konfigurationsanleitung
SLAED CMS verwendet ein modulares Konfigurationssystem, bei dem jeder Aspekt des Systems durch separate Konfigurationsdateien konfiguriert wird.
Inhaltsverzeichnis
Konfigurationsstruktur
Die SLAED CMS-Konfigurationsdateien sind im Verzeichnis config/
organisiert:
config/
├── config_db.php # Datenbankeinstellungen
├── config_global.php # Globale Einstellungen
├── config_core.php # Kerneinstellungen
├── config_security.php # Sicherheitsparameter
├── config_*.php # Modul-Konfigurationen
├── cache/ # Zwischengespeicherte Dateien
└── logs/ # Protokolldateien
Hauptkonfiguration
Die Hauptdatenbank-Konfiguration ist in config/config_db.php
gespeichert:
<?php
if (!defined('FUNC_FILE')) die('Illegal file access');
$confdb = array();
$confdb['host'] = "localhost"; // Datenbank-Host
$confdb['uname'] = "benutzername"; // Datenbank-Benutzername
$confdb['pass'] = "passwort"; // Datenbank-Passwort
$confdb['name'] = "datenbank"; // Datenbankname
$confdb['type'] = "mysqli"; // Datenbanktyp (mysqli)
$confdb['engine'] = "InnoDB"; // Datenbank-Engine
$confdb['charset'] = "utf8mb4"; // Zeichensatz
$confdb['collate'] = "utf8mb4_unicode_ci"; // Kollation
$confdb['prefix'] = "slaed"; // Tabellenpräfix
$confdb['sync'] = "0"; // Zeit-Synchronisation
$confdb['mode'] = "0"; // MySQL-Strikter Modus
$prefix = "slaed"; // Präfix (Duplikat)
$admin_file = "admin"; // Admin-Dateiname
?>
Kerneinstellungen
Kerneinstellungen werden in config/config_core.php
konfiguriert:
<?php
if (!defined('FUNC_FILE')) die('Illegal file access');
$conf = array(
// Caching
'cache_b' => '1', // Block-Caching
'cache_d' => '7', // Cache-Tage
'cache_t' => '3600', // Cache-Zeit (Sekunden)
'cache_css' => '1', // CSS-Caching
'cache_script' => '1', // JavaScript-Caching
// Komprimierung
'css_c' => '1', // CSS-Komprimierung
'css_h' => '0', // CSS im Header (inline)
'css_e' => '0', // CSS mit base64-Bildern
'script_c' => '1', // JavaScript-Komprimierung
'script_h' => '0', // JavaScript im Header
'script_a' => '1', // Asynchrones JS-Laden
'html_compress' => '1', // HTML-Komprimierung
// Dateiladen
'css_f' => 'templates/[theme]/css/,plugins/system/', // CSS-Dateien
'script_f' => 'plugins/jquery/jquery.min.js,plugins/system/core.js', // JS-Dateien
// Zusätzliche Einstellungen
'variables' => '0,1,0', // Variablen-Anzeige (Debug)
'foot_time' => '1', // Generierungszeit in Footer
'foot_queries' => '1', // Abfrage-Zähler im Footer
);
?>
Sicherheitseinstellungen
Sicherheitsparameter werden in config/config_security.php
konfiguriert:
<?php
if (!defined('FUNC_FILE')) die('Illegal file access');
$confs = array(
// Allgemeiner Schutz
'protection' => '1', // Schutz aktivieren
'flood_enable' => '1', // Flood-Schutz
'flood_time' => '30', // Aktionsintervall (Sekunden)
'flood_attempts' => '5', // Anzahl der Versuche
// Authentifizierung
'login_attempts' => '5', // Anmeldeversuche
'login_ban_time' => '3600', // Sperrzeit (Sekunden)
'session_lifetime' => '86400', // Sitzungslebensdauer
'remember_time' => '2592000', // "Angemeldet bleiben"-Zeit
// CAPTCHA
'captcha_enable' => '1', // CAPTCHA aktivieren
'captcha_type' => 'recaptcha3', // CAPTCHA-Typ
'recaptcha_site_key' => '', // reCAPTCHA-Site-Schlüssel
'recaptcha_secret_key' => '', // reCAPTCHA-Geheimschlüssel
'recaptcha_score' => '0.5', // Mindestpunktzahl für v3
// Angriffsschutz
'csrf_protection' => '1', // CSRF-Schutz
'xss_filter' => '1', // XSS-Filter
'sql_injection_filter' => '1', // SQL-Injection-Filter
'file_upload_check' => '1', // Datei-Upload-Prüfung
// IP-Filterung
'ip_ban_enable' => '1', // IP-Sperre
'ip_whitelist' => '', // IP-Whitelist
'ip_blacklist' => '', // IP-Blacklist
// Protokollierung
'log_failed_logins' => '1', // Fehlgeschlagene Anmeldungen protokollieren
'log_admin_actions' => '1', // Admin-Aktionen protokollieren
'log_file_uploads' => '1', // Datei-Uploads protokollieren
// Zusätzlich
'password_min_length' => '6', // Mindest-Passwortlänge
'password_require_special' => '0', // Sonderzeichen erforderlich
'password_require_numbers' => '1', // Zahlen erforderlich
'max_upload_size' => '10240', // Max. Upload-Größe (KB)
);
?>
Upload-Konfiguration
Datei-Upload-Einstellungen werden in config/config_uploads.php
konfiguriert:
<?php
if (!defined('FUNC_FILE')) die('Illegal file access');
// Format: 'modul' => 'größe_KB|dateitypen|vorschaubild|benutzerordner|aktiv'
$confup = array(
// Inhaltsmodule
'news' => '2048|jpg,jpeg,png,gif|1|0|1', // Nachrichten
'pages' => '5120|jpg,jpeg,png,gif,pdf|1|0|1', // Seiten
'forum' => '1024|jpg,jpeg,png,gif|1|1|1', // Forum
'shop' => '5120|jpg,jpeg,png,gif|1|1|1', // Shop
// Medieninhalte
'media' => '10240|jpg,jpeg,png,gif,mp4,avi|1|1|1', // Medien
'files' => '51200|zip,rar,pdf,doc,docx,xls,xlsx|0|1|1', // Dateien
'links' => '512|jpg,jpeg,png,gif|1|0|1', // Links
// Benutzer
'avatars' => '512|jpg,jpeg,png,gif|1|1|1', // Avatare
'account' => '2048|jpg,jpeg,png,gif,pdf|1|1|1', // Konten
// System
'content' => '5120|jpg,jpeg,png,gif,pdf|1|0|1', // Inhalt
'voting' => '1024|jpg,jpeg,png,gif|1|0|1', // Abstimmung
);
// Bildverarbeitungseinstellungen
$conf_images = array(
'quality' => '85', // JPEG-Qualität (1-100)
'thumb_width' => '150', // Vorschaubild-Breite
'thumb_height' => '150', // Vorschaubild-Höhe
'thumb_crop' => '1', // Auf Größe zuschneiden
'watermark_enable' => '0', // Wasserzeichen
'watermark_file' => 'watermark.png', // Wasserzeichen-Datei
'watermark_position' => 'bottom-right', // Wasserzeichen-Position
);
?>
Modul-Konfiguration
Jedes Modul hat seine eigene Konfigurationsdatei. Zum Beispiel die Nachrichten-Modul-Konfiguration in config/config_news.php
:
<?php
if (!defined('FUNC_FILE')) die('Illegal file access');
$confn = array(
'storyhome' => '5', // Nachrichten auf Startseite
'storypage' => '10', // Nachrichten pro Seite
'readmore' => '500', // Zeichen für "weiterlesen"
'anonymous' => '1', // Anonyme Kommentare
'moderation' => '0', // Kommentar-Moderation
'rating' => '1', // Nachrichten-Bewertung
'views' => '1', // Ansichtszähler
'social' => '1', // Social-Buttons
'rss' => '1', // RSS-Feed
'sitemap' => '1', // In Sitemap einbeziehen
);
?>
Caching-Konfiguration
Datei-Caching-Konfiguration:
// In config_core.php
$conf = array(
'cache_enable' => '1', // Caching aktivieren
'cache_lifetime' => '3600', // Lebensdauer (Sekunden)
'cache_compress' => '1', // Cache komprimieren
'cache_prefix' => 'slaed_', // Cache-Präfix
);
// Cache-Verzeichnisse
define('CACHE_DIR', BASE_DIR.'/config/cache');
define('CACHE_BLOCKS_DIR', CACHE_DIR.'/blocks');
define('CACHE_PAGES_DIR', CACHE_DIR.'/pages');
define('CACHE_QUERIES_DIR', CACHE_DIR.'/queries');