Cloud

How to Install WordPress on Cloud Hosting in Under 30 Minutes

A step-by-step guide to installing WordPress on a cloud server from scratch, no advanced programming knowledge required.

An IT professional operates a computer in a server room, managing network systems and connected devices.

Installing WordPress on cloud hosting is simpler than it sounds: with the right access and this guide, you can have your site running in under 30 minutes.

Unlike shared hosting, cloud hosting gives you full control over the server — you choose the stack, adjust resources, and scale without migrating. Below you'll find the complete process, from choosing a plan to your site's first load.

Why Use Cloud Hosting for WordPress?

Shared hosting is affordable but has clear limits: shared resources, configuration restrictions, and a single point of failure. Cloud hosting solves all three.

  • Isolated performance: your site doesn't share CPU or RAM with other customers.
  • Vertical and horizontal scalability: add resources in minutes without migrating data.
  • High availability: cloud providers distribute the load across multiple nodes.
  • Full stack control: choose your PHP version, enable extensions, and configure your web server.

For sites with growing traffic or WooCommerce stores, cloud hosting is the natural choice. If you're still evaluating which plan to get, the experts at elenlace.com can advise you at no cost.

What You Need Before Starting

Before running your first command, make sure you have the following ready:

  • An active cloud server (VPS or cloud instance) — Ubuntu 22.04 or AlmaLinux 9 recommended.
  • SSH access to the server (root or sudo user).
  • A domain name with access to DNS records.
  • An SSH client: Terminal on macOS/Linux, or PuTTY/Windows Terminal on Windows.

If your provider assigns a public IP when you create the instance, note it down — you'll use it in steps 1 and 2.

Step 1: Point Your Domain to the Cloud Server

Before installing any software, configure your DNS so the domain points to the server.

  1. Log into your domain registrar's panel (GoDaddy, Namecheap, Cloudflare, etc.).
  2. Edit the A record for your domain (e.g., yourdomain.com) and enter the server's public IP.
  3. If you want www to work too, create or edit the A record for www with the same IP.
  4. Save the changes. Propagation takes between 5 minutes and 2 hours depending on TTL.

You can check propagation with dig yourdomain.com +short from your terminal or using online tools like whatsmydns.net.

Step 2: Install the LAMP or LEMP Stack

WordPress requires a web server (Apache or Nginx), PHP, and MySQL/MariaDB. The most common cloud stack is LEMP (Linux + Nginx + MySQL + PHP) for its lower memory footprint.

On Ubuntu 22.04 with LEMP

# Update packages
sudo apt update && sudo apt upgrade -y

# Install Nginx, MySQL, and PHP 8.2
sudo apt install -y nginx mysql-server php8.2-fpm \
  php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring \
  php8.2-xml php8.2-zip php8.2-intl

# Enable and start services
sudo systemctl enable nginx mysql php8.2-fpm
sudo systemctl start nginx mysql php8.2-fpm

Create the WordPress Database

sudo mysql -u root -p

-- Inside MySQL:
CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Use a long, random password — it's the one point where an attacker could reach your data if your application had a vulnerability.

Step 3: Download and Configure WordPress

# Download the latest version
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz

# Move to the web directory
sudo mv wordpress /var/www/yourdomain.com
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 {} \;

Next, create the WordPress configuration file:

cd /var/www/yourdomain.com
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php

Edit the lines with your database credentials:

define( 'DB_NAME',     'wordpress_db' );
define( 'DB_USER',     'wp_user' );
define( 'DB_PASSWORD', 'StrongPassword123!' );
define( 'DB_HOST',     'localhost' );

Also replace the salts in that file using the official generator: https://api.wordpress.org/secret-key/1.1/salt/.

Step 4: Configure Nginx and SSL

Create a server block in Nginx for your domain:

sudo nano /etc/nginx/sites-available/yourdomain.com

Basic content:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    root /var/www/yourdomain.com;
    index index.php index.html;

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

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

    location ~ /\.ht {
        deny all;
    }
}
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

Enable SSL with Let's Encrypt (Free)

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

Certbot detects your Nginx configuration, requests the certificate, and automatically redirects HTTP to HTTPS. Renewal is automatic via cron.

Step 5: Complete the Installation from Your Browser

Open https://yourdomain.com in your browser. You'll see the WordPress installer:

  1. Select your language.
  2. Enter the site title, admin username, password, and email.
  3. Click Install WordPress.
  4. In under 10 seconds you'll see the confirmation. Log into the dashboard at /wp-admin.

Your WordPress is ready. From the dashboard you can install your theme, essential plugins (security, cache, SEO), and start publishing.

Step Estimated time Tool
Configure DNS 5 min + propagation Registrar panel
Install LEMP stack 5-8 min Terminal / SSH
Download and configure WP 5 min Terminal / SSH
Configure Nginx + SSL 5 min Terminal / SSH
WordPress web installer 2 min Browser

Prefer not to manage the server yourself? Many cloud hosting providers include panels like cPanel or Plesk with one-click installers. Browse the managed options in our cloud hosting section to compare alternatives.

Key Takeaways

  • Cloud hosting offers isolated performance, scalability, and full stack control — clear advantages over shared hosting for growing sites.
  • The LEMP stack (Nginx + MySQL + PHP) is the most resource-efficient combination for WordPress on a cloud server.
  • Configuring DNS before installing software saves time and avoids issues with SSL certificate validation.
  • Let's Encrypt provides free SSL with automatic renewal — there's no excuse to leave a site without HTTPS.
  • The complete installation, from SSH connection to the WordPress dashboard, takes under 30 minutes with this guide.

Ready to take your site to the next level? Get in touch at elenlace.com and we'll help you choose the ideal cloud hosting plan for your project, with no hidden costs or forced contracts.

FAQ

Do I need programming knowledge to install WordPress on cloud hosting?

You don't need to be a programmer, but you should be comfortable with the terminal (SSH) and following step-by-step commands. If you prefer a command-line-free experience, look for cloud hosting plans that include cPanel or a one-click installer.

How much does a cloud server for WordPress cost?

Entry-level plans (1 vCPU, 1-2 GB RAM) start from $4-8 USD/month at major providers. For a blog or corporate site with moderate traffic (up to 50,000 visits/month), that tier is more than sufficient.

Can I migrate my existing WordPress site to cloud hosting?

Yes. The standard process involves exporting the database with mysqldump, copying the site files with rsync or scp, importing the database on the new server, and updating the wp-config.php file. Plugins like All-in-One WP Migration simplify the process even further.

Apache or Nginx for WordPress on cloud?

Nginx is generally the better choice on cloud: it uses less memory, handles concurrency better, and its static cache configuration is more efficient. Apache remains valid, especially if you use .htaccess files with custom rules, as Nginx doesn't natively support them.

Compare providers

Other providers and guides worth comparing:

← All