Linux operating systems
- Linux Operating Systems for MediaWiki Servers
This article provides an overview of Linux operating systems commonly used for hosting MediaWiki installations. It is intended for newcomers to server administration and aims to help you choose and configure a suitable Linux distribution.
Why Linux?
Linux is the dominant operating system for web servers, and for good reason. It's known for its stability, security, performance, and cost-effectiveness (often being free of licensing fees). Many hosting providers offer Linux-based server solutions, and the open-source nature allows for extensive customization. Crucially, PHP, the language MediaWiki is built on, runs exceptionally well on Linux.
Popular Linux Distributions for MediaWiki
Several Linux distributions are well-suited for running MediaWiki. The choice often depends on your experience level and specific needs. Here's a comparison of some popular options:
Distribution | Ease of Use | Stability | Package Management | Recommended For |
---|---|---|---|---|
Ubuntu Server | High | Good | APT | Beginners, general-purpose servers |
Debian | Medium | Excellent | APT | Experienced users, stability focused |
CentOS Stream / Rocky Linux / AlmaLinux | Medium | Excellent | YUM/DNF | Users familiar with Red Hat ecosystem, enterprise environments |
Fedora Server | Medium-High | Good | DNF | Developers, Testing environments |
Arch Linux | High (but requires configuration) | Good | Pacman | Advanced users, customization enthusiasts |
It's important to note that CentOS 8 reached End of Life (EOL) in December 2021. CentOS Stream is a rolling release, while Rocky Linux and AlmaLinux are intended as stable, long-term support replacements for traditional CentOS.
Essential Server Configuration
Regardless of the distribution you choose, certain server configurations are essential for a secure and performant MediaWiki installation.
Core Packages
These packages are typically required:
- Apache or Nginx (Web Server)
- PHP (Programming Language) – Including necessary extensions (see PHP Configuration for MediaWiki)
- MySQL or MariaDB (Database Server) – MariaDB is often preferred for its open-source nature and performance.
- SSH (Secure Shell) – For remote administration.
Firewall Configuration
A firewall is crucial for protecting your server. UFW (Uncomplicated Firewall) is a user-friendly option on Ubuntu and Debian. firewalld is common on CentOS/RHEL/Rocky Linux/AlmaLinux. Configure the firewall to allow inbound traffic on ports 80 (HTTP) and 443 (HTTPS), and only allow SSH access from trusted IP addresses.
PHP Configuration
PHP requires specific configuration to work optimally with MediaWiki. Key settings include:
- `memory_limit`: Increase this to at least 256M, or higher depending on your wiki size.
- `upload_max_filesize`: Set this to the maximum file size you want to allow for uploads.
- `post_max_size`: Set this to a value larger than `upload_max_filesize`.
- `max_execution_time`: Increase this if you encounter timeout errors during long processes.
- Required PHP extensions: `pdo_mysql`, `mbstring`, `curl`, `gd`, `xml`, `json`, `zip`.
Database Configuration
The database server needs to be configured to handle the load from your wiki. Consider these points:
- Create a dedicated database and user for MediaWiki.
- Set appropriate permissions for the database user.
- Tune the database server based on your server's resources and wiki size. Consult the Database Server Configuration article.
Example Server Specifications
Here are some example server specifications based on expected wiki traffic. These are estimates; actual requirements will vary.
Wiki Size | Concurrent Users (Peak) | CPU | RAM | Storage (SSD Recommended) |
---|---|---|---|---|
Small (Under 100 Pages) | 5-10 | 1 Core | 1GB | 20GB |
Medium (100-1000 Pages) | 20-50 | 2-4 Cores | 4GB - 8GB | 50GB - 100GB |
Large (1000+ Pages) | 50+ | 4+ Cores | 8GB+ | 100GB+ |
Security Considerations
- Keep your operating system and all software packages up-to-date.
- Use strong passwords for all accounts.
- Consider using fail2ban to block malicious IP addresses.
- Regularly back up your wiki data and configuration files. Consult the Backups and Disaster Recovery article.
- Enable HTTPS using Let's Encrypt or a similar service.
- Review MediaWiki Security Best Practices regularly.
Resources and Further Reading
- MediaWiki Installation Guide
- PHP Configuration for MediaWiki
- Database Server Configuration
- Server Hardware
- Backups and Disaster Recovery
- MediaWiki Security Best Practices
- Apache Configuration for MediaWiki
- Nginx Configuration for MediaWiki
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.* ⚠️