How to Install WordPress on a VPS Without cPanel (Ubuntu 24.04)
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% offWhat You Need
- A Ubuntu 24.04 VPS (Nebula 1 at $5/mo works for low-traffic sites)
- A domain name pointed at your server's IP
- Root SSH access
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.
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