Very much a work in progress.

This site is very rough around the edges at the moment but will slowly take shape over time.

I primarily use this a s a journal or notebook for some of the projects I'm doing.  The primary goal at the moment is setting up a number of online servers for use with some webhosting and also to try and learn a bit about Linux and server operations as well as having a bit of fun.

This site will be undergoing many changes in the coming period and hopefully will be of some benefit to me and anyone who stumbles upon it.

My basic servers have basic installation of Centos 7 installed. 

I log in to my server using SSH.  I log in a root at this stage so i don't need to type sudo at the beginning of some commands.

I then updated using:

yum update

As of writing this, the version is CentOS Linux 7.9.2009 (Core)  or centos-release-7-9.2009.1.el7.centos.x86_64

Next thing I'm going to do is install Virtualmin.  Previously I'd install various services then webmin then virtualmin but with the current virtualmin installation, it installs all the necessary requirements and doing it this way ensures that various versions of components are correct on install.

I've had a couple of issues in the past where I've updated things like MariaDB, PHP, etc to find that virtualmin then had an issue installing and required a bit of tweaking and fidling to get working.  Doing it this way ensures that the initial install is setup an running before componet are updated which works fine after the fact.  Saves headaches.

The only prerequisit required is to ensure wget and perl are installed:

yum install perl
yum install wget

Remember to type sudo yum install perl etc if you are not logged in as root user.

I noticed sometimes Centos installs with wget and sometimes not, so its always best to check.

Note: the reason I don't use the "-y" option, such as "yum install -y perl" is I like to see what is going to be done before I actually install.  IE I can double check the version etc.  Again a couple of times I've been caught and install older or wrong versions of software to have to remove and reinstall.

Time to download the virtualmin install script:


This will download the virtualmin GPL script.

Now run the install:

sh ./

Now we wait.  

Depending on the sytem it might take 5 to 15 minutes but this installs all dependencies and system packages it needs including full LAMP stack and utils.

Once completed its best to do a server reboot::

systemctl reboot

Now we can log into webmin with our browser at https://ipaddress:10000.  In my case my VM servers are :

Henry at and Ivan at

So to log into henry I use

You will get a SSL security error when you first login - continue from that at this stage.

When you login the Virtualmin Post-Installation Wizard will start and guide you through a variety of options.    Because I run 4GB or more on my servers I generally set the following :

Preload Virtualmin libraries ? - Yes (40M)

Enable virus scanning with clamAV? - Keep using on-demand scanner

Run SpamAssassin server filter? - Yes (30M)

Run MariaDB database server? - Yes

Set MariaDB password - set your db password 

Remove test MariaDB database? - Yes

Remove anonymous MariaDB user? - Yes

MariaDB configuration size - Huge system (2G or more)

Primary nameserver - 

Put tick in skip check for resolvability 

Note: I use the prefix nsv1 and nsv2 for DNS to allow me to link these later, and also to remind me that these are only test servers on Virtual machines.   On my production servers I'll use ns1, ns2 etc.

Password storage mode - Store plain-text passwords.   Again this is only on my test servers, I'll use hashed passwords on the production servers.  

Setup default virtual server? - Create server with domain

Enable SSL on default server? - Yes, with self signed certificate.    If you are using an online server then you can use the option "Yes, with Let's Encrypt certificate."  

You should get the message then that Virtualmin post-installation is complete! :)

Now click on Recheck and Refresh Configuration and it will run through and make sure everything is okay.

If all has gone well then Webmin / Virtualmin should now be up and running on the servers.