Add Virtualmin to Ubuntu
How to use virtualmin to allow easy web management of an ubunutu server, without the costs of cpanel or plesk (and arguably better).
In part 1 we talked through installing a headless ubuntu server. We could have installed a LAMP configuration during install, but when you want to host websites it can be very tedious to keep editing config files by hand.
We looked at various control panels, and although we had commercial experience with both plesk and cpanel, we wanted to try something different (we like to learn new things). We found some very promising control panels, but none so tightly integrated as virtualmin.
Virtualmin allows you to easily create virtual servers for web hosting, but also manages mysql, postfix, bind, and with plugins, pretty much anything on your server.
To begin with you MUST have a clean install of ubuntu 12.04 LTS (other supported OS’ do exist) set up with a fully qualified domain name (again see part 1 if you don’t have this)
We recommend you ssh into your server (you could do it local if you wished) and use wget to download the required install file :
Then change into your superuser account
Now run the install script
You should be presented with the following screen
press y to continue, and the script will start checking the package repositories and start downloading the servers it needs.
About this sort of time a nice cup of tea is in order.
Now that the script is installed we need to check the configuration. We fire up a web browser and point it to https://ipaddress:10000
You may well get a warning similar to this one in chrome – this is because the SSL is self-certificated, we are safe to proceed though.
Login with your admin username and password.
You now need to go through the post-installation wizard.
All your memory questions are going to be based on how much memory your machine has in it and how fast the CPU is. In our case this server is going to be used for testing, and speed is not a big concern, so we have opted to save resources.
We want a mysql server so we opt to have it running, and we set a suitable password.
We configure the memory to 1 step down from how much ram we have actually assigned (remember we are on a test server – if this was a production server we would request more ram)
We are asked to resolve our domain – as we are using the .local domain we will skip this step, however you must ensure this works in a production environment
There should be no exceptions for using plain-text passwords over hashed ones, but if you have one please feel free to argue in the comments below.
We are done, lets hit the button to check the config.
Oh no!! it didn’t work! (actually it did, it just doesn’t know it yet – you just need to reboot and then run the check again.
The check after the reboot:
Now we are all installed we can wait for part 3, where we setup a virtual server, upload some files and start hosting a website.