Operating System Standards
- Operating System Standards
This document outlines the standardized operating system configurations for MediaWiki servers. Adherence to these standards is critical for maintaining stability, security, and consistent performance across all environments: development, staging, and production. These guidelines are designed for system administrators and server engineers responsible for deploying and maintaining MediaWiki instances.
Supported Operating Systems
Currently, the following operating systems are officially supported for running MediaWiki 1.40. Support is based on long-term support (LTS) releases to ensure security updates and stability. Using unsupported operating systems is strongly discouraged.
Operating System | Version | Support Status |
---|---|---|
Ubuntu Server | 20.04 LTS | Fully Supported |
Debian | 11 (Bullseye) | Fully Supported |
CentOS Stream | 8 | Fully Supported |
AlmaLinux | 8 | Fully Supported |
Rocky Linux | 8 | Fully Supported |
Red Hat Enterprise Linux (RHEL) | 8 | Fully Supported |
Regularly check the Manual:Configuration page on mediawiki.org for the latest supported OS versions.
Core System Requirements
Beyond the operating system itself, certain core system requirements must be met. These requirements ensure that MediaWiki can function optimally. Failure to meet these requirements may result in performance issues or instability. See Manual:Installation for detailed installation instructions.
Requirement | Minimum Value | Recommended Value |
---|---|---|
CPU | 2 Cores | 4+ Cores |
RAM | 4 GB | 8+ GB |
Disk Space | 20 GB | 50+ GB (SSD Recommended) |
PHP Version | 7.4 | 8.1 (Highly Recommended) |
MySQL/MariaDB Version | 5.7 | 10.6 (Highly Recommended) |
These are *minimum* recommendations. Production environments handling significant traffic will require substantially more resources. Consider using a Load balancer to distribute traffic across multiple servers.
Security Hardening Standards
Security is paramount. All MediaWiki servers *must* adhere to the following security hardening standards. These standards are based on industry best practices and are regularly reviewed. Refer to Manual:Security for more detailed security information.
- **Firewall Configuration:** A properly configured firewall (e.g., `ufw`, `firewalld`) is essential. Only necessary ports should be open (typically 80 and 443 for web traffic, and 22 for SSH – restrict SSH access where possible).
- **SSH Access:** Disable password authentication for SSH and use SSH keys. Regularly audit SSH logs.
- **User Accounts:** Create dedicated user accounts for running the web server and database server. Avoid running these services as `root`.
- **Regular Updates:** Keep the operating system and all installed packages up to date with the latest security patches. Use tools like `apt update && apt upgrade` (Debian/Ubuntu) or `yum update` (CentOS/RHEL).
- **SELinux/AppArmor:** Enable and configure SELinux or AppArmor for enhanced security. See Security extensions.
- **File Permissions:** Ensure correct file permissions are set for the MediaWiki installation directory and related files. The web server user needs read and write access to specific directories.
Security Measure | Status | Notes |
---|---|---|
Firewall Enabled | Required | Configure to allow only necessary traffic. |
SSH Key Authentication | Required | Disable password authentication. |
Dedicated User Accounts | Required | Avoid running services as root. |
Regular Security Updates | Required | Implement an automated update process. |
SELinux/AppArmor Enabled | Recommended | Requires careful configuration to avoid conflicts. |
PHP Configuration
PHP is a critical component of the MediaWiki stack. The PHP configuration must be optimized for performance and security. See PHP configuration for detailed information.
- **`memory_limit`:** Set to at least 256M, but consider increasing to 512M or higher for larger wikis.
- **`max_execution_time`:** Adjust as needed based on the complexity of wiki operations.
- **`upload_max_filesize`:** Configure to allow for uploads of appropriate file sizes.
- **`post_max_size`:** Should be equal to or larger than `upload_max_filesize`.
- **Disable Unused Extensions:** Disable any PHP extensions that are not required by MediaWiki. This reduces the attack surface.
- **OPcache:** Enable OPcache for improved PHP performance.
Database Configuration
The database server is another critical component. Proper configuration is vital for performance and scalability. Refer to Database Configuration for more details.
- **Character Set:** Use `utf8mb4` character set for full Unicode support.
- **Collation:** Use a case-insensitive collation (e.g., `utf8mb4_unicode_ci`).
- **Caching:** Utilize database caching mechanisms to improve performance.
- **Regular Backups:** Implement a robust database backup strategy.
Logging and Monitoring
Comprehensive logging and monitoring are essential for identifying and resolving issues. Use tools like `systemd-journald`, `rsyslog`, and monitoring solutions like Prometheus or Grafana. Monitor CPU usage, memory usage, disk I/O, and network traffic. Regularly review logs for errors and security events.
Special:Log provides valuable information within the wiki itself.
Manual:Configuration
Manual:Installation
Manual:Security
PHP configuration
Database Configuration
Load balancer
Manual:Upgrading
Special:ListUsers
Special:AllMessages
Special:Statistics
Manual:FAQ
Manual:Developing MediaWiki
Manual:Skinning
Manual:Extension_installation
Manual:Administrators
Manual:API
Manual:Talk pages
Special:Search
Special:RecentChanges
Intel-Based Server Configurations
Configuration | Specifications | Benchmark |
---|---|---|
Core i7-6700K/7700 Server | 64 GB DDR4, NVMe SSD 2 x 512 GB | CPU Benchmark: 8046 |
Core i7-8700 Server | 64 GB DDR4, NVMe SSD 2x1 TB | CPU Benchmark: 13124 |
Core i9-9900K Server | 128 GB DDR4, NVMe SSD 2 x 1 TB | CPU Benchmark: 49969 |
Core i9-13900 Server (64GB) | 64 GB RAM, 2x2 TB NVMe SSD | |
Core i9-13900 Server (128GB) | 128 GB RAM, 2x2 TB NVMe SSD | |
Core i5-13500 Server (64GB) | 64 GB RAM, 2x500 GB NVMe SSD | |
Core i5-13500 Server (128GB) | 128 GB RAM, 2x500 GB NVMe SSD | |
Core i5-13500 Workstation | 64 GB DDR5 RAM, 2 NVMe SSD, NVIDIA RTX 4000 |
AMD-Based Server Configurations
Configuration | Specifications | Benchmark |
---|---|---|
Ryzen 5 3600 Server | 64 GB RAM, 2x480 GB NVMe | CPU Benchmark: 17849 |
Ryzen 7 7700 Server | 64 GB DDR5 RAM, 2x1 TB NVMe | CPU Benchmark: 35224 |
Ryzen 9 5950X Server | 128 GB RAM, 2x4 TB NVMe | CPU Benchmark: 46045 |
Ryzen 9 7950X Server | 128 GB DDR5 ECC, 2x2 TB NVMe | CPU Benchmark: 63561 |
EPYC 7502P Server (128GB/1TB) | 128 GB RAM, 1 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (128GB/2TB) | 128 GB RAM, 2 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (128GB/4TB) | 128 GB RAM, 2x2 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (256GB/1TB) | 256 GB RAM, 1 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (256GB/4TB) | 256 GB RAM, 2x2 TB NVMe | CPU Benchmark: 48021 |
EPYC 9454P Server | 256 GB RAM, 2x2 TB NVMe |
Order Your Dedicated Server
Configure and order your ideal server configuration
Need Assistance?
- Telegram: @powervps Servers at a discounted price
⚠️ *Note: All benchmark scores are approximate and may vary based on configuration. Server availability subject to stock.* ⚠️