Server rental store

How to Set Up a Development Server with Ryzen 5 3600

How to Set Up a Development Server with Ryzen 5 3600

This article details the process of setting up a development server using a Ryzen 5 3600 processor. This guide assumes a basic understanding of server administration and Linux command line. It focuses on a Debian 12 (Bookworm) installation, but the principles apply to other distributions with minor adjustments. This setup is ideal for developing and testing MediaWiki extensions and skins without impacting a live production environment.

Hardware and Software Requirements

Before beginning, ensure you have the following:

Hardware

The following table outlines the recommended hardware specifications:

Component Specification
Processor AMD Ryzen 5 3600
RAM 16GB DDR4 3200MHz
Storage 256GB NVMe SSD (for OS and MediaWiki) + Additional storage for backups
Network Interface Gigabit Ethernet
Motherboard Compatible AM4 motherboard

Software

The following table lists the required software:

Software Version
Operating System Debian 12 (Bookworm)
Web Server Apache 2.4
Database Server MariaDB 10.11
PHP 8.2
MediaWiki 1.40 (Latest stable release)
SSH Server OpenSSH

Operating System Installation and Basic Configuration

1. Download the Debian 12 netinstall ISO from the official Debian website. 2. Create a bootable USB drive using a tool like Rufus or Etcher. 3. Boot from the USB drive and follow the on-screen instructions to install Debian. During installation, choose a strong root password and create a user account with sudo privileges. 4. After installation, update the package list and upgrade the system:

```bash sudo apt update sudo apt upgrade ```

5. Configure a static IP address for your server. Edit `/etc/network/interfaces` (or use NetworkManager) to set a static IP. Remember to configure DNS servers correctly.

Installing the LAMP Stack

The LAMP stack (Linux, Apache, MariaDB, PHP) is the foundation for running MediaWiki.

1. Install Apache:

```bash sudo apt install apache2 ```

2. Install MariaDB:

```bash sudo apt install mariadb-server mariadb-client ``` Secure the MariaDB installation:

```bash sudo mysql_secure_installation ``` Follow the prompts to set a root password and remove anonymous users.

3. Install PHP and required extensions:

```bash sudo apt install php8.2 libapache2-mod-php8.2 php8.2-mysql php8.2-gd php8.2-curl php8.2-mbstring php8.2-xml php8.2-zip ```

4. Restart Apache to enable PHP:

```bash sudo systemctl restart apache2 ```

Installing and Configuring MediaWiki

1. Download the latest stable release of MediaWiki 1.40 from the MediaWiki download page. 2. Extract the downloaded archive to the Apache web root directory (usually `/var/www/html`):

```bash sudo tar -xzf mediawiki-1.40.0-tar.gz -C /var/www/html sudo chown -R www-data:www-data /var/www/html/mediawiki-1.40.0 ```

3. Create the `LocalSettings.php` file. Copy `DefaultSettings.php` to `LocalSettings.php`:

```bash cd /var/www/html/mediawiki-1.40.0 cp DefaultSettings.php LocalSettings.php ```

4. Edit `LocalSettings.php` and configure the database settings. Replace the placeholders with your MariaDB credentials:

```php $wgDBtype = 'mysql'; $wgDBserver = 'localhost'; $wgDBname = 'mediawiki_db'; $wgDBuser = 'mediawiki_user'; $wgDBpassword = 'your_password'; $wgSecretKey = 'YOUR_SECRET_KEY'; // Generate a strong, random key ```

5. Create the database and user in MariaDB:

```sql CREATE DATABASE mediawiki_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'mediawiki_user'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON mediawiki_db.* TO 'mediawiki_user'@'localhost'; FLUSH PRIVILEGES; ```

6. Access the MediaWiki installation script through your web browser (e.g., `http://your_server_ip/mediawiki-1.40.0/index.php`). Follow the on-screen instructions to complete the installation.

Server Performance Considerations

The following table details performance tuning options.

Tuning Option Description
PHP Opcode Cache Enable a PHP opcode cache (e.g., OPcache) to improve performance.
MariaDB Configuration Tune MariaDB configuration parameters (e.g., `innodb_buffer_pool_size`) based on available RAM.
Apache MPM Choose the appropriate Apache MPM (e.g., `event` or `worker`) based on your server load.
Caching Implement caching mechanisms (e.g., Varnish) to reduce database load.

Security Considerations

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