aws-templateswordpress-production-ready

Launch a new Bitnami WordPress Production-Ready Stack deployment on AWS

Introduction

Amazon Web Services (AWS) is one of the world’s most popular and reliable cloud computing platforms. It provides a comprehensive set of compute, storage and delivery services to build, deploy and manage enterprise, mobile and Web applications in the cloud.

If you’re looking to deploy production-ready applications in the AWS cloud, the easiest way to get started is with Bitnami. Bitnami provides production-ready solutions for AWS servers, so that you can get begin using your new application for mission-critical use cases immediately. You can access and launch these production-ready solutions through the AWS Marketplace.

In this tutorial, I’ll walk you, step by step, through the process of using the AWS Marketplace to create and provision a production-ready application on AWS.

Watch the following video to see how easy it is to launch WordPress Production-Ready from the AWS Marketplace:

Assumptions and prerequisites

This guide assumes that:

Overview

Here are the steps you’ll follow in this tutorial:

  • Create a Route53 hosted zone (optional)
  • Subscribe to and configure the CloudFormation template from the AWS Marketplace
  • Deploy Bitnami WordPress Production-Ready Stack on AWS
  • Log in and start using Bitnami WordPress Production-Ready Stack

The next sections will walk you through these steps in detail.

Step 1: Create a Route53 hosted zone (optional)

At the end of this step, you will have create a new Hosted Zone on Amazon Route53. This is an optional step; if you do not wish to configure a domain name for the Production-Ready solution, you may skip it.

NOTE: This section assumes you own a domain for which you can configure DNS settings

  • Access the Route53 console and click the “Create Hosted Zone” link.
  • Enter your domain name, select the type as “Public Hosted Zone”, and click “Create”.

    Hosted Zone

  • Set Route53 as the DNS for your existing domain. Refer to the Route53 documentation to complete this step.

  • Click the “Hosted zones” tab in the left panel and obtain the “Hosted Zone ID”.

    Hosted Zone

Step 2: Subscribe to and configure the CloudFormation template from the AWS Marketplace

At the end of this step, you will have subscribed to and configured the CloudFormation template for Bitnami WordPress Production-Ready Stack.

The next step is to launch Bitnami WordPress Production-Ready Stack on AWS. The AWS Marketplace lets you do this in just a couple of clicks. Follow these steps:

  • Navigate to the WordPress Production-Ready Certified by Bitnami & Automattic page in the AWS Marketplace.
  • Review the details provided and click the “Continue to Subscribe” button to proceed.
  • Review the terms and conditions and click “Continue to Configuration”.

    Check the terms and conditions of this software

  • On the “Configure” page, specify the following information:

    • Fulfillment Option: WordPress Production-Ready by Bitnami & Automattic.
    • Software Version: select the latest version for this offering.
    • Region: enter the region where you want to deploy this solution.
  • Click “Continue to Launch” to finish the process.

  • Verify that the fulfillment option, version, and region are correct. Review the usage instructions, and select “Launch CloudFormation” as the chosen action for launching the solution. This will redirect you to the Cloudformation Console.

  • Click “Launch” to proceed.

    Launch the solution

Step 3: Deploy Bitnami WordPress Production-Ready Stack on AWS

At the end of this step, all nested templates will be launched in the AWS CloudFormation Console and you will be able to navigate to the solution’s welcome page.

Now that you have configured the basic information to launch the CloudFormation template, it is time to create the stack for running the solution on an AWS instance. Follow the instructions below to finish the deployment process:

  • On the “Create Stack” page, ensure that the “Choose a template” -> “Specify an Amazon S3 template URL” option is selected. The URL should already be present and this should not be changed. Click “Next” to proceed.

    Marketplace

  • In the “Specify Details” section, enter a name which identifies the deployment on AWS.

    Template name

  • Enter the details needed to properly configure the deployment. Find below the different sections you must complete before launch the instance:

TIP: Check the list of available parameters for an extended description of each of the parameters available in the CloudFormation template.

Network Configuration

  • In the “Network Configuration” section, make the following choices:

    • Choose the availability zones for the solution. You must select at least two availability zones.
    • To allow public access from any IP address to your site, set the “Allowed CIDR block for ALB access” to “0.0.0.0/0”.

    Template network access

