Table of Contents

WordPress - Getting Started Guide

WordPress is a content management system used by over 40% of all websites. It lets you create blogs, business sites, online stores and portfolios without writing code. This server comes with WordPress fully installed and configured – the admin account and site title you specified during the order are already set up. The site works by IP address right away; the domain you entered when ordering starts working once you point it to the server (Steps 2-4).


Step 1 – Verify Your Site Works

Your server’s IP address and root password are shown in the Server Information section on the Overview tab of your server in the client portal. The application settings you entered when ordering, passwords included, are shown in the WordPress Credentials card on the same tab. The site is already accessible by IP address – open https://your.server.ip in a browser to verify it works. You should see the default WordPress page.

The admin panel is available at https://your.server.ip/wp-admin. Log in with the username and password you entered during the order.

HTTPS without a domain. Since January 2026 Let’s Encrypt issues certificates for IP addresses (official announcement), so your server gets a real, browser-trusted certificate on first boot – before you connect any domain. Certificates of this kind are short-lived (about six days) and renew automatically. If your server is not reachable from the internet on port 80 (for example, it sits behind a router), the certificate cannot be issued – in that case open http://your.server.ip instead.

If the server’s IP address changes, the site moves to the new address automatically at the next start of the server (as long as no domain is connected).

If you placed the server behind a VyOS router on a private network, the server has only a private address, so it does not get the IP certificate, and WordPress is set up for that private address. You can open the site over http:// on the private address through a VPN on the router (WireGuard or OpenVPN, on the router’s Configuration tab). To make the site reachable from the internet, forward ports 80 and 443 to the server on the router’s Configuration tab (Port forwarding), point your domain to the router’s public address and connect the domain (Steps 2-4): until then, the site’s links point to the private address. Forward port 22 as well if you need SSH from the internet.

Firewall. If you turn on the Firewall for this server in the client portal, allow incoming TCP port 80 in its rules, along with 443 (HTTPS). Certificates renew over port 80 – the IP certificate every few days – and without that rule the certificate expires and the browser starts showing a warning.


Step 2 – Point Your Domain to the Server (Optional)

Skip Steps 2-4 if you want to keep using the IP address. To use your own domain, go to your domain registrar’s DNS settings and create A records pointing to your server’s IP address:

Type Name Value
A@your.server.ip
Awwwyour.server.ip

DNS changes usually take a few minutes, but can take up to 24 hours. You can check the status at dnschecker.org.


Step 3 – Connect the Domain and Enable SSL

Until you run the script below, WordPress keeps using the IP address in its links, even when a page is opened by domain. Once the DNS records point to your server, connect via SSH and run the script with your domain and, optionally, an email for certificate notices:

ssh root@your.server.ip
/opt/setup/get-ssl.sh yourdomain.com you@example.com

The domain you entered when ordering is already saved on the server, so you can simply run /opt/setup/get-ssl.sh without arguments.

The script checks DNS, obtains a free Let’s Encrypt certificate for the domain and switches WordPress to https://yourdomain.com, including links inside your posts. Automatic renewal is already configured.


Step 4 – Access Your Site

After the script completes, your site is live on the domain:

  • Your site: https://yourdomain.com
  • Admin panel: https://yourdomain.com/wp-admin

Log in with the username and password you entered during the order.


Post-Installation

SSL Certificate Renewal

The certificate for the IP address is valid for about six days, a certificate for your domain for 90 days. Both renew automatically. You can test renewal with:

/snap/bin/certbot renew --dry-run

Fail2Ban – Brute-Force Protection

Your server comes with Fail2Ban pre-configured to protect both SSH and WordPress from brute-force attacks.

Rule Max Attempts Ban Duration
SSH5 failed logins10 minutes
WordPress (hard)3 failed logins1 hour
WordPress (soft)5 failed logins10 minutes

Useful commands:

# Check banned IPs
fail2ban-client status wordpress-hard
fail2ban-client status sshd

# Unban an IP
fail2ban-client set wordpress-hard unbanip 1.2.3.4

If you accidentally lock yourself out, open the Console on your server’s Overview tab in the client portal and unban your IP.

Server Credentials

MySQL credentials are stored in /root/.wp_credentials. WordPress is pre-configured to use them.

Software Included

Component Version
Ubuntu24.04 LTS
Apache2.4
MySQL8.0
PHP8.3
WordPressLatest
WP-CLILatest
Certbot5.8 (IP address), 2.9 (domain)
Fail2Ban1.0
Postfix3.8

Troubleshooting

Problem Solution
Site doesn’t open in browser By IP address: try http://your.server.ip – behind a router the IP certificate cannot be issued. By domain: check that the A record points to the server IP (dnschecker.org) and that you ran /opt/setup/get-ssl.sh
403 Forbidden right after the server is created The site stays closed to visitors until WordPress setup finishes – wait a minute and reload. If the page still shows 403 after five minutes, setup did not complete: check /opt/setup/setup.log over SSH and reinstall the server with the Rebuild button on its Overview tab in the client portal
SSL script fails DNS probably hasn’t propagated yet. Wait 10-15 minutes and run /opt/setup/get-ssl.sh yourdomain.com again. Details are in /opt/setup/get-ssl.log
Forgot WordPress admin password SSH in and run: wp user update YOUR_LOGIN --user_pass="newpass" --allow-root --path="/var/www/html" (YOUR_LOGIN is the username from the order)
Blocked by Fail2Ban Use the Console on your server’s Overview tab in the client portal to unban your IP
Forgot root password Use the Console on your server’s Overview tab in the client portal to reset it