Amazon's Elastic Computing Cloud (EC2) is a commercial service that provides virtual Linux systems running on Amazon's network, for which customers are charged by the hour. One of its useful features is the ability to launch a virtual system using a machine image (AMI) defined by another user, which could contain anything from a basic install of Linux up to a full application stack.
If you have an EC2 account, you can easily launch an image ( ami-9129eff8 ) containing Webmin, Virtualmin, Usermin and all the dependent programs like Apache, MySQL and Postfix, all running on CentOS. This lets you bring up a web hosting server in minutes, and either try out Virtualmin or start using it for real web hosting. The steps to do this 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.
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 GPL with the command :
ec2-run-instances ami-9129eff8 -k vgpl-keypair
This will output the new instance ID, with 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
For Amazon Linux AMIs, you will need to login as ec2-user instead of root, and then run sudo bash to get a root shell.
Connect to Webmin at the URL : https://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!
To ensure that all packages are up to date, click on System Information at the bottom of the left frame. If you are prompted to install any packages on the information page that appears on the right, do so.
Click back on the Virtualmin link on the top-left, and click on Create Virtual Server to create your first domain.
EC2 now has a separate European region, which has it's own set of machines and AMIs. To launch the Virtualmin image in Europe, follow the instructions above but use the AMI ami-bce1d1c8 instead.
Also, you will need to set the EC2_URL environment variable before using the command-line tools, with a statement like :
An EC2 image now exists for Virtualmin GPL on Debian 6.0 (Squeeze). The instructions for starting this are exactly the same as above, but the image ID is ami-6735f30e . So the command to start it would be :
ec2-run-instances ami-6735f30e -k vgpl-keypair
Amazon now offers a free usage tier for EC2, which allows
you to run a micro-sized EC2 instance for a year for free. Virtualmin offers an AMI for these micro instances with ID ami-faea4f93 - however, this AMI is built on Amazon's own Linux distribution, which is similar to Fedora or Redhat Linux. The command to start it would be :
ec2-run-instances ami-c5cd70ac -k vgpl-keypair