I have been playing with the AWS Linux AMI for the past few days, and have been setting up a new server based on it. I decided to go with Webmin/Virtualmin on this server, but ran into a couple of problems along the way.
The one I wish to mention at the moment, is that the AWS Linux AMI classes itself as ‘Generic Linux’. Unfortunately, Virtualmin requires certain operating system specific functions for its network monitoring. Fortunately, Virtualmin works excellently with CentOS – and the AWS Linux AMI is built from CentOS. To get things working well, simply tell Webmin that the operating system is CentOS.
Under Webmin > Webmin Configuration > Operating System and Environment:
Set the Operating System according to Webmin to CentOS 5.5 (after upgrades)
Set the Internal OS code used by Webmin to redhat-linux 13.5
Virtualmin installs without too much issues after that (the paths for most modules do have to be changed though – /usr/bin as opposed to /usr/local/bin is common).
One other quick note: Webalizer is not available in the amzn repository – I had to downloaded the source and compiled it (dependencies include: pnglib, pnglib-devel, gd, gd-devel, zlib, and zlib-devel). (The current version 2.23-03 did not compile, but 2.21-02 worked without any trouble.)
One last point of mention, when you install Webmin, you won’t be able to login – because AMI’s tend to use certificates, not passwords. To set the password (e.g. for root) on Webmin, run the following:
sudo /usr/libexec/webmin/changepass.pl /etc/webmin root yourpassword
I will provide a bit more information about my experience with the Amazon Linux AMI at a later date.