OVHcloud
# OVHcloud Server Configuration for MediaWiki 1.40
This article details configuring an OVHcloud server for running MediaWiki 1.40. It is aimed at newcomers seeking a robust and scalable hosting solution. OVHcloud offers a variety of server options, but this guide will focus on general principles applicable across their offerings, with some specific notes for common setups. This guide assumes you have basic command-line familiarity and a working knowledge of Linux server administration.
Understanding OVHcloud Offerings
OVHcloud provides several server options suitable for MediaWiki. The most common include:
- **Public Cloud Instances:** Flexible, scalable, and pay-as-you-go. Ideal for projects with fluctuating traffic. Requires more configuration.
- **Dedicated Servers:** Provide exclusive hardware resources. Good for high-traffic wikis or those requiring specific hardware configurations. More expensive but offer greater control.
- **VPS (Virtual Private Servers):** A middle ground between Public Cloud and Dedicated Servers, offering a balance of cost and control.
- **Operating System:** A Linux distribution like Ubuntu Server, Debian, or CentOS. Ubuntu is often preferred for its ease of use and large community support.
- **Web Server:** Apache or Nginx. Nginx is often more performant for static content and can handle higher concurrency.
- **Database Server:** MySQL or MariaDB. MariaDB is a popular, open-source fork of MySQL.
- **PHP:** The scripting language MediaWiki is built upon. MediaWiki 1.40 requires PHP 7.3 or higher.
- **PHP Extensions:** Essential extensions for MediaWiki functionality.
- **Firewall:** Configure a firewall (e.g., `ufw` on Ubuntu) to allow only necessary ports (80 for HTTP, 443 for HTTPS, 22 for SSH - restrict SSH access to specific IP addresses). See Firewall configuration.
- **SSL/TLS:** Enable HTTPS using a certificate from Let's Encrypt or a commercial provider. See Setting up SSL.
- **Regular Updates:** Keep your operating system and all software packages up-to-date with the latest security patches. Use `sudo apt update && sudo apt upgrade` on Debian/Ubuntu.
- **MediaWiki Security:** Follow the security recommendations outlined in the MediaWiki security documentation.
- **Database Security:** Use strong passwords for your database user and restrict access to the database server.
- **Caching:** Enable caching mechanisms like APC, Memcached, or Redis to reduce database load.
- **Database Optimization:** Regularly optimize your MariaDB/MySQL database using tools like `OPTIMIZE TABLE`.
- **OPcache:** Ensure PHP OPcache is enabled for faster script execution.
- **HTTP Compression:** Enable Gzip compression in your web server configuration to reduce bandwidth usage.
- **Content Delivery Network (CDN):** Consider using a CDN to serve static content from geographically distributed servers. See CDN integration.
- Telegram: @powervps Servers at a discounted price
Choosing the right option depends on your wiki's size, traffic, and budget. For a small to medium-sized wiki, a VPS is often a good starting point. For larger wikis, consider Public Cloud Instances or Dedicated Servers. See Choosing a Hosting Provider for more general advice.
Server Specifications and Recommendations
Here's a table outlining recommended server specifications for different wiki sizes:
| Wiki Size | CPU | RAM | Storage (SSD) | Bandwidth |
|---|---|---|---|---|
| Small (Under 10,000 pages) | 2 vCores | 4 GB | 80 GB | 1 TB |
| Medium (10,000 - 100,000 pages) | 4 vCores | 8 GB | 160 GB | 3 TB |
| Large (Over 100,000 pages) | 8+ vCores | 16+ GB | 320+ GB | 5+ TB |
These are starting points. Monitor your server's resource usage regularly using tools like `top`, `htop`, or OVHcloud's monitoring dashboard and adjust accordingly. Consider using a Database server separate from the web server for better performance, especially for larger wikis.
Software Installation and Configuration
The core software stack for MediaWiki includes:
Here's a table detailing the required PHP extensions:
| PHP Extension | Description |
|---|---|
| php-cli | Command-line interface for PHP |
| php-mysql | MySQL database support |
| php-gd | Image manipulation library |
| php-mbstring | Multibyte string support |
| php-xml | XML processing support |
| php-json | JSON support |
| php-curl | Client URL library |
| php-intl | Internationalization support |
| php-zip | ZIP archive support |
Installation commands will vary depending on your chosen Linux distribution. For example, on Ubuntu: `sudo apt update && sudo apt install apache2 mariadb-server php php-cli php-mysql php-gd php-mbstring php-xml php-json php-curl php-intl php-zip`
Security Considerations
Securing your server is crucial. Implement the following measures:
Here's a table summarizing key security practices:
| Security Measure | Description | Priority |
|---|---|---|
| Firewall Configuration | Restrict network access to essential ports. | High |
| SSL/TLS Encryption | Secure communication between server and clients. | High |
| Regular Software Updates | Patch security vulnerabilities. | High |
| Strong Passwords | Protect database and server accounts. | High |
| MediaWiki Security Practices | Implement MediaWiki-specific security measures. | Medium |
Optimizing Performance
Remember to monitor your server's performance and adjust your configuration as needed. Regularly review your server logs for errors or performance bottlenecks. Performance tuning is a continuous process.
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 configurationNeed Assistance?
⚠️ *Note: All benchmark scores are approximate and may vary based on configuration. Server availability subject to stock.* ⚠️