How to Install WordPress on Contabo VPS in 2026: Step-by-Step Guide
iMiMoodsy2026-09-14
Replace the example domain before running commands. This tutorial uses imoodsy.com and www.imoodsy.com only as examples. Replace every occurrence with your own domain and replace 123.123.123.123 with your VPS IP address. Copy buttons copy the example exactly as shown; edit the domain, IP address and passwords before running commands on your server.
Installing WordPress on a Contabo VPS gives you significantly more control over your website than traditional shared hosting. You can choose your web server, configure PHP limits, manage databases, install caching systems, host multiple websites and optimize the server according to your requirements.
However, a fresh Contabo VPS is different from shared hosting. You normally won't have cPanel, a one-click WordPress installer or a preconfigured hosting environment. If you start with a fresh Ubuntu server, you need to install and configure the web server, PHP, database, WordPress and SSL certificate yourself.
In this complete guide, you'll learn how to install WordPress on Contabo VPS step by step using Ubuntu 24.04 LTS, Nginx, MySQL, PHP-FPM and Let's Encrypt SSL.
I've included all the commands required throughout the process, so you can follow the tutorial even if this is your first time configuring WordPress manually on a VPS.
By the end of this guide, your WordPress website should be available securely at:
https://yourdomain.com
If you haven't selected your hosting provider yet, you can first check our Top 10 Best Web Hosting Service Providers in 2026 comparison to understand how Contabo compares with other hosting options.
Quick Answer: How to Install WordPress on Contabo VPS
To install WordPress on Contabo, first deploy an Ubuntu VPS and connect to your server through SSH. Install Nginx, MySQL and PHP-FPM, create a database for WordPress, download the latest WordPress files and configure wp-config.php.
Next, create an Nginx server block for your domain, point the domain's DNS records to your Contabo VPS IP address and install a free Let's Encrypt SSL certificate using Certbot.
Before installing additional services, configure the Ubuntu UFW firewall.
First, allow SSH connections:
ufw allow OpenSSH
This is important because enabling the firewall without allowing SSH could lock you out of the server.
Next, we'll eventually need HTTP and HTTPS traffic. You can enable them using:
ufw allow 80/tcp
ufw allow 443/tcp
Now enable UFW:
ufw enable
Confirm when prompted.
Check its status:
ufw status
You should see rules allowing SSH, port 80 and port 443.
Step 5: Install Nginx on Contabo VPS
WordPress requires a web server to process browser requests.
In this tutorial, we'll use Nginx.
Install Nginx:
apt install nginx -y
Start Nginx:
systemctl start nginx
Enable it automatically after server reboot:
systemctl enable nginx
Check the status:
systemctl status nginx
You should see:
active (running)
Press:
q
to exit the status screen.
Now open your server IP in a browser:
http://123.123.123.123
You should see the default:
Welcome to nginx!
page.
That confirms Nginx is running properly.
Step 6: Install MySQL for WordPress
WordPress requires a database to store information such as posts, pages, users, settings, comments and plugin data.
We'll use MySQL.
Install it:
apt install mysql-server -y
Start MySQL:
systemctl start mysql
Enable it at startup:
systemctl enable mysql
Verify that it is running:
systemctl status mysql
You should see:
active (running)
Step 7: Secure MySQL
Run the MySQL security configuration:
mysql_secure_installation
The questions shown can vary slightly depending on your MySQL version.
For a normal WordPress server, you generally want to remove anonymous users, disable unnecessary remote root database access, remove the test database and reload the privilege tables.
Ubuntu uses socket authentication for the local MySQL root account by default. This tutorial runs commands as the Linux root user, so mysql opens the database shell without a database password. If you use a separate sudo user, run sudo mysql and sudo mysql_secure_installation. Keep socket authentication for local root access and use the separate password-protected wpuser account for WordPress. See the Ubuntu MySQL installation guide for details.
Step 8: Create a WordPress Database on Contabo
Now we need a dedicated database and database user for WordPress.
Open MySQL:
mysql
You should see:
mysql>
Create the WordPress database:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Create a WordPress database user:
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'YourVeryStrongPasswordHere!';
Replace the example password with a strong password.
Now give the user access to the WordPress database:
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
For stronger SSH security, consider creating a separate sudo user and configuring SSH key authentication rather than relying permanently on root password login.
For example:
adduser serveradmin
Then:
usermod -aG sudo serveradmin
Do not disable root or password-based login until you have tested your new user and SSH key configuration successfully.
Step 21: Configure WordPress Backups
If you are moving an existing site rather than starting fresh, compare free WordPress migration plugins. Migration and scheduled backups are different features, so check what each free version includes.
Running WordPress on your own VPS also means you're responsible for backups.
A complete WordPress backup needs both the database and website files.
Since we've already installed a valid Let's Encrypt certificate on the Contabo server, use:
Cloudflare SSL/TLS → Full (Strict)
where appropriate.
Avoid using Flexible SSL when your origin server already supports HTTPS because it does not provide encrypted HTTPS between Cloudflare and the origin and can create redirect problems.
How to Check Whether Your Contabo WordPress Server Is Working Properly
After these local checks, set up external uptime monitoring to detect availability problems even when the server itself cannot send an alert.
Several Linux commands are useful when managing your WordPress server.
Check Nginx:
systemctl status nginx
Check PHP:
systemctl status php8.3-fpm
Check MySQL:
systemctl status mysql
Check RAM usage:
free -h
Check disk space:
df -h
Check running processes:
top
Check open ports:
ss -tulpn
Check firewall:
ufw status
Test your Nginx configuration:
nginx -t
View Nginx errors:
tail -f /var/log/nginx/error.log
These commands can help you quickly identify common server problems.
Common WordPress Problems on Contabo VPS
502 Bad Gateway
One of the most common errors with Nginx and PHP-FPM is:
502 Bad Gateway
First, check PHP-FPM:
systemctl status php8.3-fpm
Then check the available PHP socket:
ls /run/php/
Make sure your Nginx configuration uses the correct path:
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
Test Nginx:
nginx -t
Restart PHP:
systemctl restart php8.3-fpm
Reload Nginx:
systemctl reload nginx
Error Establishing a Database Connection
If WordPress displays:
Error establishing a database connection
check your wp-config.php values.
They should match the database details you created earlier:
If Certbot cannot create your SSL certificate, first confirm that the domain points to your Contabo IP:
nslookup imoodsy.com
Check your firewall:
ufw status
Ports 80 and 443 should be accessible.
If you're already using Cloudflare and validation continues to fail, you can temporarily disable Cloudflare proxying for the affected DNS records, obtain the certificate and enable proxying again afterward.
WordPress Cannot Upload Images or Plugins
First, confirm your WordPress ownership:
chown -R www-data:www-data /var/www/imoodsy.com
Reset directory permissions:
find /var/www/imoodsy.com -type d -exec chmod 755 {} \;
Reset file permissions:
find /var/www/imoodsy.com -type f -exec chmod 644 {} \;
Also check:
upload_max_filesize
post_max_size
inside your PHP configuration.
Nginx vs Apache for Contabo WordPress
Both Nginx and Apache can run WordPress successfully.
Apache is popular because WordPress has historically been associated with Apache and .htaccess files. Many beginners may also find Apache tutorials easier to follow.
Nginx, however, is an excellent choice for VPS hosting. It is lightweight, handles concurrent connections efficiently and gives you direct control over server-level routing and caching.
Our Contabo WordPress setup uses:
Nginx
+
PHP-FPM
+
MySQL
which is a popular stack for self-managed WordPress servers.
Do You Need cPanel to Install WordPress on Contabo?
No.
You can install and run WordPress on Contabo without cPanel.
Everything in this guide is configured directly through Ubuntu.
Running WordPress without a paid control panel can reduce licensing costs and unnecessary software overhead.
However, it also means you are responsible for managing Nginx, databases, PHP, SSL certificates, security updates, backups and server troubleshooting yourself.
If you prefer a fully managed hosting experience, compare the alternatives in our Best Web Hosting Services for 2026 guide before deciding whether a self-managed VPS is right for you.
Can You Host Multiple WordPress Websites on One Contabo VPS?
Yes.
A single Contabo VPS can host multiple WordPress websites if it has sufficient CPU, RAM and storage resources.
Each domain should have its own Nginx server block.
Ideally, each WordPress installation should also have its own database and database user.
For example:
site1_db
site2_db
site3_db
This makes the server easier to manage and helps keep WordPress installations separated.
Is Contabo Good for WordPress Hosting?
Contabo can be attractive for users who want a large amount of VPS resources at competitive pricing.
A self-managed Contabo server also gives you control over PHP, Nginx, databases, caching, storage and server-level optimization.
This makes it possible to host blogs, company websites, WooCommerce stores and multiple WordPress installations.
The main disadvantage is that a VPS requires more technical knowledge than traditional shared hosting.
You are responsible for configuring and maintaining the server.
If you're comparing Contabo with another cloud provider, our DigitalOcean Promo Codes & Credits 2026 article also explains the current DigitalOcean signup offers and can help you evaluate another popular cloud hosting option.
Frequently Asked Questions
How do I install WordPress on Contabo?
To install WordPress on Contabo, create an Ubuntu VPS, connect through SSH, install Nginx, MySQL and PHP-FPM, create a WordPress database, download WordPress, configure wp-config.php, create an Nginx server block, point your domain to the VPS and install an SSL certificate.
Can I install WordPress on Contabo VPS without cPanel?
Yes. You don't need cPanel to install WordPress on Contabo. WordPress can run directly on Ubuntu using Nginx or Apache, PHP and MySQL.
Which Ubuntu version should I use for Contabo WordPress?
Ubuntu 24.04 LTS is a good choice for a new WordPress server. Ubuntu 22.04 LTS can also be used, although PHP package versions and configuration paths may differ.
Which PHP version does Ubuntu 24.04 use?
Ubuntu 24.04 commonly provides PHP 8.3 through its standard repositories. You can check your installed PHP version with:
php -v
Can I use Cloudflare with Contabo?
Yes. Cloudflare can be used in front of a Contabo VPS for DNS, CDN and security features. When your Contabo origin has a valid SSL certificate, Full (Strict) is generally the appropriate Cloudflare SSL mode.
Is SSL free for Contabo WordPress?
You can install a free Let's Encrypt SSL certificate using Certbot. The certificate can then be automatically renewed on your VPS.
Can I host WooCommerce on Contabo VPS?
Yes. WooCommerce can run on a Contabo VPS provided the server has sufficient CPU, RAM, disk performance and properly configured PHP and database resources.
Can I host more than one WordPress website?
Yes. Multiple WordPress installations can be hosted on the same VPS using separate directories, databases and Nginx server blocks.
How do I restart WordPress on Contabo?
WordPress itself isn't a system service. If your WordPress site has a server-side issue, you may need to restart PHP-FPM, Nginx or MySQL:
systemctl restart php8.3-fpm
systemctl restart nginx
systemctl restart mysql
How do I update my Contabo VPS?
Run:
apt update && apt upgrade -y
You should regularly install server security updates when managing your own VPS.
Final Thoughts
Installing WordPress on a Contabo VPS requires more configuration than using traditional shared hosting, but it also gives you much greater control over the server.
In this tutorial, we built the complete WordPress hosting environment using:
The full installation process can be summarized as:
Create Contabo VPS
↓
Connect Through SSH
↓
Update Ubuntu
↓
Configure Firewall
↓
Install Nginx
↓
Install MySQL
↓
Create WordPress Database
↓
Install PHP
↓
Download WordPress
↓
Configure wp-config.php
↓
Configure Nginx
↓
Point Your Domain
↓
Install SSL
↓
Complete WordPress Setup
↓
Secure and Back Up the Server
Once the initial configuration is complete, you have a flexible WordPress environment where you can control server resources, PHP settings, caching, security and performance yourself.
Do Contabo promo codes actually work in 2026? Here is the truth about Contabo coupons, the built-in 20% discount, waived setup fees, full VPS pricing, and how to pay the lowest price.
Compare 10 free WordPress migration plugins for moving hosts or domains, with free-version limitations, backup options and a practical migration checklist.