← Back to Blog

How to Install WordPress on a VPS Without cPanel (Ubuntu 24.04)

Published May 2, 2026  ·  12 min read  ·  Dakota Hopson, Galaxy Cloud Solutions

cPanel costs $15-20/month on top of your hosting. For a personal site or small business, that's a significant chunk of your hosting budget going toward a control panel you probably only use to install WordPress anyway. This guide skips cPanel entirely and sets up WordPress directly on Ubuntu 24.04 with Nginx, PHP 8.3, and MySQL. It's not harder — it's actually cleaner once you've done it once.

When I built the Galaxy Cloud Solutions control panel, I did it without cPanel for exactly this reason. Once you understand the stack, you don't need a GUI to manage it.

⚡ Need a VPS? Start from $5/mo — Use code LAUNCH2026 for 50% off

What You Need

Step 1 — Update the Server

apt update && apt upgrade -y

Step 2 — Install Nginx

apt install nginx -y
systemctl enable nginx
systemctl start nginx

Visit your server's IP in a browser — you should see the Nginx welcome page.

Step 3 — Install PHP 8.3

apt install php8.3-fpm php8.3-mysql php8.3-xml php8.3-curl php8.3-gd php8.3-mbstring php8.3-zip php8.3-intl -y

Start PHP-FPM:

systemctl enable php8.3-fpm
systemctl start php8.3-fpm

Step 4 — Install MySQL

apt install mysql-server -y
systemctl enable mysql
mysql_secure_installation

Follow the prompts — set a root password, remove anonymous users, disable remote root login. All yes.

Step 5 — Create a Database for WordPress

mysql -u root -p

Then run these SQL commands:

CREATE DATABASE wordpress;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Step 6 — Download WordPress

cd /var/www
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
chown -R www-data:www-data wordpress
rm latest.tar.gz

Step 7 — Configure Nginx

Create an Nginx config for your site:

cat > /etc/nginx/sites-available/wordpress << 'EOF'
server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    root /var/www/wordpress;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}
EOF

ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

Replace yourdomain.com with your actual domain.

Step 8 — Configure WordPress

cd /var/www/wordpress
cp wp-config-sample.php wp-config.php
nano wp-config.php

Update these lines with your database details:

define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', 'your_strong_password' );
define( 'DB_HOST', 'localhost' );

Step 9 — Add SSL with Let's Encrypt

apt install certbot python3-certbot-nginx -y
certbot --nginx -d yourdomain.com -d www.yourdomain.com

Follow the prompts. Certbot will automatically configure HTTPS and set up auto-renewal.

Step 10 — Finish the WordPress Install

Visit https://yourdomain.com in your browser and you'll see the WordPress setup wizard. Set your site title, admin username, and password and you're done.

Performance tip: Install the W3 Total Cache or WP Super Cache plugin immediately. On a 1GB RAM VPS, caching makes a massive difference to how many concurrent visitors the site can handle.

Host WordPress for $5/month — no cPanel tax

Our Nebula 1 plan (1GB RAM, 20GB SSD) handles low to medium traffic WordPress sites comfortably. Full root access, Ubuntu 24.04, instant deployment. Use code LAUNCH2026 for 50% off your first month.

Get Started