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 |
| A | www | your.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 |
|---|---|---|
| SSH | 5 failed logins | 10 minutes |
| WordPress (hard) | 3 failed logins | 1 hour |
| WordPress (soft) | 5 failed logins | 10 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 |
|---|---|
| Ubuntu | 24.04 LTS |
| Apache | 2.4 |
| MySQL | 8.0 |
| PHP | 8.3 |
| WordPress | Latest |
| WP-CLI | Latest |
| Certbot | 5.8 (IP address), 2.9 (domain) |
| Fail2Ban | 1.0 |
| Postfix | 3.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 |