Virtualmin is a free server control panel (Pro version also available). It helps managing websites (hosts) using Apache, Nginx, PHP, DNS, MYSql, FTP, SSH and many more. It is recommended to install Virtualmin on a clean server without any other installed software packages to prevent possible conflicts. This article describes the steps required to install Virtualmin in CentOS 7 (but works just as well on Ubuntu, less the startup with server update).
Preparing the Virtualmin installation
Normally, after installing a fresh CentOS 7 server, the first thing to do is update the packages:
yum -y update
Virtualmin requires perl, so check if it is installed; At the same time, we need wget, and for easy editing of text files we will install nano:
yum -y install perl wget nano
The actual installation of Virtualmin in CentOS 7
The next step is downloading the installer:
chmod +x install.sh
Installation is extremely simple:
To continue with the installation, press the ‘y’ key and then press Enter. The actual installation takes about 10 minutes.
Installing Virtualmin in CentOS was very simple, wasn’t it? Now you should follow the post-install settings.
Configurations Required After Installing Virtualmin in CentOS 7
Once the installation is complete, the Virtualmin web panel can be accessed from the browser at https://serverIP:10000
At first access, you will receive a browser security warning. All you have to do is click Proceed to IP address (unsafe). As a login you will enter:
• username: root
• password: your root password
The first screen that opens informs you that additional settings are required. Click Next.
We’ll enable preloading Virtualmin libraries to reduce processing time. If you know that you will receive many emails, you can also check the Run email domain lookup server to prevent the spam emails entering into your inbox. It depends of your server’s memory.
Depending also on the memory, set Yes or No to permanently run the Clamav antivirus in the background.
Next, you are asked if you let the SpamAssassin spam filter run in the background (it’s best to turn it on if you know you’ll focus on many emails, but be careful about the amount of memory you use).
You can install MySQL or PostgreSQL from the next screen (MariaDB, the current implementation of MySQL will be installed on CentOS 7).
There will be two other MySQL settings – deleting the test database and the anonymous user, and choosing a password for the MySQL root user (other MySQL settings can be made in the /etc/my.cnf file).
Next, we will select the MySQL database size. Here you will choose what you know best for your websites and servers.
Then specify the nameservers (you complete the field with the ones received from your webhosts provider if you do not have your own ones).
The next screen prompts you to choose how to store your passwords (text or encrypted – note that encrypted storage is synonymous with the fact that your passwords can not be recovered, but that is recommended for a better security).
And that was all! The last screen notifies you that you have completed the post-installation setup. A reconfiguration (Recheck and refresh configuration) will be required.
This Virtuamin post-installation wizzard can be run again by going to the Virtualmin menu -> System Settings -> Re-run install wizzard.
Add a domain (Virtual Server) to Virtualmin
When a domain is added to Virtualmin, a Virtual Server for each account is created, specifying the resources assigned to each account. To add a domain (Virtual Server), go to Virtualmin -> Create Virtual Server. Please specify the domain name, administrator password, contact address, and click Create Server.