Install WordPress on VPS Ubuntu – Complete Step-by-Step Guide

Install WordPress on VPS Ubuntu – Complete Step-by-Step Guide

In today’s world, many users struggle when they go beyond shared hosting and attempt to install WordPress on VPS Ubuntu. You might face issues with server setup, database configuration, security, performance, or theme compatibility.

If you’re searching for how to install WordPress on VPS Ubuntu and want a clear, reassuring guide—from server preparation to launching your first site—then you’re in the right place.

Why Use a VPS and How to Install WordPress on VPS Ubuntu

A VPS (Virtual Private Server) gives you full control over the server environment, which makes it an attractive upgrade from shared hosting. With a VPS you get dedicated resources, root (or sudo) access, ability to choose software versions (PHP, MySQL/MariaDB, web server), and better isolation from noisy neighbors. These are the key reasons many site owners choose to install WordPress on VPS Ubuntu.

Key benefits: full control, scalability, performance, security

When you install WordPress on VPS Ubuntu, these advantages empower you to build a faster, safer, and more flexible website environment—perfect for both beginners and advanced users alike.

  • Full control: Install, configure, and tune services (PHP-FPM, caching, web server modules).
  • Scalability: Increase RAM/CPU/disk independently as traffic grows.
  • Performance: Configure caching, opcache, PHP-FPM pools and HTTP/2 easily.
  • Security: Harden SSH, configure firewalls, run security scans, and create snapshots.

What “install WordPress on VPS Ubuntu” means in practice

Practically, it means provisioning an Ubuntu VPS, configuring a web stack (LAMP = Apache, MySQL, PHP or LEMP = Nginx, MySQL, PHP), creating a database and user, downloading WordPress, configuring the web server for your domain, enabling HTTPS, and applying basic hardening & performance tweaks. When done, you’ll have a reliable site that you control end-to-end.

Prerequisites

Before you install WordPress on VPS Ubuntu, make sure your server environment is ready. These essentials ensure a smooth setup process and help prevent common configuration errors during installation.

  • A VPS running Ubuntu (20.04, 22.04, 24.04 or similar), with root or sudo access.
  • A domain name pointed to the VPS IP (A record).
  • Basic familiarity with SSH and terminal commands.
  • Optional: SSH key configured (recommended).

Quick workflow overview

Prepare the server → Install LAMP/LEMP → Create database → Install WordPress → Configure theme/plugins → Optimize & secure.

Next we’ll start the actual step-by-step process so you can complete each point confidently.

How to Install WordPress on VPS Ubuntu – Step-by-Step

In this section, you’ll learn exactly how to install WordPress on VPS Ubuntu step-by-step—from preparing your server to launching a fully functional, optimized WordPress website.

Step 1 – Set Up and Secure Your Ubuntu VPS (install wordpress on vps ubuntu)

The first step to install WordPress on VPS Ubuntu is preparing a secure server environment—updating packages, adding a sudo user, and configuring essential firewall protections.

Log in via SSH

From your local machine:

ssh root@YOUR_SERVER_IP

If you have an SSH key, use ssh -i /path/to/key.pem root@YOUR_SERVER_IP. Once connected, you’re operating as root (or a user with sudo).

Update packages

Before you continue to install WordPress on VPS Ubuntu, it’s essential to update all existing packages. This ensures your system runs the latest security patches and dependency versions.

Always bring packages up to date before installing services:

sudo apt update && sudo apt upgrade -y

Create a non-root sudo user and disable SSH root login

Create a new user and add to sudo group:

adduser deployuser
usermod -aG sudo deployuser

Configure SSH to forbid root login: edit /etc/ssh/sshd_config and set PermitRootLogin no, then restart SSH:

sudo systemctl restart sshd

Install a firewall (UFW) and allow only necessary ports

To securely install WordPress on VPS Ubuntu, configure a firewall using UFW. This limits access to essential ports only, protecting your server from unauthorized connections.

sudo apt install ufw -y
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status

Enable automatic security updates

