Install Elgg on Google Compute Engine VM Instance with SSL

Configure Google Cloud Platform VM Instance with LEMP and Virtualmin to host Elgg social networking software

Elgg is a useful tool you can use to build a community around your business or organization. It is open source and comes with many features that are essential to managing an online community. This post will help you install Elgg on Google Compute Engine with nginx and SSL.

I’ve already posted instructions to install Elgg on VPS with Virtualmin & nginx. But things are little different for Google Cloud users due to Google Cloud infrastructure. This page will list necessary steps to get your Elgg community up and running on Google Compute Engine VM Instance with Virtualmin control panel.

We’ll be building our web server on Google Cloud with Virtualmin v7.1 GPL control panel. It’s a free control panel and packs powerful features to manage a web server. Additionally, we’ll be installing Nginx v1.22, PHP v8.0 and MySQL v8. Complete below steps to install Elgg on Google Compute Engine VM Instance with SSL.

hire a freelancer to install Elgg Not a tech guy? Rather have a freelancer install Elgg on Google Cloud Platform for you?
Hire me and have your Elgg ready within 24 hours!
Get Elgg Installed

Step #1 – Create a Google Cloud VM instance for Elgg and install Virtualmin

This step will get your Google Cloud VM instance ready for Elgg. We’ll create a VM instance with Ubuntu 20.04 as operating system and install Virtualmin. This is the most time-consuming part of the Elgg installation process. But my step by step instructions will make it easy to setup your Google Cloud VM instance with Virtualmin even if you’re totally new to GCP and VPS.

Tutorial: Install Virtualmin on Google Cloud VM instance

Step #2 – Add your Elgg domain to Virtualmin on Google Cloud

Your GCE VM instance is ready to host Elgg or any other website when you complete above steps. It’s now time to add your Elgg domain to Virtualmin. Virtualmin has something called Virtual Servers for this purpose. You need to create a top-level server within Virtualmin for each of your domains. Don’t forget to point your Elgg domain to GCE VM instance with an A record.

Tutorial: Add a domain to Virtualmin

Step #3 – Enable SSL (https) for Elgg on Google Cloud

Virtualmin offers an option to request a Let’s Encrypt SSL certificate for your Elgg domain. Now that you have Virtualmin installed and Elgg domain added to your GCE VM instance, it is the perfect time to enable Let’s Encrypt SSL for Elgg. Let’s Encrypt SSL certificate are issued free of charge and Virtualmin is capable of auto renewing them.

Tutorial: Install Let’s Encrypt SSL Certificate for Elgg with Virtualmin

Step #4 – Obtain Elgg MySQL database credentials from Virtualmin on Google Cloud

Virtualmin automatically creates a MySQL database for your Elgg when you add your domain with above instructions. But it won’t display login credentials on-screen. You’ll need this information to complete the Elgg installation on Google Cloud. Fortunately you can easily get MySQL credentials from Virtualmin.

Tutorial: Obtain Elgg MySQL credentials from Virtualmin

Step #5 – Install Elgg on Google Cloud with Virtualmin

You have everything setup for Elgg now. We took care of every little configuration that is required to run a perfect web server on Google Cloud. This step is to actually install Elgg on Google Compute Engine VM instance. Complete the installation with below tutorial. You can ignore the prerequisites section.

Tutorial : Install Elgg with Virtualmin

Step #6 – Redirect http to https with Virtualmin on Google Cloud

Your Elgg should be fully functional at this point. We will wrap things up by setting up 301 redirects from http to https. This step increases Elgg security a bit. This will make sure nobody can spying on your Elgg traffic.

Tutorial : 301 Redirects from http to https with Virtualmin

That’s it. If you’ve followed all the steps above, you now have a superfast Elgg installation on Google Could with Virtualmin control panel and LEMP stack. Head over to our sysadmin support forum to get help if you run into errors.


Hey!! I'm Tharindu. I'm from Sri Lanka. I'm a part time freelancer and this is my blog where I write about everything I think might be useful to readers. If you read a tutorial here and want to hire me, contact me here.

Leave a Reply

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

Back to top button