Deploy Moodle on OCI with Ampere and MySQL HeatWave

If you want to deploy Moodle on OCI, you can use Ampere compute instances as application server and MySQL HeatWave Database Service to store the data.

Depending on your requirements, MySQL HeatWave can provide High Availability and Query Acceleration.

In this post, we will see the easiest and fasted way to deploy the following basic architecture:

In OCI to quickly deploy an architecture and all the required resources, it’s recommended to use a Stack (Terraform recipes and modules).

So deploy all the resources we need (VCN, Subnets, Security Lists, Internet Gateways, Compute Instances…) we just need to click on the following button:

Deploy to Oracle Cloud

When you click on it, if you are already connected to OCI, you will be redirected directly to Resource Manager Stack where you need to accept the Oracle Terms of Use and use the latest available Terraform version:

Then on the next screen, you can specify the required credentials and select the shapes. By default, the Always Free Ampere Compute Instance is selected and you can manually specify the amount of OCPUs and Memory to use:

You can click on next and create. All resources will be deployed on OCI. After some time, the Stack Job will finish and if all went well, it should turn green:

Using the Application Information tab, you will find all the relevant information to reach the new deployed Moodle and finish the installation:

Click on the url (1) and finish the installation:

We need to choose Improved MySQL (mysqli) as database driver:

And we provide the information related to the MySQL HeatWave Instance deployed:

Finally, after having finished the installation, Moodle’s dashboard is available:

As you can see, using OCI’s Resource Manager via a Stack is very easy to deploy Moodle. You can also use an Ampere Shape as application server.

If you connect to the Compute Instance hosting Moodle, you can verify the architecture and the version of the Operating System:

[opc@moodleserver1 ~]$ lscpu
Architecture:           aarch64
  CPU op-mode(s):       32-bit, 64-bit
  Byte Order:           Little Endian
CPU(s):                 1
  On-line CPU(s) list:  0
Vendor ID:              ARM
  Model name:           Neoverse-N1
    Model:              1
    Thread(s) per core: 1
    Core(s) per socket: 1
    Socket(s):          1
    Stepping:           r3p1
    BogoMIPS:           50.00
    Flags:              fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp
                        asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
NUMA:                   
  NUMA node(s):         1
  NUMA node0 CPU(s):    0
Vulnerabilities:        
  Itlb multihit:        Not affected
  L1tf:                 Not affected
  Mds:                  Not affected
  Meltdown:             Not affected
  Mmio stale data:      Not affected
  Retbleed:             Mitigation; CSV2, BHB
  Spec store bypass:    Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:           Mitigation; __user pointer sanitization
  Spectre v2:           Mitigation; CSV2, BHB
  Srbds:                Not affected
  Tsx async abort:      Not affected

[opc@moodleserver1 ~]$ cat /etc/oracle-release 
Oracle Linux Server release 9.1

This is a video with all the steps:

Enjoy Moodle on MySQL HeatWave !

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

2 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

As MySQL Community Manager, I am an employee of Oracle and the views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

You can find articles I wrote on Oracle’s blog.