AWS
- AWS Server Configuration for MediaWiki 1.40
This article details setting up a MediaWiki 1.40 installation on Amazon Web Services (AWS). It is intended for newcomers to both AWS and MediaWiki server administration. We will cover instance selection, storage, database configuration, and basic security considerations. This guide assumes basic familiarity with the AWS Management Console.
== 1. Instance Selection
Choosing the correct AWS instance type is crucial for performance and cost-effectiveness. MediaWiki's requirements vary depending on site size and traffic. For a small to medium-sized wiki, the `t3.medium` or `t3.large` instances are good starting points. Larger wikis with significant traffic may require `m5.large` or higher.
Here's a comparison of common instance types:
Instance Type | vCPUs | Memory (GiB) | Estimated Cost/Hour (USD) |
---|---|---|---|
t3.medium | 2 | 4 | $0.0416 |
t3.large | 2 | 8 | $0.0832 |
m5.large | 2 | 8 | $0.096 |
We recommend using Amazon Linux 2 as the operating system for optimal compatibility and performance. See Amazon Linux 2 Documentation for more information. Remember to check current AWS pricing as costs can fluctuate. Consult AWS Pricing Calculator for accurate estimates.
== 2. Storage Configuration
MediaWiki requires storage for the core software, extensions, images (if enabled), and the wiki's data. Amazon Elastic Block Storage (EBS) is the recommended solution.
- **Root Volume:** A minimum of 30GB is recommended for the root volume (operating system and MediaWiki installation). Use a General Purpose SSD (gp3) volume for good performance.
- **Data Volume:** A separate EBS volume should be dedicated to storing the MediaWiki data directory (`/var/www/html/w`). This allows for easier backups and scaling. The size of this volume will depend on your wiki's content. Start with 100GB and monitor usage. Consider using Provisioned IOPS SSD (io1) if you require very high performance. See EBS Volume Types.
- **Image Volume (Optional):** If you plan to allow image uploads, dedicate another EBS volume for image storage. Consider using Amazon S3 for image storage as a more scalable solution. See Amazon S3.
Here’s a typical EBS configuration:
Volume Type | Size (GiB) | IOPS | Use Case |
---|---|---|---|
gp3 | 30 | 3000 | Root Volume (OS & MediaWiki) |
gp3 | 100+ | 3000 | MediaWiki Data Directory |
gp3 | Variable | 3000 | Image Storage (Optional) |
Remember to properly mount the EBS volumes to the correct directories on your instance. See Mounting EBS Volumes.
== 3. Database Configuration
MediaWiki requires a database to store its data. Amazon Relational Database Service (RDS) is the recommended solution. MySQL or MariaDB are the most commonly used database engines.
- **Instance Class:** `db.t3.medium` is a good starting point for a small to medium-sized wiki.
- **Storage:** A minimum of 20GB of storage is recommended. Use General Purpose SSD (gp3) storage.
- **Backup:** Enable automated backups to protect your data.
- **Security:** Configure the RDS instance to only allow connections from your MediaWiki server. See RDS Security Groups.
Here are some recommended RDS settings:
Setting | Value |
---|---|
Engine | MySQL 8.0 or MariaDB 10.6 |
Instance Class | db.t3.medium |
Storage | 20+ GiB (gp3) |
Multi-AZ | Enabled (for high availability) |
Backup Retention | 7-30 days |
Ensure you update the `LocalSettings.php` file with the correct database connection details. See LocalSettings.php Configuration.
== 4. Security Considerations
Security is paramount. Implement the following measures:
- **Security Groups:** Configure security groups to only allow necessary traffic to your EC2 instance and RDS instance. Allow SSH access (port 22) from your IP address only. Allow HTTP (port 80) and HTTPS (port 443) access from the public internet.
- **SSH Key Pairs:** Use SSH key pairs for secure access to your instance. Disable password authentication. See SSH Key Management.
- **Firewall:** Use a firewall (e.g., `firewalld`) on your EC2 instance to further restrict access. See Firewall Configuration.
- **HTTPS:** Configure HTTPS using Let's Encrypt or an AWS Certificate Manager certificate. See HTTPS Configuration.
- **Regular Updates:** Keep your operating system, MediaWiki software, and extensions up to date with the latest security patches. See MediaWiki Updates.
== 5. Additional Resources
- Official MediaWiki Documentation
- AWS Documentation
- Configuring Apache with MediaWiki
- PHP Configuration for MediaWiki
- Troubleshooting MediaWiki
- Backing Up a MediaWiki Site
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.* ⚠️