When you install WordPress on VPS Ubuntu, enabling automatic security updates helps maintain long-term protection. It ensures your server receives the latest patches without requiring constant manual maintenance.

sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades

This helps keep security patches applied automatically.

After these steps your server is in a much safer baseline state — next we’ll install the web stack (LAMP/LEMP).

Using an SSH key instead of a password provides better security — now, let’s move on to installing LAMP or LEMP to host your WordPress site.

Step 2 – Install the LAMP Stack (or LEMP) for WordPress on Ubuntu (wordpress on ubuntu vps setup)

You can choose Apache (LAMP) or Nginx (LEMP). Apache is simpler for beginners (.htaccess support), Nginx offers high performance under load. Below are commands for both; pick one.

Option A — LAMP (Apache + MySQL/MariaDB + PHP)

  1. Install Apache, MySQL, PHP and modules:
    sudo apt install apache2 mysql-server php php-mysql libapache2-mod-php -y
    
  2. Secure MySQL (or MariaDB):
    sudo mysql_secure_installation
    

    Follow prompts: set strong root password (or use unix_socket auth depending on distro), remove anonymous users, disallow remote root login, remove test DB, reload privileges.

  3. Install PHP modules commonly required by WordPress:
    sudo apt install php-{curl,xml,mbstring,zip,intl,gd,xmlrpc,imagick} -y
    
  4. Enable Apache rewrite module and restart:
    sudo a2enmod rewrite
    sudo systemctl restart apache2
    
  5. Test Apache: open your server IP in browser — you should see the Apache default page.

Option B — LEMP (Nginx + MySQL + PHP-FPM)

  1. Install Nginx and PHP-FPM:
    sudo apt install nginx mysql-server php-fpm php-mysql -y
    
  2. Install PHP modules:
    sudo apt install php-{curl,xml,mbstring,zip,intl,gd,xmlrpc,imagick} -y
    
  3. Adjust PHP-FPM config (if necessary) to use appropriate user (www-data on Ubuntu) and restart services:
    sudo systemctl restart php*-fpm
    sudo systemctl restart nginx
    
  4. Test Nginx: browse to server IP.
If you expect heavy traffic, choose Nginx + PHP-FPM and configure caching + reverse proxy. Otherwise Apache is perfectly fine for small to medium sites.

Now that the web stack is in place, create a database for WordPress.

Step 3 – Create a Database for WordPress (install wordpress vps ubuntu apache)

WordPress needs a MySQL/MariaDB database and a dedicated user. Use strong passwords and limit access to localhost for security.

  1. Log into MySQL:
    sudo mysql
    

    or if root has password:

    mysql -u root -p
    
  2. Create database & user and grant privileges:
    CREATE DATABASE wp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'StrongPasswordHere!';
    GRANT ALL PRIVILEGES ON wp_db.* TO 'wp_user'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
    

    Replace wp_db, wp_user, and StrongPasswordHere! with your chosen names/strong password. Keep a secure record of these credentials.

  3. Note down database info — you’ll need it during WordPress installation (DB_NAME, DB_USER, DB_PASSWORD, DB_HOST).

Your database is ready. Next we’ll fetch and place WordPress files.

