CMS installation

VPS Setup

Installing Nginx on Ubuntu

The process of installing Nginx on Ubuntu includes the following steps:

  • Deploying a VPS Ubuntu 24.04 server;
  • Configuring the connection and interface for managing the server;
  • Installing the .NET Core runtime or SDK;
  • Installing the Nginx web server;
  • Configuring Nginx and the autostart service;
  • Testing.

Deploying a VPS Ubuntu 24.04 Server

Option 1 (recommended)

Deploy a VPS on your hosting provider. For a CMS deployment, a single-core VPS with 2 GB of RAM is sufficient. Next, configure a convenient connection method for server management. While many tools exist, we recommend Visual Studio Code as a universal, extensible environment for file management, terminal access, and code editing/debugging. Install it on your local workstation first.

After setup, open VS Code, navigate to Terminal → New Terminal, and establish your first SSH connection:

ssh [username]@[IP-or-hostname]

Enter your password when prompted. Now you can configure OpenSSH for more secure, password-less authentication using SSH keys.

Always update package lists before installing new software:

sudo apt update && sudo apt upgrade -y

Install OpenSSH server (if not pre-installed) to enable key-based authentication:

sudo apt install openssh-server

For detailed SSH configuration guides, see: Ubuntu SSH Setup Guide.

Option 2 (requires more resources)

If you prefer a graphical interface on Windows, you can set up XRDP with Xfce:

  1. Update packages:

    sudo apt update

  2. Allow RDP port through firewall:

    sudo ufw allow 3389

  3. Install XRDP:

    sudo apt install xrdp

  4. Install Xorg XRDP backend:

    sudo apt install xorgxrdp

  5. Enable XRDP to start on boot:

    sudo systemctl enable xrdp

  6. Verify XRDP status:

    sudo systemctl status xrdp

    Status should show "active (running)".

  7. Install Xfce desktop environment:

    sudo apt install xfce4 xfce4-terminal -y

  8. Start XRDP service:

    sudo systemctl start xrdp

To stop XRDP later: sudo systemctl stop xrdp

You can now connect to Ubuntu via Remote Desktop Protocol (RDP).

Connecting to Ubuntu Desktop from Windows

To connect via RDP, you'll need your Ubuntu account credentials and the server's IP address (provided in your hosting welcome email or control panel).

  1. Open Remote Desktop Connection: press Win + R, type mstsc, and press Enter.

    RDP launch dialog

  2. Enter the server's IP address and click Connect.

    RDP connection dialog

  3. Enter your Ubuntu username and password, then click OK.

    RDP login dialog

✅ Done! You are now connected to Ubuntu via Remote Desktop.

Installing .NET Core

Option A: Install the SDK (for development)

The .NET SDK includes everything needed to build and run .NET applications. Installing the SDK also includes the runtime—no separate installation required.

sudo apt update && sudo apt install -y dotnet-sdk-8.0

Option B: Install Runtime Only (for production)

The ASP.NET Core Runtime allows you to run applications built with .NET, but not develop them. This is lighter and suitable for deployment servers.

sudo apt update && sudo apt install -y aspnetcore-runtime-8.0

Verify installation:

dotnet --info

Installing Nginx

To install Nginx using apt on Debian/Ubuntu:

1. Standard Installation

Installs the Nginx version from your OS default repositories:

# Update package index

sudo apt update

# Install Nginx

sudo apt install nginx -y

2. Service Management

Manage Nginx using systemctl:

  • Check status: sudo systemctl status nginx
  • Start/Stop: sudo systemctl start nginx / sudo systemctl stop nginx
  • Enable at boot: sudo systemctl enable nginx
  • Reload config (zero downtime): sudo systemctl reload nginx
3. Firewall Configuration (UFW)

Allow web traffic through the firewall:

  • HTTP only (port 80): sudo ufw allow 'Nginx HTTP'
  • HTTP + HTTPS (ports 80 & 443): sudo ufw allow 'Nginx Full'
4. Verification

Visit http://your-server-ip in a browser. You should see the "Welcome to nginx!" default page.

Key File Locations
  • Main config: /etc/nginx/nginx.conf
  • Site configs: /etc/nginx/sites-available/ and /etc/nginx/sites-enabled/
  • Web root: /var/www/html/
  • Logs: /var/log/nginx/access.log, error.log

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please reload the page.