Deployment guide

WordPress 6.9

Overview

WordPress is the world's most-deployed content management system, powering more than 43% of the public web. The SecureAnyCloud image installs the latest WordPress 6.9 from wordpress.org alongside Apache 2.4, MySQL 8.0 and PHP 8.3, all from the Ubuntu 24.04 (noble) universe repository, with no third-party APT repositories. At first boot, the per-VM MySQL root, WordPress database and WordPress admin passwords are rotated with openssl rand -hex 16.

What you get:

  • WordPress 6.9 from the official wordpress.org tarball at /var/www/html/wordpress.
  • Apache 2.4.x with mod_rewrite enabled and a virtual host at /etc/apache2/sites-available/wordpress.conf.
  • MySQL 8.0.x with the wordpress database and the wpuser MySQL user (per-VM password).
  • PHP 8.3.x with the mysqli, gd, mbstring, xml, curl and zip extensions. PHP's GD library handles image uploads and thumbnails (ImageMagick is not installed).
  • WP-CLI 2.x at /usr/local/bin/wp.
  • The wordpress-firstboot.service unit, which rotates the passwords and creates the SecureAnyCloud admin user.
  • Apache and MySQL enabled and starting automatically on boot.
  • 24/7 SecureAnyCloud support.

Prerequisites

You need an active Azure subscription, an SSH key and a VNet with a subnet. Standard_B2s (4 GB RAM) is plenty for small-to-medium sites. Use D2s or D4s for high-traffic blogs or WooCommerce stores.

Step 1-3: Deploy the VM and connect with SSH

Deploy the VM from Azure Marketplace, then connect over SSH:

ssh azureuser@<vm-ip>
4

Verify the services

Check that Apache and MySQL are listening and that WP-CLI works:

sudo systemctl status apache2 --no-pager | head -10 sudo ss -tlnp | grep -E ':(80|3306) '
sudo /usr/local/bin/wp --info --allow-root --path=/var/www/html/wordpress | head -10
5

Check WordPress with WP-CLI

Check the WordPress version, the posts and the users:

sudo -u www-data /usr/local/bin/wp core version --path=/var/www/html/wordpress sudo -u www-data /usr/local/bin/wp post list --path=/var/www/html/wordpress sudo -u www-data /usr/local/bin/wp user list --path=/var/www/html/wordpress
6

Read the admin password

sudo cat /stage/scripts/wordpress-credentials.log

Find WP_ADMIN_PASSWORD and WP_ADMIN_URL in the file.

7

Open the front end

Browse to http://<vm-ip>/ to see the WordPress front end with the default Hello World post.

8

Sign in to wp-admin

Browse to http://<vm-ip>/wp-admin/ (or /wp-login.php) and sign in as SecureAnyCloud with the password from Step 6.

9

Dashboard

The dashboard shows site activity, recent comments, unpublished posts and quick publish.

10

Review the installed plugins

A default WordPress install ships with two bundled plugins, Akismet and Hello Dolly. Add more under Plugins > Add New.

11

Components

These are the key paths and files on the VM:

  • WordPress install: /var/www/html/wordpress/
  • wp-config.php: /var/www/html/wordpress/wp-config.php
  • Apache virtual host: /etc/apache2/sites-available/wordpress.conf
  • Apache logs: /var/log/apache2/wordpress-{access,error}.log
  • MySQL data: /var/lib/mysql/
  • WP-CLI: /usr/local/bin/wp
  • First boot script: /usr/local/sbin/wordpress-firstboot.sh
  • Credentials: /stage/scripts/wordpress-credentials.log (mode 0600 root:root)
12

Security

  • Enable HTTPS. Install certbot and obtain a Let's Encrypt certificate: sudo apt-get install -y certbot python3-certbot-apache && sudo certbot --apache
  • Restrict the network security group. Open port 80 only to your CDN, load balancer or Cloudflare, and keep port 22 open to your management CIDR only.
  • Update plugins and themes monthly with wp plugin update --all and wp theme update --all.
  • Enable two-factor authentication with the Wordfence or Two Factor Authentication plugin.
  • Patch monthly: apt-get update && apt-get upgrade && reboot

Licensing

WordPress is licensed under GPL-2.0+, so it is free to use commercially. SecureAnyCloud provides commercial support separately. Contact sales@secureanycloud.com.

Deploy on Azure

Launch WordPress 6.9 on Ubuntu 24.04 LTS on Azure with 24/7 support from SecureAnyCloud.

View this image

Need Help?

Our support team is available 24/7.

sales@secureanycloud.com

Deploy on Azure