Configuration
SiteX CMS uses a single configuration file (config.php) for all core settings. This guide covers every configuration option available.
Database Configuration
Set your database credentials in config.php:
define('DB_HOST', 'localhost');
define('DB_NAME', 'sitex_cms');
define('DB_USER', 'sitex_user');
define('DB_PASS', 'your_secure_password');
define('DB_PORT', 3306);
define('DB_CHARSET', 'utf8mb4');
Site Settings
define('SITE_NAME', 'Your Site Name');
define('SITE_URL', 'https://yourdomain.com');
define('SITE_EMAIL', '[email protected]');
define('DEFAULT_LANGUAGE', 'en');
define('TIMEZONE', 'Europe/London');
Caching
SiteX CMS supports three caching backends:
// Options: 'file', 'redis', 'memcached'
define('CACHE_DRIVER', 'file');
define('CACHE_TTL', 3600); // seconds
// Redis settings (if using redis driver)
define('REDIS_HOST', '127.0.0.1');
define('REDIS_PORT', 6379);
// Memcached settings (if using memcached driver)
define('MEMCACHED_HOST', '127.0.0.1');
define('MEMCACHED_PORT', 11211);
Email / SMTP
define('MAIL_DRIVER', 'smtp'); // 'mail' or 'smtp'
define('SMTP_HOST', 'smtp.yourdomain.com');
define('SMTP_PORT', 587);
define('SMTP_USER', '[email protected]');
define('SMTP_PASS', 'your_smtp_password');
define('SMTP_ENCRYPTION', 'tls');
Security
define('DEBUG', false); // Never true in production
define('RATE_LIMIT_LOGIN', 5); // Max login attempts per hour
define('SESSION_LIFETIME', 7200); // 2 hours
Important: Never commit your
config.php to a public repository. Add it to .gitignore immediately.