WooCommerce VPS - Getting Started Guide
Your WooCommerce VPS based on Ubuntu 24.04 comes fully configured - WordPress, WooCommerce, payment gateways and the Storefront theme are installed with the domain, admin account and store name you specified during order. All you need to do is point your domain to the server's IP address, enable SSL, and your store will be ready for business.
Software Included
| Component | Version |
|---|---|
| Ubuntu | 24.04.3 LTS |
| Apache | 2.4.58 |
| MySQL | 8.0.44 |
| PHP | 8.3.6 |
| WordPress | 6.9 |
| WooCommerce | 10.4.3 |
| WP-CLI | 2.12.0 |
| Certbot | 2.9.0 |
| Fail2Ban | 1.0.2 |
| Postfix | 3.8.6 |
Pre-installed Plugins
| Plugin | Purpose |
|---|---|
| WooCommerce | E-commerce engine |
| WooCommerce Stripe | Accept credit cards, Apple Pay, Google Pay |
| WooCommerce PayPal | PayPal payments |
| WooCommerce Shipping & Tax | Automated shipping rates and tax calculations |
| Jetpack | Security, performance and marketing tools |
| Storefront Theme | Official WooCommerce theme |
Step 1 - Get Your Server IP Address
After your VPS is created, log in to your client panel and open your VPS service details. Find the IP address of your server.
Your site is already accessible by IP address right away - open http://your.server.ip in a browser to verify it works. But for your domain to work, you'll need to set up DNS in the next step.
Step 2 - Point Your Domain to the Server
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 - Access Your Site
Once DNS has propagated, your site is live:
- Your store:
http://yourdomain.com - Admin panel:
http://yourdomain.com/wp-admin
Log in with the admin credentials you entered during the order.
Step 4 - Enable SSL (Required for Payments)
Important: SSL is required for accepting payments. Stripe and PayPal will not work without HTTPS - they require a secure connection to process transactions.
Connect via SSH using the root password from your service details page:
ssh root@your.server.ip
/opt/setup/get-ssl.sh
The script will verify DNS, obtain a Let's Encrypt certificate and switch your site to HTTPS automatically. Automatic renewal is already configured. After completion, your store is available at https://yourdomain.com.
Step 5 - Configure Payment Gateways
Go to WooCommerce → Settings → Payments in wp-admin.
Stripe
- Click Set up next to Stripe
- Click Connect with Stripe - you'll be redirected to Stripe
- Sign in or create a Stripe account
- Authorize the connection
PayPal
- Click Set up next to PayPal
- Click Connect with PayPal - you'll be redirected to PayPal
- Sign in or create a PayPal business account
- Authorize the connection
You can enable both Stripe and PayPal at the same time - let customers choose. Many prefer PayPal because they don't have to enter card details on an unfamiliar site.
Post-Installation
SSL Certificate Renewal
Let's Encrypt certificates are valid for 90 days. Automatic renewal is configured. You can test it with:
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 (it happens), connect via VNC console in your client panel and unban your IP.
Server Credentials
MySQL credentials are stored in /root/.wp_credentials. WordPress is pre-configured to use them.
Troubleshooting
| Problem | Solution |
|---|---|
| Site doesn't open in browser | Check that your domain's A record points to the server IP. Use dnschecker.org to verify |
| SSL script fails | DNS probably hasn't propagated yet. Wait 10-15 minutes and try again |
| Stripe/PayPal not working | Make sure SSL is enabled - payment gateways require HTTPS |
| Forgot WordPress admin password | SSH in and run: wp user update admin --user_pass="newpass" --allow-root --path="/var/www/html" |
| Blocked by Fail2Ban | Use VNC console in your client panel to unban your IP |
| Can't connect via SSH | Check that port 22 is not blocked. Try VNC console as a fallback |
- WooCommerce Documentation: woocommerce.com/documentation