The CloudSOE WordPress image gives you a complete WordPress stack — Apache, PHP, MariaDB, phpMyAdmin and SFTP — on a hardened Ubuntu base. The image contains no baked-in passwords: on first boot your VM generates its own database credentials and a per-instance TLS certificate, then hands you a fresh WordPress installer.
What you’ll need
- An Azure subscription
- An SSH public key (password login is disabled in the image)
- About ten minutes
Step 1 — Create the VM
- Find the CloudSOE WordPress offer in the Azure Marketplace and click Create.
- Choose a resource group, region and VM name.
- Pick a size — 2 vCPU / 4 GB (for example
Standard_B2sorStandard_D2as_v4) suits most sites. - Under Administrator account, select SSH public key, pick a username (e.g.
azureuser) and paste your key. This account is the uid-1000 admin user that owns the WordPress files over SFTP. - Create or attach a public IP so you can reach the site.
Step 2 — Open the firewall ports
In the VM’s network security group, allow inbound:
| Port | Protocol | Purpose |
|---|---|---|
| 22 | TCP | SSH and SFTP administration |
| 80 | TCP | HTTP (WordPress) |
| 443 | TCP | HTTPS (WordPress) |
Restrict port 22 to your own IP range where possible.
Step 3 — Let first boot finish
On the very first boot the VM runs a one-time setup service that:
- creates the WordPress database and a unique database password,
- writes
wp-config.phpwith fresh authentication salts, - generates a self-signed TLS certificate for your VM’s public IP,
- saves the generated credentials to a root-protected file.
This usually completes within a minute or two. You can watch it:
ssh <admin-user>@<public-ip>
systemctl status wordpress-firstboot
Step 4 — Retrieve your credentials
SSH in with the admin username you chose at deployment. The login banner (MOTD) shows the VM’s public IP and points at the credentials file:
sudo cat /opt/wordpress/default-wordpress-credentials.txt
This file (mode 600) holds the generated MariaDB password for the wordpress database user.
Step 5 — Complete the WordPress installer
From your own machine (note: an Azure VM often cannot reach its own public IP from inside), browse to https://<public-ip>/. Your browser will warn about the self-signed certificate — expected on a fresh instance; see the configuration guide for switching to a trusted certificate and your own domain.
Complete the WordPress installer: language, site title and your WordPress admin account. That account is yours — it is never stored in the image.
Next steps
- Configure WordPress — file locations, database access, HTTPS and domains
- Tips & tricks — backups, Let’s Encrypt, performance and troubleshooting