Deploy WordPress on the Playground

The following content will soon be updated on the ThreeFold Manual. We display it on the forum in the meantime. Note that, for this reason, not all links are currently clickable.


WordPress

Table of Contents

Introduction

WordPress is the most popular CMS on the market, powering 65.2% of websites whose CMS we know. That translates to 42.4% of all websites – nearly half of the internet. It is a popular option for those who want to build a website or a blog.

Prerequisites

Domain Name and IP Address

A domain name is required to use WordPress. You can either use your own, which we’ll call a custom domain , or you can get a free subdomain from a gateway node. Note that this won’t impact the function of your deployment, it’s just a matter of preference. If you want to use your own domain, follow the steps for custom domain wherever you see them below.

Another choice to make before launching your WordPress instance is whether you want to reserve a public IPv4 for the deployment. Note that renting a public IPv4 address is an extra cost. If you do not enable IPv4, the deployment will be provided a gateway IPv4 address.

If you’re not sure and just want the easiest, most affordable option, do not enable public IPv4 nor custom domain.

DNS Details with Custom Domain

In this section, we cover the essential DNS information when deploying a WordPress instance with a custom domain.

You can skip this section if you did not enable Custom Domain in Domain Name .

As a general reference, here is what setting a DNS A record can look like:

This record type indicates the IP address of a given domain.

DNS Record with Public IPv4

Consider the following if you’ve enabled Custom Domain in Domain Name and Public IPv4 in Network .

After deployment, you will have access to the IPv4 address of the VM you deployed on. You will need to add a DNS A record (Host: “@”, Value: <VM_IP_Address>) to your domain to access WordPress.

DNS Record with Gateway

Consider the following if you’ve enabled Custom domain in Domain Name but did not enable Public IPv4 in Network .

Before deploying the WordPress instance, you will have access to the gateway IPv4 address. You will need to add a DNS A record (Host: “@”, Value: <Gateway_IP>) to your domain to access WordPress.

DNS Propagation

When setting a DNS A record, it might take time for the DNS to propagate. It is possible that you see the following message when opening the WordPress page:

“This site can’t be reached. DNS address could not be found. Diagnosing the problem.”

This is normal. You might simply need to wait for the DNS to propagate completely.

You can check if the DNS records are propagated globally with DNS propagation check services such as DNS Checker. You can use this tool to verify that your domain is properly pointing to either the VM or the gateway IPv4 address.

Deployment Process

In this section, we cover the steps to deploy a WordPress instance on the Playground.

Config

  • Enter an instance name or leave the auto-generated instance name
  • Enter the admin information or leave the auto-generated information
    • Username : This will be used as the MySQL DB username and for Wp-admin
    • Password : This will be used as the MySQL DB password and for Wp-admin
    • Email : This will be used for Wp-admin
  • Select a capacity package:
    • Small : { cpu: 1, memory: 2 , diskSize: 15 }
    • Medium : { cpu: 2, memory: 4 , diskSize: 50 }
    • Large : { cpu: 4, memory: 16 , diskSize: 100 }
    • Or choose a Custom plan
  • Choose the network
    • Public IPv4 flag gives the virtual machine a Public IPv4
  • Dedicated flag to retrieve only dedicated nodes
  • Certified flag to retrieve only certified nodes
  • Choose the location of the node
    • Country
    • Farm Name
  • Choose the node to deploy the WordPress instance on
  • Custom Domain flag lets the user to use a custom domain
  • Choose a gateway node to deploy your WordPress instance on
    • If you’ve enabled IPv4, you do not need to choose a gateway node

Access WordPress

In the section WordPress Instances , you can see a list of all of your deployed instances:

You can click on Show details under Actions for more details about the WordPress deployment.

For more detailed information, you can switch to the Json tab.

WordPress Instance Website

Click on Visit under Actions to go to the homepage of your WordPress instance.

WordPress Instance Admin Page

Click on Admin Panel to go to the WordPress admin page ( wp-admin ) of your WordPress instance.

Enter the Username and the Password that you provided in the config section to log into the admin panel.

WordPress Instance Credentials

At any time, you can find the credentials of your WordPress instance by clicking on the Show details button under Actions .

Questions and Feedback

If you have any questions, you can ask the ThreeFold community for help on the ThreeFold Forum or on the ThreeFold Grid Tester Community on Telegram.

4 Likes

Thanks a million, Mik, for reacting so quickly! This should add the missing piece to the puzzle :wink:

1 Like

That’s great! If you have any issues, simply write them here so we can fix them and update the guide.

Have a good start of 2024!

I think there’s an SSL problem when using a custom domain.

Can you expand on this so we can make a Github issue?

On my end I didn’t get any SSL problem.
What steps did you take?

If I deploy with a custom domain, the site is only accessible via http.

What setup did you choose? (farm, gateway, pub ip, etc.)

Can you try the same thing but deploying on Freefarm and tell us if the same happens?

There is some issue with some GreenEdge farms for example. (see this issue)

I could make an issue with more info. Thanks!

EDIT: I just tested on FreeFarm with a gateway node, and it works with HTTPS.

I did FreeFarm with custom domains. SSL is tied to domain so that makes sense. It works great with gateway. If you don’t have a spare domain, test it with a subdomain.

1 Like

OK I see what you mean. I tested it and it is HTTP only with custom domain and IPv4.
Here’s the github issue.

Will let you know how the fix goes.