Running Virtualmin on Amazon EC2
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-c442a7ad ) containing Webmin, Virtualmin, Usermin and all the dependent programs like Apache, MySQL and Postfix. 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 093590521311You should see at least one in the available state.Setup an SSH key with the command :
ec2-add-keypair vgpl-keypair >~/.ssh/id_rsa-vgpl-keypair
chmod 700 ~/.ssh/id_rsa-vgpl-keypairStart a new instance with the AMI for Virtualmin GPL with the command :
ec2-run-instances ami-c442a7ad -k vgpl-keypairThis will output the new instance ID, with is like i-10a64379Check its status with the command :
ec2-describe-instancesYou 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 21
ec2-authorize default -p 110
ec2-authorize default -p 143
ec2-authorize default -p 53Try a test SSH login with the command :
ssh -i ~/.ssh/id_rsa-vgpl-keypair root@ec2-WHATEVER.compute-1.amazonaws.comConnect 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!
To ensure that all Webmin modules are up to date, click on Webmin Configuration under the Webmin category, click the Upgrade Webmin icon and go to the Update modules tab. Make sure Update non-core modules as well is checked and Only show which modules would be updated is not, then hit the Update Modules button.
Click back on the Virtualmin link on the top-left, and click on Create Virtual Server to create your first domain.
