Operating System Configuration

From Server rental store
Revision as of 17:40, 15 April 2025 by Admin (talk | contribs) (Automated server configuration article)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
  1. Operating System Configuration

This article details the recommended operating system configuration for running a MediaWiki 1.40 installation. Proper OS configuration is crucial for performance, security, and stability. This guide is geared towards system administrators and those new to setting up a MediaWiki server.

Supported Operating Systems

MediaWiki 1.40 is known to function reliably on a variety of operating systems. However, some are more commonly used and better supported. The following table summarizes the most frequently used options:

Operating System Version Support Level
Linux Debian 11 (Bullseye) Excellent
Linux Ubuntu 20.04 LTS (Focal Fossa) Excellent
Linux CentOS 7 (EOL June 30, 2024 - *Migration Recommended*) Limited
Windows Server 2019 Good (Requires IIS configuration)
Windows Server 2022 Good (Requires IIS configuration)

It's strongly recommended to use a Long Term Support (LTS) distribution of Linux for stability and security updates. See Operating System Selection for further discussion.

Essential OS Packages

Several OS packages are essential for MediaWiki to function correctly. These include a web server, a database server, PHP, and necessary extensions.

Package Type Package Name (Example - varies by OS) Purpose
Web Server Apache 2.4 or Nginx 1.18 Handles HTTP requests and serves MediaWiki files. See Web Server Configuration.
Database Server MySQL 8.0 or MariaDB 10.6 Stores all MediaWiki data. See Database Server Configuration.
PHP PHP 7.4 or PHP 8.1 Processes MediaWiki code and generates HTML output. See PHP Configuration.
PHP Extensions php-gd, php-mbstring, php-xml, php-curl, php-zip Provides additional functionality for MediaWiki. See PHP Extensions.
Command-line Tools bash, curl, wget Useful for maintenance and troubleshooting. See Command Line Tools.

Ensure all packages are up-to-date using your operating system’s package manager (e.g., `apt update && apt upgrade` on Debian/Ubuntu, `yum update` on CentOS).

Recommended System Resources

The system resources required depend on the size and traffic of your wiki. The following table provides recommendations for small, medium, and large wikis. These are *minimum* recommendations; more resources will improve performance.

Wiki Size CPU RAM Disk Space Concurrent Users (Approximate)
Small ( < 10,000 pages) 2 cores 4 GB 50 GB 50
Medium (10,000 - 100,000 pages) 4 cores 8 GB 100 GB 200
Large ( > 100,000 pages) 8+ cores 16+ GB 500+ GB (SSD recommended) 500+

Consider using Solid State Drives (SSDs) for the database and MediaWiki installation to significantly improve performance. See Performance Tuning for more advanced optimization techniques.

Security Considerations

Operating system security is paramount. Always follow best practices for securing your server.

  • **Firewall:** Configure a firewall (e.g., `ufw` on Ubuntu, `firewalld` on CentOS) to allow only necessary traffic (typically ports 80 and 443 for HTTP/HTTPS). See Firewall Configuration.
  • **User Accounts:** Use strong passwords and limit user access to only what is necessary.
  • **Regular Updates:** Keep the operating system and all installed packages up-to-date with the latest security patches.
  • **SSH Access:** Secure SSH access by disabling password authentication and using SSH keys. Secure Shell Access.
  • **Disable Unnecessary Services:** Disable any unnecessary services to reduce the attack surface.
  • **SELinux/AppArmor:** Utilize security modules like SELinux (CentOS) or AppArmor (Ubuntu) for mandatory access control. Security Modules.

File System Permissions

Proper file system permissions are essential for MediaWiki to function correctly and securely. The web server user (e.g., `www-data` on Debian/Ubuntu, `apache` on CentOS) needs read and write access to the following directories:

  • `config/` (Read/Write)
  • `images/` (Read/Write)
  • `extensions/` (Read/Write)
  • `uploads/` (Read/Write)

The `config/` directory should have restricted permissions (e.g., 750) to prevent unauthorized access to sensitive configuration files. See File System Permissions for a detailed guide.

Further Reading


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?

⚠️ *Note: All benchmark scores are approximate and may vary based on configuration. Server availability subject to stock.* ⚠️