Step 4 – Download and Install WordPress on Your VPS Ubuntu (wordpress ubuntu vps tutorial)

  1. Navigate to your web root (example /var/www or /var/www/html):
    cd /var/www
    

    Create a folder for your site:

    sudo mkdir -p /var/www/yourdomain.com
    sudo chown $USER:$USER /var/www/yourdomain.com
    
  2. Download latest WordPress and extract:
    wget https://wordpress.org/latest.tar.gz
    tar -xvf latest.tar.gz
    sudo mv wordpress/* /var/www/yourdomain.com/
    rm -rf wordpress latest.tar.gz
    
  3. Set ownership and permissions (for Apache/Nginx using www-data):
    sudo chown -R www-data:www-data /var/www/yourdomain.com
    sudo find /var/www/yourdomain.com -type d -exec chmod 755 {} \;
    sudo find /var/www/yourdomain.com -type f -exec chmod 644 {} \;
    
  4. Create and configure wp-config.php:
    cd /var/www/yourdomain.com
    cp wp-config-sample.php wp-config.php
    

    Edit wp-config.php with your DB details:

    define('DB_NAME', 'wp_db');
    define('DB_USER', 'wp_user');
    define('DB_PASSWORD', 'StrongPasswordHere!');
    define('DB_HOST', 'localhost');
    

    Generate unique salts:

    curl -s https://api.wordpress.org/secret-key/1.1/salt/
    

    Copy the output and replace the placeholder SALT lines in wp-config.php.

  5. Configure Apache virtual host (example for Apache)
    Create /etc/apache2/sites-available/yourdomain.com.conf:
    <VirtualHost *:80>
        ServerName yourdomain.com
        ServerAlias www.yourdomain.com
        DocumentRoot /var/www/yourdomain.com
    
        <Directory /var/www/yourdomain.com>
            AllowOverride All
            Require all granted
        </Directory>
    
        ErrorLog ${APACHE_LOG_DIR}/yourdomain_error.log
        CustomLog ${APACHE_LOG_DIR}/yourdomain_access.log combined
    </VirtualHost>
    

    Enable site and restart:

    sudo a2ensite yourdomain.com.conf
    sudo systemctl reload apache2
    

    If using Nginx, set up a server block pointing root /var/www/yourdomain.com; and configure try_files $uri $uri/ /index.php?$args; then restart Nginx.

  6. Test in browser
    Navigate to http://yourdomain.com — you should see the WordPress setup wizard. Complete site title, admin username (avoid admin), strong password, email, then finish.
Always avoid using the username “admin” and choose a strong password (at least 16 characters combining uppercase, lowercase, numbers, and special symbols). If you encounter a database connection error, double-check DB_NAME, DB_USER, DB_PASSWORD, and DB_HOST in your wp-config.php file, and ensure the user has the correct permissions. Store your login credentials securely in a password manager.

Now that WordPress is installed, pick a fast theme and configure basics.

Step 5 – Install a Fast Loading Theme and Begin Configuration (install wordpress on vps ubuntu)

  1. Choose a performance-optimized theme
    For best results install a lightweight, well-coded theme such as Rabbit Lite (recommended) or other fast themes. These themes reduce render-blocking resources and are SEO-friendly.
  2. Install Rabbit Lite
    In WordPress admin: Appearance → Themes → Add New → search Rabbit Lite → Install → Activate.
  3. Basic configuration
    • Go to Settings → Permalinks and set Post name for SEO-friendly URLs.
    • Remove and deactivate unused default plugins & themes.
    • Set site title, tagline, timezone in Settings → General.
    • Create an admin user with a unique username and configure 2FA plugin for extra protection.
  4. Install essential plugins (minimal list)
    • Caching (e.g., WP Super Cache, or LiteSpeed Cache if server supports).
    • Security (Wordfence or alternatives).
    • Backup (UpdraftPlus or similar).
    • SEO (Yoast SEO or Rank Math).

After activating a lightweight theme like Rabbit Lite, check your site speed using tools such as PageSpeed Insights or GTmetrix. If you’re using LEMP + Nginx, consider configuring FastCGI cache or combining a caching plugin with your server-side cache system for optimal performance. Always run at least one speed test after every major change (plugin or theme).

Step 6 – Basic Security and Performance Checks on VPS Ubuntu (vps ubuntu wordpress install)

  1. Disable file editing in WordPress
    In wp-config.php, add:
    define('DISALLOW_FILE_EDIT', true);
    
  2. Install SSL via Let’s Encrypt
    If using Apache:
    sudo apt install certbot python3-certbot-apache -y
    sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
    

    For Nginx:

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

    Certbot will obtain certificates and configure automatic renewal.

  3. Set up automatic backups
    • Use plugin-based backups (UpdraftPlus to remote storage like Google Drive/S3).
    • Or configure server-side snapshots and cron jobs to copy database dumps offsite.
  4. Monitor resources
    Install monitoring tools (like htop, vnstat, or a hosted monitoring service) and watch CPU/RAM/disk. Scale VPS resources if load increases.
  5. Performance optimizations
    • Enable PHP OPcache (usually included with PHP packages).
    • Use gzip compression and proper caching headers (configure in Apache/Nginx).
    • Use a CDN for static assets if audience is geographically distributed.
Set up automatic backups and log rotation before deploying major content updates. Use a VPS snapshot before making significant changes (theme/plugin/core). If your site is critical, consider daily offsite backups and a weekly snapshot to ensure quick recovery points.

FAQ – Common Questions About Install WordPress on VPS Ubuntu

In this section, we’ll answer the most frequent questions users have when they install WordPress on VPS Ubuntu, helping you troubleshoot issues and optimize your setup efficiently.

Can I install WordPress on Ubuntu 24.04 / latest version? (install wordpress on vps ubuntu)

Yes. Ubuntu 24.04 and other recent LTS releases are fully capable of hosting WordPress. The workflow is the same: update packages, install a supported PHP version, install MySQL/MariaDB, and follow the steps above. Always check that your PHP version is supported by the WordPress version you plan to run (WordPress supports modern PHP versions; PHP 8.x is recommended).

Do I need to use Apache or can I use Nginx? (wordpress on ubuntu vps setup)

Either web server works. Apache is beginner-friendly and works well with .htaccess rules. Nginx usually gives better performance under high concurrency and is often paired with PHP-FPM and caching layers. If you expect heavy traffic or want to tune advanced caching, consider Nginx; if you prefer simpler setup and .htaccess convenience, use Apache.

How many resources (RAM/CPU) does a WordPress site need on VPS? (wordpress ubuntu vps tutorial)

  • Small sites (low traffic): 1–2 GB RAM, 1 CPU core.
  • Growing blogs / small eCommerce: 2–4 GB RAM, 1–2 CPU cores.
  • High-traffic / heavy plugins: 4+ GB RAM, multiple cores.
    Always monitor real usage (top/htop, vmstat, or a hosted monitor) and scale before performance becomes a problem.

What about updates and security on a WordPress VPS? (install wordpress vps ubuntu apache)

On a VPS you are responsible for both server and application updates. Run sudo apt update && sudo apt upgrade regularly for the OS, enable unattended security updates, and keep WordPress core/themes/plugins updated from the admin dashboard. Use strong passwords, enable two-factor authentication, and review logs for suspicious activity.

Troubleshooting Common Issues (vps ubuntu wordpress install)

  • Database connection errors: Check wp-config.php credentials, ensure MySQL is running (sudo systemctl status mysql), and verify user privileges.
  • 403/500 Errors after deployment: Check file permissions (directories 755, files 644), ownership (www-data:www-data), and web server error logs (/var/log/apache2/ or /var/log/nginx/).
  • Permalink issues: Ensure mod_rewrite is enabled for Apache (sudo a2enmod rewrite) and that your Nginx config includes the correct try_files directive.
  • SSL not redirecting to HTTPS: Verify Certbot configured virtual host and that site URLs under Settings → General use https://. Also ensure HTTP→HTTPS redirects are present.
Before fixing major issues, check the logs: Apache (/var/log/apache2/error.log) or Nginx (/var/log/nginx/error.log) often reveal the cause quickly. Use tail -f /var/log/... while reproducing the error to monitor it in real time.

Conclusion

Installing WordPress on VPS Ubuntu gives you full control, better performance, and the ability to scale as your site grows. This guide walked you through the entire process: why a VPS matters, how to secure and prepare your Ubuntu server, installing LAMP or LEMP, creating the database, installing WordPress, picking a fast theme like Rabbit Lite, and applying security and performance basics.

If you carefully follow each section — server setup, installing the web stack, database creation, WordPress installation, and hardening — you’ll end up with a reliable, maintainable WordPress site on your VPS. Keep backups, monitor resource usage, and update both OS and WordPress components regularly. Good luck with your new VPS-hosted WordPress site — if you want, I can provide a ready-to-copy Apache or Nginx server block tailored to your domain and PHP version.

Leave a Reply

Your email address will not be published. Required fields are marked *