Installing WebMO on Google Cloud Platform
Google Cloud Platform (GCP) services allows one to create virtual machines in Google's computing cloud. One can choose the computer type (CPU's, RAM, disk) and OS (linux distro). While this is a commercial service, the cost can be surprisingly low (<$1/day), and even lower if the instance is run only when needed. There are many other advantages, such as zero initial capital cost and no hardware maintenance. We have found cloud computing to be an ideal solution for deploying WebMO and computational chemistry engines, especially for educational purposes.
Setup a Google Cloud Platform account
- Log into your Google (gmail) account.
- In a new tab, go to
and sign up for a Google Cloud Platform free trial ($300 of credit or 60 days, whichever comes first). You will need to supply billing information to verify that you are a real person, but you will not be charged unless you upgrade your account after your trial ends.
Create a virtual machine instance
and click the console link (near top right) that brings you to the Developers Console, which is a web interface for managing and interacting with your virtual machines.
In the Projects dropdown menu (initially My First Project), select Create a project... and give your project a new name, e.g., WebMO, and click Create. Wait until it initializes.
Open the Menu panel (near top left) and go to Compute Engine -> VM instances. Click Create instance or New instance. Supply the following options:
Zone: change to a location near you (us-central#-#)
Machine type: 1 vCPU, 3.75 GB Memory (n1-standard-1)
Boot disk: CentOS 7
Boot disk type: Standard persistent disk
Size (GB): 10
Firewall: select Allow HTTP traffic and Allow HTTPS traffic
Click Create. You will be taken back to the instances page. Let Google do its magic! When the green check comes up, the instance is up and running.
END OF FIGURE VERSIONS
Verifiy SSH access
In the Developers Console, click the SSH link under Connect (near bottom right). When the terminal screen comes up, test some unix commands:
(Note: Ctrl-+ or Apple-+ will enlarge the text size in the terminal screen.)
- In your bash session, download and run the Server in the Cloud (sitc) script:
$ curl -O https://www.webmo.net/cloud/sitc.tar.gz
$ tar xzf sitc.tar.gz
- Follow prompts to:
- update the operating system and add some components
- configure the operating system
- install webmo
- obtain and/or specify webmo license number
- create a webmo user
- install mopac7
(Windows may ask to allow apache to operate. Allow this.)
Set a WebMO administrator password
Log in with the username "admin" and a blank password. Set an administrative password when prompted. Enter your registration information. You are brought to the WebMO administration menu. Since a user was already created and mopac was already installed, simply click Logout.
Access and use WebMO
If a browser tab to your virtual machine is not displayed, click the External IP link for your virtual machine in the Developers Console. Navigate to
<displayed IP address>/webmo
Log in with the username and password you supplied to the installation script. Run a test job.
Shutdown virtual machine
When WebMO is not being actively used, you will want to shut it down to avoid incurring CPU usage charges. From the Developers Console, select your virtual machine and click the Stop icon.
Note that you still incur disk storage charges ($2/month for 50GB) even if the virtual machine is not running.
Restarting virtual machine
To start up the machine again, login to your gmail account, go to cloud.google.com, click the My console link, select your project, From the menu navigate to Compute Engine -> VM instances, select your virtual machine, and click the Start icon. When the green check is displayed, the instance is up and running again.
Assuming that one creates a 1 vCPU instance with a 50GB disk, the annual costs are
CPU: $440/year * 70% * 1year = $308
Disk: $2/month * 12 months = $24
TOTAL: $332 for one year of continuous availability (<$1/day!)
If one runs the instance for just one month of the year (e.g., for a computational chemistry lab), then the cost would be
CPU: $440/year * 1 year/12 = $37
Disk: $2/month * 12 months = $24
TOTAL: $61 for one month of use during the year ($2/day for one month!)
Very low-cost configurations can be built, e.g., a f1-micro with a 10 GB disk (runs mopac only):
$49 + $5 = $54 for one year of continuous availability ($0.15 per day!)
$6 + $5 = $11 for one month of use during the year (perfect for low cost computing!)
Alternatively, a research-level configuration could be built, e.g., a 4 vCPU with a 500GB disk for one summer:
CPU: 4cpu * $440cpu/year * 70% * 1year/4 = $308
Disk: $20/month * 3 months = $60
TOTAL: $368 for three months of continuous availability (<$4/day)
CPU usage charges can be significantly lowered by stopping the virtual machine when it is not being used and then restarting the virtual machine when needed. See above.
Disk storage charges can be lowered by snapshotting the disk, deleting the disk, and then restoring the disk from the snapshot when needed.
To access the WebMO administration pages, log into WebMO as username "admin" with the administration password. You can now access the User Manager to add additional users, Job Manager to monitor jobs, Interface Manager to enable other engines (which need to be installed separately), etc.
Adding additional computational engines:
run the commands-
$ ./sitc/install --skip_webmo="true" --skip_update="true" --engines="foo" (where foo is the engine, or engines separated by commas, that you wish to install)
$ ./sitc/scripts/common/enable_in_webmo ./sitc/engines.log /home/webmo/public_html/cgi-bin/webmo/interfaces/
Some engines require a file to be downloaded beforehand. Run
for more information.
Upgrading WebMO to Pro or Enterprise:
Upload the webmo distribution into /home/webmo/download. As the webmo system user:
$ cd WebMO.install
$ find /home/webmo -name globals.int
$ perl upgrade.pl
Have you backed up your present WebMO installation [y/n]:y
Continue with upgrade [y/n]:y
License number: ####-####-####
Do you wish to purge deleted jobs? [y/n]:y
Set up SSH (useful for scp):
From your VM instances page, click on the name of the instance which you want to be able to SSH into. Then click <Edit> at the top of the screen. Scroll to the bottom of the page where the ssh keys section is, click <show and edit>. A box to add an ssh key to should appear. Copy your PUBLIC ssh key and paste it into the box. Be sure to change the username on the key to the account you wish to ssh into on your VM, this can be accomplished by editing the key data in the box. You will notice that at the end of the key there is a piece of text <username>@<location>, change the <username> appropriately, no need to change the <location> (you’ll probably want an account with sudoers privileges). Click save. Now ssh into <username>@<IP> where <username> is the username you specified in the ssh key, and <IP> is the external IP address of your virtual machine.
Other Linux Distributions:
The sitc.tar.gz script supports the following linux distributions on WSL:
- Ubuntu 18.04 LTS