Grass documentation
Grass Documentation: Server Configuration
Welcome to the Grass documentation page! This article details the server configuration used to host our wiki. Understanding these specifications can be helpful for troubleshooting, contributing to server maintenance, and planning for future upgrades. This document is intended for new server administrators and experienced users alike. This wiki relies heavily on a stable and efficient server environment, so careful attention to these details is crucial.
Overview
The Grass server infrastructure consists of a single primary server handling web traffic, database operations, and file storage. Redundancy is planned for future iterations, but currently, all services reside on this single machine. We utilize a LAMP stack (Linux, Apache, MySQL, PHP) for our core functionality. Regular backups are performed to a separate, offsite server. Access to the server is strictly controlled via SSH with key-based authentication. Ensure you understand our Security Policy before attempting any server-side modifications. See also Server Access.
Hardware Specifications
The following table summarizes the hardware specifications of the Grass server. These specifications were current as of October 26, 2023. Future upgrades will be documented as separate revisions of this page. Monitoring the Server Load is critical for identifying potential hardware bottlenecks.
Component | Specification | Details |
---|---|---|
CPU | Intel Xeon E5-2680 v4 | 14 cores, 2.4 GHz base clock |
RAM | 64 GB DDR4 ECC Registered | 2400 MHz, configured in quad-channel mode |
Storage | 2 x 2TB SATA III HDD (RAID 1) | Operating System and Wiki Files |
Storage | 1 x 500GB NVMe SSD | MySQL Database |
Network Interface | 1 Gbps Ethernet | Dedicated connection to the internet |
Power Supply | 750W 80+ Platinum | Redundant power supplies are planned for future upgrades. |
Software Specifications
This section details the software stack running on the Grass server. Keeping software up-to-date is vital for security and performance. Refer to the Software Update Procedure for detailed instructions.
Software | Version | Purpose |
---|---|---|
Operating System | Ubuntu Server 22.04 LTS | Core operating system |
Apache | 2.4.52 | Web server |
MySQL | 8.0.30 | Database server |
PHP | 8.1.10 | Server-side scripting language |
PHP Modules | Various (see below) | Extends PHP functionality |
MediaWiki | 1.40 | Wiki software |
The following PHP modules are enabled: `pdo_mysql`, `mbstring`, `curl`, `gd`, `xml`, `zip`, `json`, `openssl`, `intl`. Ensure these are always enabled, as MediaWiki relies on them for core functionality. See the PHP Configuration page for more details.
MediaWiki Configuration
The MediaWiki installation is configured using the `LocalSettings.php` file. This file contains critical settings such as database connection details, site name, and extensions. Modifying this file requires careful attention to detail. Always back up `LocalSettings.php` before making any changes. Refer to the LocalSettings.php Documentation for a detailed explanation of each setting.
The following key settings are configured:
- `$wgSitename`: "Grass Wiki"
- `$wgServer`: "https://grasswiki.example.com" (replace with your actual domain)
- `$wgDBtype`: "mysql"
- `$wgDBserver`: "localhost"
- `$wgDBname`: "mediawiki_db"
- `$wgDBuser`: "mediawiki_user"
- `$wgDBpassword`: "secure_password" (replace with a strong password)
- `$wgUploadDirectory`: "/var/www/grasswiki/uploads"
Backup and Recovery
Regular backups are essential for disaster recovery. We use a cron job to perform daily full backups of the database and the MediaWiki files. Backups are stored on a separate server, physically isolated from the main server. The Backup Procedure details the steps involved in creating and restoring backups. Testing the restoration process is crucial to ensure its effectiveness. See the Disaster Recovery Plan for more information.
Backup Type | Frequency | Location |
---|---|---|
Full Database Backup | Daily | Offsite Server (encrypted) |
Full File System Backup (MediaWiki Files) | Daily | Offsite Server (encrypted) |
Weekly Full System Image | Weekly | Offsite Server (encrypted) |
Future Considerations
Planned upgrades and improvements include:
- Implementing a load balancer for increased availability.
- Adding a dedicated caching server (e.g., Redis or Memcached) to improve performance.
- Migrating the database to a more scalable solution (e.g., MariaDB).
- Implementing a more robust monitoring system with automated alerts.
- Adding redundant power supplies.
Refer to the Future Development Roadmap for the latest updates on these initiatives. Collaboration and contributions are welcome! See Contributing to the Server for details. Remember to consult the Troubleshooting Guide before reporting issues.
Main Page Help:Contents Manual:Configuration Special:Statistics Special:Search Talk:Main Page
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.* ⚠️