Linux Bastion Configuration

  • In the “Linux Bastion configuration” section, make the following choices:

    • To allow SSH access from any IP address, set the “Allowed Bastion External Access CIDR” to “0.0.0.0/0”. Note that the default setting for the template is set to “127.0.0.132”, which disables remote SSH access.
    • Select your AWS SSH key pair to connect to your instances via SSH. If you don’t have a key pair, check these instructions.

    Template bastion host configuration

Amazon RDS (Aurora) Configuration

  • In the “Amazon RDS (Aurora) Configuration” section, enter an administrator password for the MariaDB database. You will need this password to perform operations directly on the database server.

    Template RDS configuration

DNS and SSL Configuration

  • Optionally and only if you wish to use a domain name, in the “DNS and SSL configuration” section:

    • Set the domain name to use with your Bitnami WordPress Production-Ready Stack site (you must own this domain).
    • Set the “Route 53 Hosted Zone ID” value to the value you obtained in Step 1.

    Template DNS configuration

WordPress Webserver Configuration

  • In the “WordPress Webserver Configuration” section:

    • Enter an administrative password for the WordPress dashboard.
    • Enter an email address for notifications when the WordPress instances are scaled up or down.

    Template application password configuration

ElastiCache Configuration

  • Leave the values in the “ElastiCache Configuration” and “Assets configuration” sections at their defaults.
  • Click “Next” to proceed.

Review your instance configuration

  • On the “Options” page, tag your stack so you can easily identify its resources in the future. This is a template configuration variable to find the nested templates.

    Template tags

  • Click “Next” to proceed.

  • On the “Review” page, review the details of the template and confirm your acceptance of the terms.

    Template Details

  • Click “Create” to proceed.

The CloudFormation console will now spin up the infrastructure and instances defined in the CloudFormation template. The process usually takes between 45 minutes to an hour. Use the CloudFormation dashboard to check the status of the task.

CF Dashboard

Once the deployment is ready, the CloudFormation dashboard will display the status CREATE_COMPLETE for the stack. Obtain the load balancer’s public DNS name, as follows:

  • In the stack details pane, choose the “Outputs” tab.
  • Find the URL in the “Value” column for the “ELBURL” key, as shown below:

    ELB URL

At this point, you should be able to browse to the WordPress site, by entering the DNS name directly into your browser’s address bar. You should now see your WordPress blog’s home page with a sample post, as shown below.

WordPress home page

Step 4: Log in and start using Bitnami WordPress Production-Ready Stack

At the end of this step, you will have logged in to WordPress and created a new blog post.

To log in to the WordPress dashboard, follow these steps:

  • From the WordPress blog’s home page, scroll down until you find the “Meta” section. Click the “Log in” link to access the administration panel.

    WordPress Log In

  • Log in with the username user and the password you have entered during the deployment process.

    WordPress credentials

You should now arrive at the WordPress dashboard, which allows you to manage posts, pages and comments; customize your blog with themes and plugins; import and export content; manage navigation menus; add or delete new user accounts; and much more.

WordPress credentials

Create your first post

You can now add a new post using the following steps:

  • Select the “Posts -> Add New” menu option to create a new post.

    Add new WordPress post

  • Enter a title and content for the post. You can use the formatting tools at the top of the content area to format your post and add hyperlinks or images.

  • Optionally, choose the format and category for your post.

  • Publish it immediately using the “Publish” button.

    Add new WordPress post

And now, when you visit your blog’s front page, you should see your new post.

WordPress post publishing

Congratulations! You now have a working, fully-functional WordPress blog in the cloud.

Keep your WordPress installation up-to-date

You can keep your WordPress installation up-to-date with the WordPress update feature. To access this:

  • Log in to WordPress using the administrator account.
  • Select the “Dashboard -> Updates” menu item.

    WordPress update

  • Review the resulting page to see if WordPress needs an update. If an update is available, you can install it by clicking the “Update Now” button. You can also re-install WordPress if needed with the “Re-install Now” button.

    WordPress update

To learn more about the topics discussed in this tutorial, use the links below:

Last modification July 11, 2019