The instructions below assume you are using the US East (Virginia) region. To use another region, set the EC2_URL environment variable before running the commands below, and use the appropriate AMI listed above for the region.
Amazon has recently launched a service called DevPay where commerical software like Virtualmin Pro can be purchased to run on their EC2 service. This means that instead of creating an EC2 instance and installing Virtualmin Pro on it manually, you can instead use an image that has it pre-installed, and available for immediate use. We how have an AMI available that contains Virtualmin Pro 3.87 and the full stack of related servers, like Apache, Postfix and MySQL.
The pricing per EC2 instance using the Virtualmin Pro AMI is based on the regular EC2 per-hour price, with an additional fee to cover the Virtualmin license. This works out to about $20-25 per month. The exact fees for the different instance sizes are :
|$0.14 / hour||Small instance|
|$0.45 / hour||Large instance|
|$0.86 / hour||Extra-large instance|
For more details on the specs of different instance sizes, see this page from Amazon. For most people, the small instance is the most cost-effective, as you can split your domains across several of them.
To use this new paid AMI, the steps to follow are :
Sign up for an Amazon EC2 account on their registration page.
Follow Amazon's getting started instructions to install the needed tools, in particular the Prerequisites, Setting up an Account and Setting up the Tools pages.
Purchase the Virtualmin Pro AMI subscription, which will be charged to your Amazon account.
Once you have the ec2 commands working, use the following command to list available Virtualmin AMIs :
ec2-describe-images -o 541491349868
You should see at least one in the available state.
Setup an SSH key with the commands :
ec2-add-keypair vgpl-keypair >~/.ssh/id_rsa-vgpl-keypair chmod 700 ~/.ssh/id_rsa-vgpl-keypair
Start a new instance with the AMI for Virtualmin Pro with the command :
ec2-run-instances ami-cd00c6a4 -k vgpl-keypair
This will output the new instance ID, which is like i-10a64379
Check its status with the command :
You will need to wait until it is in the running state. You will then be able to see the public hostname, which looks like ec2-72-44-33-55.z-2.compute-1.amazonaws.com .
Open the needed firewall ports with the commands :
ec2-authorize default -p 22 ec2-authorize default -p 25 ec2-authorize default -p 10000 ec2-authorize default -p 10001 ec2-authorize default -p 10002 ec2-authorize default -p 10003 ec2-authorize default -p 10004 ec2-authorize default -p 10005 ec2-authorize default -p 10006 ec2-authorize default -p 10007 ec2-authorize default -p 10008 ec2-authorize default -p 10009 ec2-authorize default -p 20000 ec2-authorize default -p 80 ec2-authorize default -p 443 ec2-authorize default -p 21 ec2-authorize default -p 20 ec2-authorize default -p 110 ec2-authorize default -p 143 ec2-authorize default -p 53 ec2-authorize default -p 53 -P udp
Try a test SSH login with the command :
ssh -i ~/.ssh/id_rsa-vgpl-keypair root@ec2-WHATEVER.compute-1.amazonaws.com
Connect to Webmin at the URL : http://ec2-WHATEVER.compute-1.amazonaws.com:10000/ . The initial login is root and password is changeme .
Click on the Webmin link in the top-left, open the Webmin category, click on Change Language and Theme, and enter a new password!
If some packages are not up to date, they will be displayed on the System Information page that appears after you login. Click the Install All Updates Now button to have them automatically fetched and installed.
Click back on the Virtualmin link on the top-left, and click on Create Virtual Server to create your first domain.
Virtualmin on EC2 works exactly the same as it would on a regular system. For full documentation, see : http://www.virtualmin.com/documentation/