How to install WordPress on Contabo

intermediate 12 min read Updated 2026-03-13
Quick Answer

Order a Contabo VPS with Ubuntu, SSH in as root, install LAMP stack or a control panel like CyberPanel, create a WordPress database, and deploy via one-click installer or manual files. Total time: 30-60 minutes. Secure with SSL and proper permissions for production use.

Prerequisites

  • Contabo VPS or VDS with Ubuntu 22.04 LTS (at least 2GB RAM)
  • SSH client like PuTTY or terminal
  • Domain name with A record pointing to VPS IP
  • Root credentials from Contabo dashboard
  • Basic Linux command knowledge

Step-by-Step Instructions

1

Order and Install Ubuntu Server

Log in to my.contabo.com Customer Panel, go to Server control > VPS/VDS control, select Standard Image > Ubuntu 22.04 LTS, set a secure root password, and click Install. Wait 5-10 minutes for completion and note the server IP from details page[2][5].
Store root password securely; it's not emailed.
2

Connect to Server via SSH

Use SSH client: ssh root@YOUR_SERVER_IP -p 22 (PuTTY on Windows: enter IP, port 22, root username, paste password). Verify connection with free -h to check RAM/swap[1][2].
Right-click in PuTTY to paste password.
3

Update System and Install LAMP Stack

apt update && apt upgrade -y
apt install apache2 mariadb-server mariadb-client php8.2 php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-xmlrpc unzip wget -y
systemctl enable apache2 mariadb
systemctl start apache2 mariadb
PHP 8.2 meets WordPress requirements; test Apache at http://YOUR_IP[2][5].
4

Secure MariaDB and Create WordPress Database

Run mysql_secure_installation: set root password, answer Y to remove anonymous users/test DB. Then:
mysql -u root -p
CREATE DATABASE wordpress_db;
CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'YourStrongWPUserPass123!';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
[2][5].
Use strong, unique passwords.
5

Option: Install Control Panel (CyberPanel Recommended)

For easier management:
sh <(curl https://cyberpanel.net/install.sh || wget -O - https://cyberpanel.net/install.sh)
Select 1 (CyberPanel), 1 (OpenLiteSpeed). Access at https://YOUR_IP:8090 (admin/1234567, change password immediately). Or use CloudPanel per tutorials[1][4].
Ideal for beginners; skips manual LAMP.
6

Download and Configure WordPress Files

cd /home && wget https://wordpress.org/latest.zip
unzip latest.zip
rm -rf /var/www/html/*
cp -R /home/wordpress/* /var/www/html/
chown -R www-data:www-data /var/www/html/
chmod -R 755 /var/www/html/
Copy cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php, edit with nano /var/www/html/wp-config.php: update DB_NAME, DB_USER, DB_PASSWORD, DB_HOST[2][5].
Generate auth keys from wordpress.org/secret-key/1.1/
7

Complete WordPress Installation in Browser

Visit http://YOUR_IP or domain. Click Let’s go!, enter DB details, submit, run installation, set site title/admin credentials. Login at /wp-admin[5]. In CyberPanel: Websites > WordPress > Install with site details[1].
8

Point Domain and Install SSL

Update domain A record to VPS IP. In CyberPanel/CloudPanel: Issue free SSL via panel. Manually: Use Certbot apt install certbot python3-certbot-apache then certbot --apache[1][4].
Wait for DNS propagation (up to 48h).
9

Set Permissions and Test

Ensure chown -R www-data:www-data /var/www/html and chmod -R 755 /var/www/html. Test site, dashboard access, and plugins/themes[2].
Monitor resources with <code>htop</code> (install if needed).

Common Issues & Troubleshooting

SSH login failure

Verify IP/port/password from dashboard; try right-click paste in PuTTY; check firewall with <code>ufw status</code>.

Permission denied on files

Run <code>chown -R www-data:www-data /var/www/html</code> and <code>chmod -R 755 /var/www/html</code>.

Apt update/upgrade errors

Run <code>apt update &amp;&amp; apt upgrade -y</code> again; check internet with <code>ping google.com</code>.

WordPress DB connection error

Confirm DB credentials in wp-config.php match MariaDB user; test login <code>mysql -u wordpress_user -p</code>.

Site not loading after install

Check Apache status <code>systemctl status apache2</code>; restart <code>systemctl restart apache2</code>; verify domain DNS.

Exclusive Deal

Affiliate link. We may earn a commission at no extra cost to you.