Launch GCP VM Instance to Host Websites with Virtualmin

Get your Google Cloud Platform account ready to host websites. Launch Google Compute Engine VM Instance to use as a web server with Virtualmin.

Compute Engine is part of Google Cloud Platform. It allows users to launch high performance virtual machines. These VM instances can be used host website when properly configured with web server software. I’m going to show you how to launch Google Compute Engine VM instance to host websites with Virtualmin in this post.

We’ll be launching an Ubuntu 20.04 VM instance in Google Compute Engine. There are few things like firewall and SSH keys we need to configure in order to make sure Virtualmin can function properly on Google Compute Engine. We’re basically preparing VM Instance for Virtualmin in this post.

Configure VPC Network Firewall for Virtualmin

We’ll configure firewall rules in VPC Network to allow connections on essential ports we’re going to use. To be exact, we’ll allow connections on Ports 22, 80, 443 and 10000. An explanation of what these ports are for and what other ports you might need to enable can be found on ports need to be opened for Virtualmin in firewall forum topic.

Google Compute Engine Virtualmin firewall rulesNavigare to Networking > VPC network > Firewall rules from your GCP console. You’ll see a list of predefined firewall rules. We’ll create a new rule set for our web server and Virtualmin. Click CREATE FIREWALL RULE. We’ll call this new rule set virtualmin-firewall-rules.

Leave other settings as default and scroll down to the section that says Target tags. Type virtualmin in the text field below it.

Next, go to Source IP ranges and type in the text field below it.

Finally under Protocols and ports, make sure Specified protocols and ports option is selected and type following in the text field.

tcp:22; tcp:80; tcp:443; tcp:10000;

You can add your own rules here. For an example, if you want to open port 25, you need to add tcp:25; to the end. Click Create when you’re done adding your rules.

Launch Google Compute Engine VM Instance

We’ll now move to creating the VM instance. Navigate to Compute > Compute Engine > VM instances. And click Create button. There are few configurations to be done. We will leave most of them as default. But you should give your instance a name and select a suitable machine type. 1vCPU (n1-standard-1) is a good starting point. I wouldn’t recommend micro or small instances. They have very limited CPU allocations.

Next change the boot device to Ubuntu 20.04. It’s the latest version of Ubuntu currently supported by Virtualmin. I’ll update Virtualmin setup tutorial when later versions of Ubuntu is being supported. Make sure to read that tutorial and select the latest supported version accordingly. Set the Boot disk type to SSD persistent disk. It costs a bit more, but has better performance.

Next we’re moving to firewall section. We don’t need predefined firewall rules since we already created our set of firewall rules. Click on Management, security, disks, networking, sole tenancy link under the firewall section. Enable deletion protection on the Management tab.

GCP VM instance network tagsAnd then switch to Networking tab. Type virtualmin under the Network tags. This is the target tag we set on firewall rules. Leave the rest as default and click Create button.

It’ll take few moments for instance to be created. We have one more thing to take care of. The IP address originally assigned to VM instance is dynamic. We don’t need that. So let’s assign a static IP address.

Assign a static IP address to Google Compute Engine VM Instance

Navigate to Networking > VPC network > External IP addresses. You’ll see your VM instance IP address already listed there. Click on Ephemeral and select Static.
Compute Engine static IP address

You’ll now have a static IP address assigned to your VM instance. This IP address will be reserved for your account even if you delete the VM instance. Unlike dynamic IP addresses that get released to to IP pool upon instance deletion.

If you followed above instructions to launch Google Compute Engine VM instance, your VM instance is now ready for Virtualmin. You can login with SSH option available at GCP console or use SSH key file with PuTTY if you have set it up.


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.

Related Articles

Leave a Reply

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

Back to top button