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 its first boot your instance generates its own database credentials and a per-instance TLS certificate, then hands you a fresh WordPress installer.
What you’ll need
- An AWS account subscribed to the CloudSOE WordPress listing on AWS Marketplace
- An EC2 key pair in your target region (SSH is key-based only; password login is disabled)
- About ten minutes
Step 1 — Launch the instance
- Open the WordPress listing on AWS Marketplace and click Continue to Subscribe, then Continue to Configuration.
- Pick your region and click Continue to Launch → Launch through EC2.
- Choose an instance type.
t3.medium(2 vCPU, 4 GB RAM) is a good starting point for a typical site;t3.smallworks for low-traffic blogs. - Select your key pair, and give the root volume at least 30 GB.
Prefer the CLI? Once subscribed:
aws ec2 run-instances \
--image-id <ami-id-from-the-listing> \
--instance-type t3.medium \
--key-name my-key \
--security-group-ids sg-xxxxxxxx \
--subnet-id subnet-xxxxxxxx \
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=wordpress-01}]'
Step 2 — Open the firewall ports
Your security group needs exactly three inbound rules:
| 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 instance 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 instance’s public IP,
- saves the generated credentials to a root-protected file.
This usually completes within a minute of the instance entering the running state. You can watch it:
ssh ubuntu@<public-ip>
systemctl status wordpress-firstboot
Step 4 — Retrieve your credentials
SSH in as the ubuntu user. The login banner (MOTD) shows your instance’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 — you’ll rarely need it day-to-day, but keep it safe.
Step 5 — Complete the WordPress installer
Browse to https://<public-ip>/. Your browser will warn about the self-signed certificate — that’s expected on a fresh instance; see the configuration guide for switching to a trusted certificate and your own domain.
The famous five-minute WordPress installer appears: choose your language, set your site title and create your WordPress admin account. That admin 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