Skip to main content

How to install Vestacp on CentOS

What is VestaCP?

What is VestaCP? VestaCP is a Free Open Source Control panel for server systems. It can help ease the burden of common system administration tasks such as website creation, database deployment and management, and more. This guide will help you get up and running with VestaCP on your CentOS linux VPS or Dedicated server.

How To Install VestaCP?

Before you begin the steps in this guide, make sure you fulfill the following prerequisites:
• A clean installation of CentOS 7 on a linux vps or dedicated server
• All commands should be run as the root user

You’re going to start with a standard clean and up to date CentOS 7 installation.

Install the basic default packages.

Go ahead and disable SElinux.

Before installing VestaCP, you will need:
• A valid hostname that will resolve on the IP used for the control panel
• An email address and a password to set during the install

Download the VestaCP installation script.

Make this script executable and start the installation. You can also use the advanced setup if that’s what you prefer. See this link on the VestaCP official website for more information on what options are available.

The installation process can take some time depending on the speed of your network connection, so be patient. At the end of the installation, you should see the URL, the username and the password for logging into the panel written to STDOUT.

Go to the URL in your web browser and enter the username and password. You should be logged in.

As you can see, setup is simple and painless. If you’re running a RHEL or Ubuntu-based distribution of Linux and anticipating the need to accommodate less experienced users, consider installing VestaCPas your web hosting control panel.

How to install ISPsystem on CentOS

ISPsystem’s software products can be installed and updated using OS in-built tools, i.e. using OS repositories[1].

Before you start, connect the ISPsystem repository. You can do this manually or with a script. Both methods are described below:

If you do not have a license for a software product you are going to install, the installation package will try to activate a trial license (it can be used during 2 weeks):

  • if the license for that IP (the one to which the request was sent) has never been ordered or it has not yet expired, the trial will be activated automatically and the panel will be installed. (the trial license that was ordered automatically will display in a client area).
  • if the tiral for that IP has already expired, the installation will finish showing the License does not exists error message.

If you have the license, but the server has the internal IP address(i.e. you need to use the activation key for activation), before you start, execute the following command:

  export ACTIVATION_KEY=<activation_key>

The above command will install the environmetn variable, and you will be able to proceed with the panel installation.

IMPORTANT NOTES: You must be logged in as root to be able to install and use the control panel using this method.

Connecting repository automatically

Repositories both for CentOS and Debian can be added with a script.

Download the script to the server

wget -O ""

Start the script


The script will offer a version: beta or release and connect the corresponding ISPsystem repository. It will also connect other repositories (EPEL for CentOS) and update the package cache.

Once completed, the control panels can be installed throug the OS package manager.

Connecting repository manually


Select the version: alpha[2]beta or release.

Each level is located in a separate repository.

To add a repository, download a required “repo-file” and locate it into /etc/yum.repos.d/ and update the packages cache.

Some packages can be also found in the repository EPEL. You won’t be able to install a software without it.

Example for beta versions:

rpm -iU
wget -O /etc/yum.repos.d/ispsystem.repo ""

Example for release versions:

rpm -iU
wget -O /etc/yum.repos.d/ispsystem.repo ""


IMPORTANT NOTES: fresh installation is required. You may lose your data if you install on the system where certain data and services are already used (such as, MySql database).

Install the software using standard means:

yum install coremanager


yum install dnsmanager

Once you successfully install the panel, you can access it at https://IP-ADDRESS:1500/panel_short_name. Short names: core, dnsmgr, ipmgr, ispmgr, dcimgr и т.д.

Login – root, password – root password to your server. Create a user with administrator privileges and manage the panel as that administrator.


Use standard means:

yum update dnsmanager coremanager

Upgrade from beta intorelease and vice versa

Remove the repository, add a new one, update the control panels, if needed.

Downgrade from release into beta:

rm -f /etc/yum.repos.d/ispsystem.repo
wget -O /etc/yum.repos.d/ispsystem.repo ""
yum clean metadata
yum update ipmanager

Downgrade from beta into release may lead to unexpected results and that version won’t be supported.

In this case you will have to wait for a new update of this version.


Select the version: alpha[3]beta or release.
Each level is located in a separate repository.

To add a repository, download the file<OS version>-ispsystem-<release candidate>.list

into the directory /etc/apt/sources.list.d/

Example of debian wheezy for beta versions:

wget -O /etc/apt/sources.list.d/ispsystem.list ""

After you added the record or downloaded the file, update the packages cache:

apt-get update


IMPORTANT NOTES: fresh installation is required. You may lose your data if you install on the system where certain data and services are already used (such as, MySql database).

Then you can install the software using standard means:

apt-get install coremanager


apt-get install dnsmanager

Once you successfully install the panel, you can access it at https://IP-ADDRESS:1500/panel_short_name. Short names: core, dnsmgr, ipmgr, ispmgr, dcimgr и т.д.

Login – root, password – root password to your server. Create a user with administrator privileges and manage the panel as that administrator.


apt-get update
apt-get upgrade coremanager

Upgrade from beta intorelease and vice versa

Remove the repository, add a new one, update the control panels, if needed.

Downgrade from releaseinto beta

rm -f /etc/apt/sources.list.d/ispsystem.list
wget -O /etc/apt/sources.list.d/ispsystem.list ""
apt-get update

Downgrading from beta into release may lead to unexpected results and that version won’t be supported.

In this case you will have to wait for a new update of this version (release candidate).


Using script to add a repository

You can use the script for adding repositories for both centos and debian

wget -O ""

Software installation


IPmanager can work with 3 different DNS servers: bind, nsd, powerdns

There are 3 versions of IPmanager packages: ipmanager-bind, ipmanager-nsd, ipmanager-pdns

To install IPmanager with a desired DNS server, you need to install a corresponding package:

Example: execute the following for installation with powerdns

yum install ipmanager-pdns

We recommend that you use bind, because if you do not select a DNS server, bind will be installed.

ipmanager-bind will be installed when installing ipmanager

The control panel can be accessed at https://SERVER_IP:1500/ipmgr


Complete the same steps as for IPmanager installation

The control panel can be accessed at https://SERVER_IP:1500/dnsmgr


Currently only vmmanager-basic is available. There are no installation types that’s why you install only the package vmmanager-basic

yum install vmmanager-basic

The control panel can be accessed at https://SERVER_IP:1500/vmmgr


The same as for VMmanager, only one version is supported, you need to install only vemanager package

yum install vemanager

The control panel can be accessed at https://SERVER_IP:1500/vemgr


DCImanager is available in 3 versions: Essential, Progressive, Enterprise.

To install a required version you need to install the corresponding package:

yum install dcimanager-essential


yum install dcimanager-progressive

The control panel can be accessed at https://SERVER_IP:1500/dcimgr



Due to a large variety of software configurations, ISPmanager can be installed by 2 different means: minimal installation (ispmanager-lite-common) and recommended (ispmanager-lite).

If you select recommended, install ispmanager-lite

yum install ispmanager-lite

This package will install ispmanager-lite-common (ISPmanager) and recommended packages.

If this version does not suit you, you may install only ispmanager-lite-common

yum install ispmanager-lite-common

Applications can be installed either from the ISPmanager interface or by installing packages ispmanager-pkg-<FEATURE_NAME>

For example, phpmyadmin can be installed as follows:

yum install ispmanager-pkg-myadmin

The control panel can be accessed at https://SERVER_IP:1500/ispmgr

How to install BlueOnyx on CentOS

1. Install centos 5 or 6 in the vps.
2. Download tar file from
# mkdir /install
# cd /install

# wget
# tar -xzf BlueOnyx-5107R-SL6-CentOS6-RHEL6-i386-20110716.tar.gz

3. run and remove the folder after installing it.

# ./

The installation has finished!

Please point your browser to and login with
username ‘admin’ and password ‘blueonyx’

** Your root password is same as admin password.        **
** SSH root logins are disabled by default now!         **
** Use user ‘admin’ instead for SSH and ‘su -‘ to root! **

# rm -rf /install

4. Load the url and change the admin password other thanblueonyx

How to install Froxlor on CentOS

Froxlor is an open source, free, lightweight yet powerful server management panel which is great for establishing and managing web hosting service.

This article will explain the process of installing Froxlor on a CentOS 7 server.


  • A CentOS 7 x64 server instance.
  • A sudo user.

Step 1: Update the system

In order to keep your system up to date, run the following commands as a sudo user:

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

Log in back as the same sudo user after the system starts again.

Step 2: Install the Apache web server

On CentOS 7, you can install the latest stable release of Apache using YUM:

sudo yum install httpd -y

Next, remove the Apache welcome page:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

For security purposes, you should prevent Apache from exposing files to web visitors:

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

Start the Apache web server and enable automatic start on system boot:

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

Step 3: Install MariaDB 10

Froxlor needs to store its data in a relationship database. On CentOS 7, it is recommended to use MariaDB 10.1.

3.1 Setup the MariaDB 10.1 YUM repo

Just copy the entire code segment below into your SSH terminal, and then press Enter to import the repo file:

cat <<EOF | sudo tee -a /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.1 CentOS repository list - created 2017-01-14 03:11 UTC
name = MariaDB
baseurl =

3.2 Install MariaDB 10.1 using YUM:

sudo yum install MariaDB-server MariaDB-client -y

3.3 Start the MariaDB service and enable auto start on boot:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

3.4 Secure the installation of MariaDB:

Run the below command to secure MariaDB:

sudo /usr/bin/mysql_secure_installation

Answer questions as follows, and be sure to use a private and strong MariaDB root password.

Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: <your-password>
Re-enter new password: <your-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

3.5 Create a MariaDB database for Froxlor

Log into the MySQL shell as root:

mysql -u root -p

Enter the MariaDB root password you set earlier in order to log in.

In the MySQL shell, create a database froxlor, an unprivileged user froxlor and its password (say it is yourpassword) using the following commands.

Note: Remember to replace the sample password yourpassword with a secure password.

CREATE USER 'froxlor'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON froxlor.* TO 'froxlor'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;

Step 4: Install PHP 7

Install PHP 7.1 and all the necessary dependencies using the Webtatic YUM repo as follows:

sudo rpm -Uvh
sudo yum install mod_php71w php71w-mysqlnd php71w-common php71w-process php71w-mbstring php71w-bcmath php71w-gd php71w-cli -y

Step 5: Install Froxlor

Download the latest stable release of Froxlor, unzip the archive to the web root directory, and then grand proper permissions to all of the Froxlor files:

cd /var/www/html
sudo wget
sudo tar -zxvf froxlor-latest.tar.gz
sudo chown -R apache:apache /var/www/html/froxlor
sudo rm froxlor-latest.tar.gz
sudo systemctl restart httpd.service

Modify firewall rules in order to allow web access:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

Now, point your web browser to, continuing the installation in the web interface.

1) On the Welcome to Froxlor page, click the Start install link.

2) On the Checking system requirements page, make sure that all requirements have been satisfied, and then click the link Click here to continue.

3) On the Froxlor install - setup page, provide necessary info as follows, and then click the link Click here to continue.

Database connection

  • MySQL-Hostname:
  • Database name: froxlor
  • Username for the unprivileged MySQL-account: froxlor
  • Password for the unprivileged MySQL-account: yourpassword
  • Username for the MySQL-root-account: root
  • Password for the MySQL-root-account: <MariaDB-root-password>

Administrator Account

  • Administrator Username: <your-Froxlor-admin-username>
  • Administrator Password: <your-Floxlor-admin-password>
  • Administrator-Password (confirm): <your-Floxlor-admin-password>

Server settings

  • Server name (FQDN, no ip-address): <your-server's-FQDN>
  • Server IP:
  • Webserver Apache 2.4: Apache 2.4
  • HTTP username: apache
  • HTTP groupname: apache

4) On the last page, if nothing goes wrong, you can use the link Click here to login to visit the Froxlor dashboard.

That concludes our tutorial. Thanks for reading.

How to install InterWorx on CentOS

What is interworx? The InterWorx Hosting Control Panel is a web hosting and linux server management system that provides tools for server admins to command their servers and for end users to oversee the operations of their website.

The panel has two operating modes: Nodeworx and Siteworx. NodeWorx is the system administrator mode for managing server-wide behavior and SiteWorx accounts. SiteWorx is the website owner mode and is used primarily by hosting end-users to manage their web hosting accounts and associated features.

How to: Install InterWorx Control Panel

Login to your Linux server as root, via SSH or Terminal .

  • Download and run the installer:
  • Alternatively, download and run the installer with NO PROMPTING:

After installation is complete you’ll want to activate your InterWorx Control Panel License. This can be done one of two ways:

Web activation: Go to https://<your-ip>:2443/nodeworx . It will prompt you for your license key and an initial e-mail and password for the control panel.

Login to Interworx:

  1. Login to NodeWorx


2. Login to SiteWorx


How to install DirectAdmin on CentOS

In this guide I will be explaining how to install Direct Admin on a clean installation of CentOS 5, 6 and 7. The procedure is exactly the same on all three of these operating systems and with both 32-bit and 64-bit versions. It is very important to start off with a clean installation, as the DirectAdmin installer will take care of all software components you need.


Note: This guide assumes you are familiar with SSH and basic command line navigation. These instructions apply primarily to customers who have Virtual Private Servers or Dedicated servers. If you do not have root-level access you will not be able to make these changes.


1. Prerequisites

Do you meet the system requirements?


2. Installation Procedure

Make sure your license information is correct!

If you have purchased your license directly from, sign into your client account at and click the “view” link next to your license. Verify that the server IP address and operating system is correct. Also make sure that the license is Active and Verified (if it isn’t, you need to contact Direct Admin support). If you have problems with a license obtained through Woktron Web Hosting, please contact Woktron Support.


2.1 Update CentOS

yum update


2.2 install DirectAdmin

Begin by installing the required dependencies for Directadmin:


CentOS 5 and 6
yum install wget gcc gcc-c++ flex bison make bind bind-libs bind-utils openssl openssl-devel perl quota libaio libcom_err-devel libcurl-devel gd zlib-devel zip unzip libcap-devel cronie bzip2 cyrus-sasl-devel perl-ExtUtils-Embed autoconf automake libtool which patch mailx db4-devel
CentOS 7
yum install wget gcc gcc-c++ flex bison make bind bind-libs bind-utils openssl openssl-devel perl quota libaio libcom_err-devel libcurl-devel gd zlib-devel zip unzip libcap-devel cronie bzip2 cyrus-sasl-devel perl-ExtUtils-Embed autoconf automake libtool which patch mailx psmisc net-tools systemd-devel libdb-devel


Continue by downloading the DirectAdmin setup routine using wget, set file permissions to writable with chmod and finally startup the setup routine by issuing the ./ command:

chmod 755


After the setup routine starts you will be presented with a number of options:

1. Enter your license details (Client ID and License ID).

2. Enter your hostname

Important: The hostname should not be the same as the primary domain name. e.g. is not a valid hostname, where is. Having the same host/main domain name will cause e-mail and FTP problems. Also, please make sure the hostname resolves once you setup DNS.


(start installation routine:)
* Have you run the pre-install commands? CTRL-C if not.
Please enter your Client ID : xxxxx
Please enter your License ID : xxxxx
Please enter your hostname \(\)
It must be a Fully Qualified Domain Name
Do *not* use a domain you plan on using for the hostname:
eg. don't use Use instead.
Do not enter http:// or www
Enter your hostname (FQDN) :
Client ID: xxxxx
License ID: xxxxx
Is this correct? (y,n) : y
The following ethernet devices/IPs were found.
Please enter the name of the device you wish to use:

3. Enter your network interface (usually ETH0). When using a Virtual Private Server (VPS) you should select the respective virtual network port:

venet0:0 (the usual option)

If unsure enter the following in commandline and see which ETH adapter is using your public IP address:



Custombuild is a tool used to automatically install, configure and update the major software components of your DirectAdmin web server. The most current version of Custombuild is version 2.0, which is in a beta state. Custombuild 2.0 is currently stable enough to be used in a production environment. It adds the ability to automatically configure 2 PHP versions to be used simultaneously and support for PHP 5.5, Apache 2.4 and mod_ruid2. More Information here

(installation routine continued:)
Enter the device name: xxx
Is the IP in your license? (y,n) : y
DirectAdmin will now be installed on: Enterprise 5.7
Is this correct? (must match license) (y,n) : y 
You now have 4 options for your apache/php setup. 
1: customapache: end-of-life software. Includes Apache 1.3, php 4 and frontpage.
2: custombuild 1.1:end-of-life software. Apache 2.x, php 4, 5 or both in cli and/or suphp. Defaults to php 5.2
3: custombuild 1.2:Production version: Apache 2.x, php 5, 6, or both in cli and/or suphp. defaults to php 5.3
4: custombuild 2.0 BETA: Apache 2.4, mod_ruid2, php 5.5. Can be set to use php-FPM or fastcgi.

Post any issues with custombuild to the forum:

Enter your choice (1, 2, 3 or 4): 4
You have chosen custombuild 1.2.

2011-11-11 14:47:00
Connecting to|:80 connected.
HTTP request sent, awaiting response 200 OK
Length: 289046 (282K) [text/plain]
Saving to: `/usr/local/directadmin/custombuild/build'
100%[===========================================================================>] 289,046 855K/s in 0.3s
2011-11-11 14:47:01 (855 KB/s)  `/usr/local/directadmin/custombuild/build' saved [289046/289046]
Would you like the default settings of apache 2.2 and php 5 cli? (y/n): y *
Using the default settings for custombuild.
Would you like to search for the fastest download mirror? (y/n): y

* For a basic webserver installation selecting “Would you like the default settings of apache 2.2 and php 5 cli?” to yes works with no problem. If you’d like to have more control over what should or should not be installed set this option to N

Below you will find what options you have when setting this option to N, thus selecting a custom setup of DirectAdmin:

Would you like the default settings of apache 2.2 and php 5 cli? (y/n):  N
Would you like to have PHP5 or PHP6 as default? (5/6): 
Would you like to have PHP5? (yes/no): 
Would you like to have PHP5 as CLI or CGI? (cli/cgi): 
Would you like to have ionCube? (yes/no): 
Would you like to have Zend Optimizer? (yes/no): 
Would you like to have an ability to update/instal MySQL using CustomBuild? (yes/no): 
Which version of MySQL you would like to have? (5.0/5.1): 
Which version of Apache you would like to have? (1.3/2.0/2.2): 
Would you like to have an ability to update/instal Exim using CustomBuild? (yes/no): 
Would you like to have an ability to install Dovecot? (yes/no): 
Would you like to have an ability to install/update phpMyAdmin using CustomBuild? (yes/no): 
Would you like to have an ability to install/update SquirrelMail webmail using CustomBuild? (yes/no): 
Would you like to have an ability to install/update RoundCube webmail using CustomBuild? (yes/no): 
Would you like to have an ability to install/update UebiMiau webmail using CustomBuild (not recommended)? (yes/no): 
Would you like to have an ability to install/update Atmail Open webmail using CustomBuild? (yes/no): 
Would you like to search for the fastest download mirror? (y/n):

When the installation routine has completed, you should be ready to login to your newly installed control panel via: http://xx.xx.xx.xx:2222 (where xx.xx.xx.xx is your IP address or domain name). 2222 is the port DirectAdmin normally communicates on. It is important to keep this port open in your firewall


2.3 User Credentials

You will receive your default password at the end of the installation routine. Make sure to write it down. In case you forgot your admin password enter the following:

cd /usr/local/directadmin
./directadmin i

Alternatively, you can open the log file that was created after the installation completed. This file can be found at the following location:



3. Securing DirectAdmin

After having DirectAdmin succesfully installed it is now time to secure your server. Securing your DirectAdmin based server is outside the scope of this article. However, we recommend you read the following articles at a bare minimum:


4. Updating DirectAdmin

It is very important to periodically update your server. Keeping your server updated ensures you are not affected by the various vulnerabilities that may affect your server and its users. You can update your server by issuing the following commands:

cd /usr/local/directadmin/custombuild
./build clean 
./build update 
./build update_versions


5. Custombuild Plugin

The custombuild plugin allows for easy configuration of your Directadmin server by means of a GUI.

Plugins can be easily installed by logging in to DirectAdmin as an Administrator. Head to Extra Features > Plugin Manager. New plugins can be installed by uploading a file or pointing to the correct URL in the Add Plugin section. When done press the install button.

The custombuild plugin can be downloaded here:


6. Troubleshooting

Dealing with RPM errors

When installing RPMs, errors can sometimes occur. Don’t panic, solving them is usually easy. If you didn’t know what to install during your RedHat installation, you might have installed a few services, such as apache and sendmail. These services must be removed before the rpm will be able to be installed.

For example, lets say you are trying to install exim and you get the following:

rpm -ivh exim-3.36-2.i386.rpm
  Preparing...                         ########################################### [100%]
  file /somefile from install of exim-3.36-2 conflicts with file from package sendmail-8.1

This would mean that sendmail is already installed on your server and you must remove it. This can easily be accomplished by running the following:

rpm -e --nodeps sendmail

Then you will be able to install your rpm. This follows for other services such as apache, apache-devel, wu-ftp, php, MySQL and so forth. If you need to figure out if you already have a service installed, you can run

rpm -q servicename


rpm -qa | grep substring

Where substring is just a word. For example, using “apache” might return:

rpm -qa | grep apache


If you are having trouble with RPMs hanging, please take a look at:


7. Need Help?

Should you require any further assistance or in case you have any questions about DirectAdmin, please open a ticket with our support team by logging in to your Client Account, or you can visit the DirectAdmin support forum, where you can find further documentation and FAQs.

How to install WebMin on CentOS

Webmin is an open source web based system configuration application for Linux system administrator. It is using to manage service like User administration, Disk managemet, Network, Iptables ( Firewall ), Cron, Apache, DNS, File sharing and substantially more .Webmin applications is taking into account Perl module and it uses TCP port 10000 with OpenSSL library for communicating via browser.


In this article, we can see about how to install webmin on CentOS

Step 1: Webmin YUM repository

If you like to install and update Webmin using yum, create the webmin repository. We can check repository using following command:

# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base:
 * epel:
 * extras:
 * rpmforge:
 * updates:
repo id               repo name                                           status
Webmin                Webmin Distribution Neutral                            217
atrpms                Fedora Core 6 - x86_64 - ATrpms                      2,755
base                  CentOS-6 - Base                                      6,518
epel                  Extra Packages for Enterprise Linux 6 - x86_64      11,632
extras                CentOS-6 - Extras                                       38
rpmforge              RHEL 6 - - dag                          4,718
repolist: 25,878

How to configure webmin repository on CentOS/RHEL

Step 2: Install Dependencies

Install the dependencies using following command:

# yum -y install perl perl-Net-SSLeay openssl perl-IO-Tty

Step 3: Install Webmin

Presently we can ready to install it using yum command. It will automatically install all required dependencies.

# yum -y install webmin

Step 4: Open Port

Of course Webmin keeps running on port 10000, so we have to open port on our firewall to get to it. The easiest way to open the port on firewall is using iptables rules.
CentOS/RHEL 5/6

# iptables -A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT
# service iptables save
# /etc/init.d/iptables restart


# firewall-cmd --add-port=10000/tcp
# firewall-cmd --reload

Step 5: Start Webmin

Run the following commands to start the webmin service and make it start automatically
CentOS/RHEL 5/6

# chkconfig webmin on
# /etc/init.d/webmin start


# systemctl enable webmin
# systemctl start webmin

Step 6: Access Webmin

Presently we should ready to get to and login to Webmin using URL localhost or IP and enter the username as root and password (current root secret word), for remote get to simply access localhost with your remote IP address.

# http://localhost:10000/
# http://server-IP:10000/


Change/Reset Webmin root Password

Change webmin root account password use following command:

# /usr/libexec/webmin/ /etc/webmin root secretaccess

How to install Virtualmin on CentOS

About Virtualmin

Virtualmin is a Webmin module which allows for extensive management of (multiple) virtual private servers. You will be able to manage Apache, Nginx, PHP, DNS, MySQL, PostgreSQL, mailboxes, FTP, SSH, SSL, Subversion/Git repositories and many more.

In this tutorial, we will be installing the GPL (free) edition of Virtualmin on a freshly created VPS (droplet).


  • Virtualmin highly recommends using a freshly installed server to prevent conflicts, assuming you just created a new VPS, this should be all good.
  • Confirm that your VPS has a fully qualified domain name set as hostname. An example of a fully qualified domain name is “” or ““. Make sure that the domain name points to your server’s IP address. Use the following command to check your current hostname.
    hostname -f

    And use the following command to change your hostname if necessary.


Login as Root

Grab the IP address of your droplet from the DigitalOcean control panel and use SSH to login as root.

ssh root@

Downloading the Install Script

Virtualmin provides an install script which allows for an easy installation. Use the following command to download the script to your root directory.

wget -O /root/

You should expect to see something like this when it’s finished:

2013-07-06 11:03:57 (129 KB/s) - `/root/' saved [45392/45392]

Running the Install Script

Now it’s time to run the script we just downloaded.

sh /root/

This will start the installation wizard. It will start with a short disclaimer, after accepting it the installation will begin.

Accessing Virtualmin

When the install script has finished installing, you can reach Virtualmin with the following URL:

There you can login with your root username and password. Once you are logged in the “Post-Installation Wizard”, it will begin to configure your Virtualmin installation.

Post-Installation Wizard

This wizard is pretty self-explanatory, we’ll cover some of the steps with some additional information.

Memory use

  • Preload Virtualmin libraries? This will make your Virtualmin UI faster, use this when you are going to use the UI extensively, the UI is very usable without it.
  • Run email domain lookup server? If fast e-mail is important to you and you have the spare RAM then it’s recommended to enable this.

Virus scanning

  • Run ClamAV server scanner? This is explained pretty well on the page, if your server receives a lot of e-mails then it’s beneficial to enable it.

Note: If you are installing Virtualmin on a 512MB VPS and you have just enabled ClamAV server scanner in the step above, then it is very likely that you run accros this error:

A problem occurred testing the ClamAV server scanner :
ERROR: Can't connect to clamd: No such file or directory

----------- SCAN SUMMARY -----------
Infected files: 0
Time: 0.000 sec (0 m 0 s)

The reason why you get this error is because your VPS is running out of RAM… you can choose to upgrade your RAM or add swap space to handle the increased memory usage.

For more information about swap space and how to enable it, please follow this tutorial:

Spam filtering

  • Run SpamAssassin server filter?

    Again this is explained pretty well on the page, if your server receives a lot of e-mails then it’s beneficial to enable it.

Database servers

This step should be pretty clear assuming you know what MySQL or PostgreSQL is. Enable whichever one you need.

If you picked MySQL, the next step will ask you to enter a root password for your MySQL server. The step after that asks what type of configuration MySQL should use.

It’s recommended to pick the one that matches your RAM (I believe it selects the right one by default).

DNS zones

If you plan on managing your DNS zones with Virtualmin then enter your primary and secondary nameservers here.


Virtualmin gives you two choices on how it should save passwords. It is highly recommended to select “Only store hashed passwords”.

This way if any uninvited people get into your server they won’t be able to retrieve any personal passwords.

All right, you’ve completed the post-installation wizard! You might see a big yellow bar on the top of the page with a button that says “Re-check and refresh configuration”.

It’s recommended to press that button just to make sure everything is well.

If you run into an error during that check, follow the instructions to resolve it and re-check your configuration until all errors are gone.

Some Useful Knowledge

Here’s some information which will help you get around Virtualmin:

Virtual Private Server

A virtual private server (usually) represents a website, typically every website has it’s own virtual private server.


A sub-server sounds confusing but it’s basically a subdomain.

Virtualmin vs Webmin

As you can see on the top left, you have Virtualmin and Webmin. These are different control panels, Virtualmin is where you manage all the VPS and anything related to that. Webmin is where you manage the server itself.


Virtualmin is very well documented, this means that every page has it’s own help page and every option’s label (the label in front of the input field) is linked to an explanation of that option.

Here’s a screenshot explaining the menu structure of Virtualmin.


Setting Up a Virtual Private Server

Now that we’ve gone through the installation and wizard, we can start setting up our virtual private server(s). Click “Create Virtual Server” in the navigation on the left side.

Enter the domain name you want to setup a server for, in this tutorial we will use:

Enter an administration password which will become the main password to manage the virtual private server. If you are managing the virtual private server by yourself then you don’t really need to know this password. In that case, I suggest using a long generated password for extra security.

Virtualmin allows you to manage server configuration templates and account plans, these can be modified under “System Settings” and then “Server Templates” and “Account Plans”.

You can specify an administration username, leaving it on automatic would make “example” the username.

Have a look at the options hidden underneath the other tabs and enable/disable/change anything you’d like to configure your virtual private server.

Now click “Create Server”, Virtualmin will execute the steps needed to setup your virtual private server, if any errors occur, it will display them there.

Setting Up a Subdomain

Now that we’ve setup our virtual private server, it’s time to add a subdomain, click on “Create Virtual Server” again.

Notice how different options are now on the top of the page: “Top-level server” (Virtual private server), “Sub-server” (Subdomain), “Alias of” and “Alias of, with own e-mail”.

Click on “Sub-server” to create a subdomain of ““.

Fill in the full domain name ( and go through the options below it, once you are ready click “Create Server”.

Watch Virtualmin do what it needs to do and after it’s all done, you should see “” as the currently selected virtual private server.

Setting Up Users

First of all, let’s make sure we are on the top-level server “” and then click on “Edit Users”. On the top, you see you have three options of creating users: “Add a user to this server.”, “Batch create users.” and “Add a website FTP access user.”

If you are only looking to setup a user that has FTP access then click that link, we will go with “Add a user to this server.”. The first step is to enter the user’s email address, real name and password. Then, carefully look at the other options available to get your ideal setup, when you’re done press “Create”.

You will now see your user being added to the list, the main user is bold. It also tells you what the user’s login is (by default this is something like test.example).

For further setup of e-mail addresses see the “Edit Mail Aliases” link in the menu.

Setting Up Your Databases

Click the “Edit Databases” link in the menu, remember to set your virtual private server correctly. Depending on your settings, every virtual private server has its own database (or multiple).

Every database has a “Manage…” link which gives you a very simple view of the database and allows you to execute queries. Now go back to the “Edit Databases” page and click “Passwords”, here is your database’s password which was automatically generated by Virtualmin.

Moving on to the “Import Database” tab you can assign an existing database (a database created outside of Virtualmin) to the current virtual private server, useful for when you created databases using a MySQL client of some form.

Last but not least, the “Remote hosts” tab allows you to provide multiple hosts to connect to your server, it’s recommended to leave it as is (localhost) and use an SSH tunnel to login to your database server.

Directory Structure

Virtualmin has a very nicely organised directory structure. See the following scheme.

`-- /home/example
    |-- /home/example/awstats
    |-- /home/example/cgi-bin
    |-- /home/example/domains
    |   `-- /home/example/domains/
    |       |-- /home/example/domains/
    |       |-- /home/example/domains/
    |       |-- /home/example/domains/
    |       |-- /home/example/domains/
    |       `-- /home/example/domains/
    |           `-- /home/example/domains/
    |-- /home/example/etc
    |   `-- /home/example/etc/php5
    |-- /home/example/fcgi-bin
    |-- /home/example/homes
    |   `-- /home/example/homes/test
    |       `-- /home/example/homes/test/Maildir
    |           |-- /home/example/homes/test/Maildir/cur
    |           |-- /home/example/homes/test/Maildir/new
    |           `-- /home/example/homes/test/Maildir/tmp
    |-- /home/example/logs
    |-- /home/example/public_html
    |   `-- /home/example/public_html/stats
    `-- /home/example/tmp	

As you can see, everything is put in /home/example and our subdomain can be found in /home/example/domains/ Every domain has its own logs directory and Virtualmin comes with awstats by default and is accessible through “, unless you disabled this during the creation of the virtual private server.

Where Do I Go from Here?

Take some time to go through Virtualmin’s settings. There are many things you can change to make your experience better. Don’t forget to also explore the Webmin side of this control panel.

This tutorial only touches the surface of Virtualmin and there’s a lot more which can be done with it or added to it through modules. There are even modules for setting up svn/git repositories.

How to install VHCS on CentOS

VHCS delivers a complete hosting automation appliance by offering significant security, total-cost-of-ownership, and performance advantages over competing commercial solutions.

With VHCS Pro you can configure your server and applications, create user with domains with a few point-and-click operations that take less than a minute. There is no limit to the number of resellers, users and domains that can be created.At the core of VHCS Pro are 3 easy-to-use, Web-based control panels. VHCS provides graphic user interfaces for the administrators, resellers and users.

VHCS Requirements


Postfix — MTA


PHP 4.x



POP3 and IMAP Daemon (Courier)

OpenSSL or mod_ssl for SSL-Webs

BIND8 / BIND9 (DNS Server)

iptables (optional)

Install VHCS ISP Contro Panel in Debian

Preparing you system for VHCS Installation

# aptitude install ssh postfix postfix-tls proftpd proftpd-mysql \
courier-authdaemon courier-base courier-imap courier-maildrop \
courier-pop libberkeleydb-perl libcrypt-blowfish-perl libcrypt-cbc-perl \
libcrypt-passwdmd5-perl libdate-calc-perl libdate-manip-perl \
libdbd-mysql-perl libdbi-perl libio-stringy-perl libmail-sendmail-perl \
libmailtools-perl libmd5-perl libmime-base64-perl libmime-perl \
libnet-dns-perl libnet-netmask-perl libnet-perl libnet-smtp-server-perl \
libperl5.8 libsnmp-session-perl libterm-readkey-perl libtimedate-perl perl \
perl-base perl-modules bind9 diff gzip iptables libmcrypt4 php4 patch php4-mcrypt \ php4-mysql php4-pear procmail tar original-awk libterm-readpassword-perl \ libsasl2-modules libsasl2 sasl2-bin bzip2 gcc make libc6-dev mysql-client-4.1 \ mysql-server-4.1 apache2 apache2-common apache2-mpm-prefork \ libapache2-mod-php4

This will install all the required packages for VHCS.

After finishing all the installation of above packages you need to add the following source list to your /etc/apt/sources.list file

deb sarge main


deb sarge main

Now you need to update your source list using the following command

#apt-get update

Installing VHCS in Debian

#apt-get install vhcs

This will start the installation process this time it will prompt for some questions we will see one by one now

First one is Welcome message you can see this in the following screen


Should i do the setup of VHCs select yes and press enter


Enter the hostname of your server and i have entered as technews select ok and press enter


Enter the ip address of your server select ok and press enter


Enter the admin email address to send VHCS logs select ok and press enter


Database Configuration Message


Choose the way you want to configure VHCS database here you need to select as automatic so that it will create DB Automatically select ok and press enter


If you want to drop database on pure you need to select yes and select ok and press enter


Enter the database username for VHCS database default one is vhcs2 i left the same and if you want to change you can change.Now you need to select ok and press enter


Enter the password for VHCS database user and select ok and press enter


Confirm the password for VHCS database user and select ok and press enter


Enter the database vftp user by default vftp will be these you leave as default one and select ok and press enter


Enter the password for the VHCS database vftp user select ok and press enter


Confirm the password for the VHCS database vftp user select ok and press enter


Enter your seconday name server i have entered you can enter which one is your secondary DNS select ok and press enter


Enter SASL Domain select ok and press enter


Enter the VHCS admin user name here and i have entered as admin after that select ok and press enter


Enter the password for the VHCS admin user after that select ok and press enter


Confirm the the password for the VHCS admin user after that select ok and press enter
System starts to configure packages now. When installation asks about overwriting old configs, select Yes.
Configuration file `/etc/vhcs2/crontab/backup/crontab.conf.12564′
==> File on system created by you or by a script.
==> File also in package provided by package maintainer.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer’s version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a new shell to examine the situation
The default action is to keep your current version.
*** crontab.conf.12564 (Y/I/N/O/D/Z) [default=N] ?Y

Creating config file /etc/vhcs2/apache/parts/vhcs2_base.tpl with new version
Configuration file `/etc/postfix/’
==> File on system created by you or by a script.
==> File also in package provided by package maintainer.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer’s version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a new shell to examine the situation
The default action is to keep your current version.
*** (Y/I/N/O/D/Z) [default=N] ?y

Configuration file `/etc/postfix/’
==> File on system created by you or by a script.
==> File also in package provided by package maintainer.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer’s version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a new shell to examine the situation
The default action is to keep your current version.
*** (Y/I/N/O/D/Z) [default=N] ?y

Configuration file `/etc/courier/authdaemonrc’
==> File on system created by you or by a script.
==> File also in package provided by package maintainer.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer’s version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a new shell to examine the situation
The default action is to keep your current version.
*** authdaemonrc (Y/I/N/O/D/Z) [default=N] ?y

Configuration file `/etc/proftpd.conf’
==> File on system created by you or by a script.
==> File also in package provided by package maintainer.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer’s version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a new shell to examine the situation
The default action is to keep your current version.
*** proftpd.conf (Y/I/N/O/D/Z) [default=N] ?y

This will complete the installation now you need to access you VHCS using the following URL

http://your-server-ipaddress/vhcs2/ you should see the following screen


Now you need to enter you admin as username and password (installation time we set this password) for this user.Once you logged in to the VHCS control panel you should see the following screen.


If you want to know how to manage and administer VHCS check this documentation

Reconfiguring VHCS

If you want to do reconfiguring to VHCS system, just type

#dpkg-reconfigure vhcs

Uninstall VHCS

#apt-get remove vhcs

If you want to delete all files related to VHCS, type

#dpkg –purge vhcs

If you are a ubuntu user you just use sudo before apt-get installing packages.

How to install ispCP on CentOS


Your Server has to be configured to use a resolvable fully qualified domain name.

Here can you find hoster specific information how to do so.

The Installation

Make sure you are logged in with an user that has root privileges.

1. Install the system required packages

# apt-get install aptitude
# aptitude update && aptitude safe-upgrade
# aptitude install tar bzip2 wget lsb-release nano

2. Add the non-free repository to your sources.list

Open the sources.list with nano:

# nano /etc/apt/sources.list

Now add the following lines to the sources.list:

deb squeeze main contrib non-freedeb squeeze/updates main contrib non-free

Now close the editor and update all packages with:

# aptitude update && aptitude safe-upgrade

3. Download & Extract the files

# mkdir -p /root/ispcp
# cd /root/ispcp
# wget
# tar -xvf ispcp-omega-1.0.7.tar.bz2
# cd ispcp-omega-1.0.7

4. Install the ispCP required packages

# aptitude install $(cat ./docs/Debian/debian-packages-`lsb_release -cs`)

1. When you get to the “courier screen” select no to web directories.

2. When you get to the “postfix screen” select internet site.

3. If your debian setup is correct your domain should already be displayed on the screen. If not, enter the domain without the ‘www.’ portion (i.e.

4. Select no when you are asked if you would like to create directories for web-based administration.

5. When you get to the proftpd screen, select standalone.

5. Build the system

# make install

6. Copy all the directories into the system

# cp -R /tmp/ispcp/* /

7. Configure MySQL server

# mysql_secure_installation

NOTE: Do not use @ or $ or % in your Password!

1. Change the root password? [Y/n] confirm with n

3. Remove anonymous users? [Y/n] Enter

4. Disallow root login remotely? [Y/n] Enter

5. Remove test database and access to it? [Y/n] Enter

6. Reload privilege tables now? [Y/n] Enter

8. Setup the system

Change into the engine/setup directory:

# cd /var/www/ispcp/engine/setup

All questions should be self-explanatory.

Anyway if you don’t know what to answer to a specific question don’t hesitate to ask the community at the ispCP Forum:

# perl ./ispcp-setup

9. Clean the temp directory

# rm -fR /tmp/ispcp

10. That’s it!

You can now access ispCP with your preferred browser by typing the admin address you specified during the installation process.

When you are not able to access the control panel something really went wrong.

Doublecheck that you have not missed any step of this installation guide you may consider asking in the ispCP Forum for help.

How to install EHCP on CentOS

Easy Hosting Control Panel, also known as EHCP, is an open-source and powerful hosting control panel that lets you to host any websites, create email accounts, create additional (sub) domains, and create FTP accounts and many more via a web browser. It is only the first hosting control panel that provide the built-in support for nginx with PHP-FPM.

Prominent features

EHCP has many unique features compared to other control panels.

Here is the list of general Features of EHCP:

  • Full php, full opensource, easily modifiable, customazible, ehcp templates ;
  • Unlimited “resellers, panel users, domains, ftp users, emails, mysqls” ;
  • Domains, subdomains, ftp, mysql, dns (automatic), email etc. management ;
  • Password protected domains ;
  • Email forwarding, autoreply, catch-all emails ;
  • Web-stats (webalizer) ;
  • Web-ftp (net2ftp) ;
  • Easy Install Scripts/Programs (programs such as wordpress, durpal easily downloaded and copied by means of server; no need to deal with ftp etc. A total of 51 programs) ;
  • Add/setup domain & install wordpress in single step ;
  • Add domain, easy add domain, add domain to existing ftp, (use sub-ftp accounts) ;
  • Add ftp in main ftp, add custom ftp space (custom location) ;
  • Disk quota control ;
  • Custom http, custom dns, domain aliases, domain redirect ;
  • Ssl support ;
  • Different languages, templates support, a few lang/templates included ;
  • Different Menus/pages for Server Admin, Reseller, domain admin, email user ;
  • Server backup/restore ;
  • Domain transfer to another ehcp user ;
  • Simple, light, fast, host hundreds of domains in it ;
  • Free, full php, object oriented, modular, easily modifiable/extendable design ;
  • Add domain to my ftp ;
  • Add ftp with any directory under home ;
  • Add ftp with subdomain ;
  • Add ftp with subdirectory under domain name ;
  • Edit dns/apache template for a domain ;
  • Domain aliases ;
  • Email forwardings ;
  • Catch all email ;
  • Default domain settable for ehcp gui ;
  • Apache ssl support ;
  • More “easy install scripts”, a total of 30 scripts ;
  • Disk quota support ;
  • Smtp auth support ;
  • Bulk add domain feature ;
  • Separate mysql server support ;
  • And many.

Install Easy Hosting Control Panel In Ubuntu 14.04

In this How-to, we are going to setup EHCP in Ubuntu 14.04 64 bit Server. Also, It should work well on all other distributions such as Debian, RHEL and CentOS.

First, head over to EHCP download page and get the latest version of EHCP.

Or download the EHCP installation script using the following command:


Extract the downloaded file using command:

tar -zxvf ehcp_latest.tgz

Now, switch to the extracted folder and run the installation script using the following commands:

cd ehcp/
sudo ./

Read the installer instructions very carefully and follow the instructions. The installer will install all the necessary packages like Apache, MySQL, Postfix and PHP. And also during the installation it will ask you to configure some services and to enter the passwords for EHCP admin accounts. The installation will take nearly 1 hour depending upon your internet speed. Make sure you have uninterrupted Internet connection.

Press enter to continue:


--------------------EHCP PRE-INSTALLER 0.35.3 -------------------------
-----Easy Hosting Control Panel for Ubuntu, Debian and alikes--------

Now, ehcp pre-installer begins, a series of operations will be performed and main installer will be invoked. 
if any problem occurs, refer to forum section, or contact me, mail/msn:
Please be patient, press enter to continue

Again press Enter to continue:

Note that ehcp can only be installed automatically on Debian based Linux OS'es or Linux'es with apt-get enabled..(Ubuntu, Kubuntu, debian and so on) Do not try to install ehcp with this installer on redhat, centos and non-debian Linux's... To use ehcp on no-debian systems, you need to manually install.. 
this installer is for installing onto a clean, newly installed Ubuntu/Debian. If you install it on existing system, some existing packages will be removed after prompting, if they conflict with packages that are used in ehcp, so, be careful to answer yes/no when using in non-new system
Actually, I dont like saying like, 'No warranty, I cannot be responsible for any damage.... ', But, this is just a utility.. use at your own.
ehcp also sends some usage data to developer for statistical purposes
press enter to continue

Press Enter to continue:

-----------------------EHCP MAIN INSTALLER---------------------------
------Easy Hosting Control Panel for Ubuntu, Debian and alikes ------

ehcp version 0.35.3 
ehcp installer version 0.35.3

starting ehcp install, please read prompts/questions carefully !
Some install/usage info and your name/email is sent to ehcp developpers for statistical purposes and for improvements
Also note that, a reseller account of 'ehcp' is setup by default to support ehcp. you may delete it after install. (Please don't)

press enter to continue:

Enter the password for the MySQL “root” user and click OK.


Re-enter the password and click OK.


Enter your name and Email id:

Please enter your name:SK 
Please enter your/admin email (used to send your panel info, ehcp news)- Enter an already working

Enter your MySQL “root” user password which we have setup earlier. In my case, MySQL “root” user password is ubuntu:

=======> MYSQL PASSWORD SETTINGS IS VERY IMPORTANT - YOUR EHCP MAY NOT FUNCTION IF YOU MISS SOMETHING HERE.. ehcp related information will be stored in your local mysql server ==========
Enter your current MYSQL ROOT PASSWORD:ubuntu

Then, enter password for mysql user of ‘ehcp’:

Enter NEW PASSWORD for mysql user of `ehcp` (default 1234):
Please pay attention that, you cannot use sign # in your password:ubuntu

Enter the EHCP panel admin user password twice:

Enter ehcp panel admin NEW PASSWORD (default 1234):ubuntu
Enter ehcp panel admin NEW PASSWORD AGAIN:ubuntu

Enter your hostname, IP address, preferred language etc. If you want to leave defaults, just press Enter. In my case, I go with defaults.

Your hostname seems to be server, if it is different, enter it now, leave blank if correct

Hostname is set as server 
Your ip seems to be, if it is different or you want to use a different (external) ip, enter it now, leave blank if correct

ip is set as ( in ehcp, (Your server's actual ip is not changed)


ehcp currently supports English,Turkish,German,Spanish,French (some of these partial) except installation 
enter language file you want to use (en/tr/german/spanish/nl/fr/lv [default en]):

Do you want to install some additional programs which are not essential but useful for a hosting environment, such as ffmpeg,... etc.. ? Answer no if you have small ram or you need a light/fast system (y/[n])

After few minutes, you’ll be asked configure database for roundcube with dbconfig-common. Select Yes and press Enter.


Select the database used by roundcube. I select MySQL.


Enter password of the database’s administrative user:


Enter MySQL application password for roundcube:


Confirm password:


The phpmyadmin package must have a database installed and configured before it can be used. This can be optionally handled with dbconfig-common.

Select “Yes” to configure database for phpmyadmin with dbconfig-common and press Enter.


Enter password of the database’s administrative user:


Enter MySQL application password for phpmyadmin:


Confirm password:


Now, choose the web server that should be automatically configured to run phpMyAdmin. I chose Apache.

Now, It is time to select the mail server configuration type.


Select the type of your mail configuration. I go with default selection.


Enter the mail server name. If you want to use your system’s FQDN, just leave the defaults and select OK and press Enter.


Select “Yes” to create directories for web-based administration.


Press enter to create necessary SSL certificate:


Note: Skip nginx webserver installation if you are asked to install it. Because, we already chose Apache webserver in our earlier steps. Simply type “n” and press enter to skip nginx installation wherever you are asked to do.

That’s it. The installation is now complete.


Access EHCP Dashboard

Now open the EHCP web console by pointing your web browser with “http://ip-address/” or “http://localhost”.


Click on the link “Click here for the control panel on your server”.

Enter the administrative credentials. The default username is admin and the password for admin account is the one you setup during installation. If you haven’t setup any password for admin account, then the default password is 1234.


The main console window EHCP will look like below.


From here, you can create domains, users, FTP accounts and databases and email accounts for the domains.

How to install ZPanel on CentOS

In this article we will cover the steps needed for installing ZPanel on a CentOS 6 VPS.

ZPanel is a free web hosting control panel which helps tremendously in administrating a server. This panel can turn a home or professional server into a fully fledged, easy to use and manage web hosting server.

Using a control panel to administer a server is recommended for everybody that has no experience with the Linux CLI. You can manage databases, domains, FTP accounts etc… with a few clicks from the ZPanel web interface.


We will be using our SSD 1 Linux VPS Hosting plan for this tutorial.


Log in to your Linux VPS as user root and first of all make sure that all packages are up to date:

# yum -y update


We will download the ZPanel install script in the /opt directory. You are free to download the script in a directory of your choise.

# cd /opt

Let’s install some needed packages:

# yum install wget kernel-headers

Download the install script:

# wget

Make the script executable:

# chmod +x

Run it with the following command after which the ZPanel installation will begin.

# ./

The below content means that the installation is started.

package php is not installed
package httpd is not installed
package mysql is not installed
package bind is not installed
package postfix is not installed
package dovecot is not installed
Detected : CentOs  6.6  64
# Welcome to the Official ZPanelX Installer for CentOS 6.4   #
#                                                            #
# Please make sure your VPS provider hasn't pre-installed    #
# any packages required by ZPanelX.                          #
#                                                            #
# If you are installing on a physical machine where the OS   #
# has been installed by yourself please make sure you only   #
# installed CentOS with no extra packages.                   #
#                                                            #
# If you selected additional options during the CentOS       #
# install please consider reinstalling without them.         #
#                                                            #
Would you like to continue (y/n)? y

Type ‘y’ to proceed.

Next, you will be prompted with the option to set up your timezone. Select your timezone and continue with the installation.

Find your timezone from : e.g Europe/London
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
1) Africa
2) Americas
3) Antarctica
4) Arctic Ocean
5) Asia
6) Atlantic Ocean
7) Australia
8) Europe
9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.

Enter your server FQDN, your server IP address and type ‘y’ to finally start the ZPanel installation.

The installation should take some time depending on your server specification and internet connection, so feel free to grab a cup of coffee.

After everything is installed, you will be welcomed by the following:

# Congratulations ZpanelX has now been installed on your     #
# server. Please review the log file left in /root/ for      #
# any errors encountered during installation.                #
#                                                            #
# Save the following information somewhere safe:             #
# MySQL Root Password    : m4bjGbpjIM6kQRwl
# MySQL Postfix Password : hsNPDMtVFNZ3570s
# ZPanelX Username       : zadmin                            #
# ZPanelX Password       : RvplCNLcThGBWBwf
#                                                            #
# ZPanelX Web login can be accessed using your server IP     #
# inside your web browser.                                   #
#                                                            #

Restart your server now to complete the install (y/n)?

Again, type ‘y’ to restart your server after which the installation will be completed.

Now, open your favorite web browser and navigate to http://your_server_ip to access the ZPanel administration interface.

You will be welcomed by the login page. Use the value from ‘ZPanelX Username’ and ‘ZPanelX Password’ to log in.


Congratulations, you have successfully installed ZPanel on your CentOS 6 VPS.

How to install atop on CentOS

Atop is an interactive ASCII full-screen performance monitor to view the load on a Linux system. It is capable of showing the occupation  of critical hardware resources like CPU, memory, disk. It also shows which processes are responsible for the indicated load with respect to cpu- and memory load on process level.

This article will guide you though the various usages of atop.

Installing atop

You can get the latest version of atop , they offer it in a rpm package so it’s easy to install. You can use wget to download the package and yum to install it like this:

yum install atop-2.0.2-1.x86_64.rpm

atop main window

You can access atop by simply running the command like this:

# atop

And it will display the interactive screen like this:


IMPORTANT NOTE: When atop is started it starts the process accounting mechanism in the kernel, this forces the kernel to write a record with accounting information to the accounting file whenever a process ends. This means that you must ALWAYS exit atop by pressing ‘q’ or with kill -15, otherwise if you stop it with kill -9 or in any other way that doesn’t allow it to stop the accounting mechanism it will continue generate a huge file on disk.

System level information

The first part of the window shows system level activity, each system resource is shown on a line and it will be displayed only if it had any activity in the last interval (10 second by default).


The lines have the following meaning:

PRC (process) – shows the total cpu time consumed in system (‘sys’) and user (‘user’) mode, total number of processes running (‘#proc’), total number of threads running (‘#trun’), sleeping interruptible (‘#tslpi’), sleeping uninterruptible (‘#tslpu’), number of zombie processes (‘#zombie’), number of clone system calls (‘clones’) and the number of processes that ended during the interval (‘#exit’)

CPU – contains the percentage of cpu time spent by all active processes (‘sys’), percentage of cpu time consumed in user mode (‘user’), percentage of cpu time spent for interrupt handling (‘irq’), percentage of unused cpu time while no processes were waiting for disk-I/O (‘idle’) and the percentage of unused cpu time while at least one process was waiting for disk-I/O (‘wait’) current frequency (‘curf ’) and the current scaling percentage (‘curscal’).

CPL (CPU load) – shows the load average figures reflecting the number of threads that are available to run on a CPU, these figures are averaged over 1 (‘avg1’), 5 (‘avg5’) and 15 (‘avg15’) minutes, the number of context switches (‘csw’), the number of serviced interrupts (‘intr’) and
the number of available CPUs are shown.

MEM (Memory) – contains the total amount of memory (‘tot’), the amount of memory which is currently
free (‘free’), the amount of memory in use as cache (‘cache’), the amount of memory within the cache that has to be flushed to disk (‘dirty’), the amount of memory used for filesystem meta data (‘buff’), the amount of memory being used for kernel mallocs (‘slab’), the resident size of shared memory including tmpfs (‘shmem‘), the resident size of shared memory (‘shrss‘).

SWP (Swap occupation) – contains the total amount of swap space on disk (‘tot’) and the amount of free swap space (‘free’), the committed virtual memory space (‘vmcom’) and the maximum limit of the committed

LVM/MDD/DSK (Logical volume/multiple device/disk utilization) – each device will produce one line and it will show the time that the unit was busy handling requests (‘busy’), number of read requests issued (‘read’), number of write requests issued (‘write’), number of MiBytes per second throughput for reads (‘MBr/s’), number of MiBytes per second throughput for writes (‘MBw/s’), the average queue depth (‘avq’) and the average number of milliseconds needed by a request (‘avio’) for seek, latency and data transfer.

NET (Network utilization) – it shows one line for TCP/UDP, one line for the IP layer and one line per active interface.

For the TCP/IP it shows the number of received TCP segments (‘tcpi’), number of transmitted TCP segments (‘tcpo’), number of UDP datagrams received (‘udpi’), number of UDP datagrams transmitted (‘udpo’), number of active TCP opens (‘tcpao’), number of passive TCP opens (‘tcppo’), number of TCP output retransmissions (‘tcprs’) and number of TCP input errors (‘tcpie’).

For the IP layer it shows the number of IP datagrams received from interfaces (‘ipi’), number of IP datagrams that local higher-layer protocols offered for transmission (‘ipo’), number of received IP datagrams which were forwarded to other interfaces (‘ipfrw’), number of IP datagrams which were delivered to local higher-layer protocols (‘deliv’), number of received ICMP datagrams (‘icmpi’), and the number of transmitted ICMP datagrams (‘icmpo’).

For every active network interface it shows the name of the interface and its busy percentage in the first column (‘busy’), number of received (‘pcki’) and transmitted packets (‘pcko’), effective amount of bits received (‘si’) and transmitted per second (‘so’), number of collisions (‘coll’), number of received multicast packets (‘mlti’), number of errors while receiving a packet (‘erri’), number of errors while transmitting a packet (‘erro’), number of received (‘drpi’) and transmitted (‘drpo’) packets dropped .

If the screen-width does not allow all of these counters, only a relevant subset is shown.

Process level information


In the second part of the application, the processes are shown from which the resource utilization has
changed during the last interval. These processes might have used cpu time or issued disk or network

You can use a few interactive keys to change the display of the process if you wish to get more detailed information:
g – generic output (default)
m – memory related information
d – disk related information
n – network related information
v – various process characteristics
c – command line of the process
u – process activity accumulated per user


atop uses colors to indicate that a critical occupation percentage has been reached. A critical occupation percentage means that is likely that this load causes a noticable negative performance influence for applications using this resource.



You can also output the information provided by atop to the command line or another file, this is useful if you want to use it in a script or want to see directly some information. To do this you can use the -P switch followed by one of the fields name like this:


This covers the most uses of atop and as you can see it’s a very versatile application that can help you diagnose the system performance at any time.

How to install Kloxo on CentOS

Kloxo-MR is free and open source hosting control panel. It can be easily installed and it is pretty simple to use. Today we will show you how to install it on a Linux VPS.

To install Kloxo-MR you need to have Redhat/CentOS 5 or 6 (32bit or 64bit) installed on your Linux VPS. Our recommendation is to select CentOS 6 64bit. For this tutorial we are going to use CentOS VPS with CentOS 6 64bit installed.

First, let’s update all your system software to the latest version available using the yum package manager.

yum update

Once the update of your system is completed, you can proceed with the installation of the required packages. The required packages can be installed with the command below:

yum install yum-priorities yum-utils wget curl subversion

Next, you need to add the Kloxo-MR repo to the repository list so you can install Kloxo-MR using the package manager. Please execute the following commands:

wget --no-check-certificate
rpm -ivh mratwork-release-0.0.1-1.noarch.rpm

Clean the downloaded packages and headers using the command:

yum clean all

Now you are ready to install Kloxo-MR hosting panel. For that purpose, you need to execute the following commands one by one:

yum update mratwork-*
yum install kloxomr
sh /script/upcp

Once the installation is completed, you can open the web browser you prefer and enter one of the following web addresses:


You should enter the first address if you like to obtain a secure connection. We strongly recommend this option. Please do not forget to replace the IP-ADDRESS with the IP address of your CentOS VPS.

Your web browser will navigate you to the log in screen. Here, you need to enter your Kloxo-MR log in credentials. Enter ‘admin’ as username and ‘admin’ as password. These credentials are default, so after you log in to your hosting control panel you should change your password immediately. This should be done for security reasons.

Here are some of the Kloxo-MR features which you can start using:

Web server: Httpd, Nginx and Lighttpd
Database: MySQL and MariaDB
Database Manager: PHPMyAdmin, Adminer, MyWebSql etc.
DNS Server: Bind, Djbdns, Powerdns etc.
Webmail: Roundcube, Squirrelmail, Afterlogic Webmail Lite, Horde, Rainloop etc.
FTP server: Pure-ftpd
Addons: ClamAV, RKHunter, Spamassassin etc.
Billing: WHMCS, HostBill, Blesta etc.

How to install Ajenti on CentOS

Are you looking for a great alternative to Webmin, Kloxo and VestaCP? Well, search no more, because Ajenti is a excellent, lightweight and powerfull web-based server administration panel. It is a very intuitive, multilingual free control panel which manages almost every aspect of your server.

Ajenti provides fast and responsive web interface for managing your server, whether you have a Linux VPS (Virtual Private Server) or a Dedicated server. It is built with many pre-made plugins for configuring and monitoring server software and services. To mention few: Apache, Cron, File System, Firewall, MySQL, FTP and many other tools like File Manager, Code Editor for developers and Terminal access.
You will barely need to login to a command line interface either using Putty or Terminal if you have this control panel installed on your server.

Ajenti is just like Webmin because it provides only features to manage your server. It doesn’t come bundled with ready-to-use LAMP stack. For that purpose you will need to install Ajenti V, a plugin suite for the core Ajenti, which adds fast, efficient and easy-to-setup web hosting capabilities by installing pro stack: Nginx as web server, PHP-fpm, MySQL, Exim 4 and Courier IMAP, etc. We will cover that as well in this tutorial.

Ajenti is written in Python, running as its own process and web server. It defaults to TCP port 8000 for communicating, and is configured to use SSL with an automatically generated self-signed SSL certificate by default.

In this guide we will use CentOS 6.5 VPS.

Login to your server as user ‘root’ :

# ssh root@hostname

Update your CentOS 6.5 VPS using the yum package manager.

# yum update -y
# yum upgrade -y

We need to enable EPEL repo because Ajenti package is not available by default.
Enter the following commands:

# wget
# rpm -ivh epel-release-6-8.noarch.rpm

Done. We added the EPEL repo on our server.

Next, we need to download and install Ajenti’s official repository by using the following commands:

# wget
# rpm -i ajenti-repo-1.0-1.noarch.rpm

Now, let’s install Ajenti Control Panel.

# yum install ajenti -y
# service ajenti restart

Done, we have installed Ajenti.
But since we also want to have Nginx, PHP-fpm, Exim etc… we need to install the Ajenti V plugin suite.

Ajenti V comes in form of small packages.
Currently available packages include:

ajenti-v (main package)
ajenti-v-mail (Exim and Courier mail)
ajenti-v-mysql (MySQL DB support)
ajenti-v-php-fpm (PHP support via PHP-FPM)
ajenti-v-ruby-unicorn (Rails support via Unicorn)
ajenti-v-ruby-puma (Rails support via Puma)
ajenti-v-ftp-pureftpd (FTP support via PureFTPd)
ajenti-v-nginx (NGINX webserver support)
ajenti-v-python-gunicorn (Python WSGI support via gunicorn)
ajenti-v-nodejs (Node.js support)

If you have Apache or Postfix/Sendmail installed and you don’t use them, remove them first.

# yum remove httpd postfix sendmail

Install Ajenti-V with the packages according to your needs.

# yum install ajenti-v ajenti-v-nginx ajenti-v-mail ajenti-v-mysql ajenti-v-php-fpm php-mysql

Common issues:

If you get a ‘[Errno -1] Package does not match intended download’ error you will need to clean the metadata.

# yum clean metadata

Then proceed with the installation.

# yum install ajenti-v ajenti-v-nginx ajenti-v-mail ajenti-v-mysql ajenti-v-php-fpm php-mysql

Usually, CentOS blocks port 8000 with firewall. Run the following to unblock port temporarily.

# iptables -A INPUT -p tcp --dport 8000 -j ACCEPT

We have successfully installed Ajenti control panel with it’s plugin suite Ajenti-V.
The Ajenti control panel will be available on HTTPS port 8000 by default. Open your favorite browser and navigate to or https://server-ip:8000.
The default username is root, and the password is admin.

Of course you don’t have to do any of this if you use one of our Linux VPS Hosting services, in which case you can simply ask our expert Linux admins to install Ajenti for you. They are available 24×7 and will take care of your request immediately.

PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.

How to install ISPConfig on CentOS


ISPConfig is a hosting control panel to manage one or many web-servers, mail-servers, BIND DNS servers, MySQL databases and virtual servers though an easy-to-use, simple web-interface for admins, resellers, and clients.

This tutorial will guide you through installing:

  • ISPConfig
  • Apache 2.2
  • MySQL 5.1
  • PHP 5.3

The following guide assumes a clean install of CentOS 6 x64 running on a Vultr VPS.

Install prerequisites

First, ensure that the system is up to date.

yum update

Install Apache.

yum install httpd mod_ssl

Install PHP.

yum install php mod_fcgid

Install MySQL.

yum install mysql mysql-server php-mysql

On production servers, you should secure the MySQL installation because the default password is blank.


Set MySQL to start automatically.

/sbin/chkconfig --levels 235 mysqld on

Start MySQL and Apache to ensure that the installation was successful.

service mysqld start
service httpd start

Install ISPConfig

Download ISPConfig.


Extract the archive.

tar -xzf ISPConfig-


cd ispconfig3_install/install/
php -q install.php


The ISPConfig installer will ask you a few questions.

  1. Select language:
     English is the default.
  2. Installation mode:
    Choose standard to follow along with this guide.
  3. Enter your fully qualified host name:
    Your server's hostname.
  4. MySQL server hostname:
    Leave default.
  5. MySQL root username:
    Leave blank unless you secured MySQL previously.
  6. MySQL root password:
    Leave blank unless you secured MySQL previously.
  7. MySQL database to create:
    Leave default for a standard install.
  8. MySQL charset:
    Default, unless you have a need otherwise.
  9. Certificate information, can be left as defaults:
    Country Name (2 letter code) [XX]:
    State or Province Name (full name) []:
    Locality Name (eg, city) [Default City]:
    Organization Name (eg, company) [Default Company Ltd]:
    Organizational Unit Name (eg, section) []:
    Common Name (eg, your name or your server's hostname) []:
    Email Address []:
  10. ISPConfig port:
    Default is fine.
  11. Do you want a secure (SSL) connection to the ISPConfig web interface:
    Strongly advised to choose "yes". If you choose to use SSL, fill out a second set of certificate information, all of which can be left as defaults.

Final notes

Installation is complete and ISPConfig will be accessible through your web browser.

  • Standard HTTP: http://[SERVER_IP]:8080
  • SSL version: https://[SERVER_IP]:8080

How to install plesk on CentOS

What is Plesk?

Plesk is one of the widely used web hosting control panels in the web hosting business. It offers simple server and website management solutions with single-click mechanisms. Plesk consists of webserver suite (LAMP), Mail server, FTP Server, Name Server applications etc.

Plesk is a an enterprise hosting control panel and it requires license to work effectively. They also offers 15 day trial license which is intended for testing purposes.

One amazing advantage of Plesk is that it can be installed in both Windows and Linux servers.

Installing Plesk on a Centos Server

In this tutorial, we will go through how Plesk can be installed in a CentOS server. It is is actually a simple process with just three steps.

Step 1) Remove all the existing instances of Apache, PHP, Cyrus and MySQL and disable SELinux

Before proceeding with the installation steps, we need to remove the existing instances of Apache, MySQL, Cyrus and PHP.

Open the terminal and run the following commands.

yum remove http*

yum remove php*

yum remove cyrus*

yum remove mysql*

To disable SELinux, run the folowing command

setenforce 0

This is the pre-requisites that is required for installing Plesk.

Step 2) Download the Plesk one click Installer script and run the script

Change the working directory to the installation directory.

cd /usr/local/src

Download the ons click installer script with wget command and execute it.

wget -O – | sh

This will install all the packages that comes along with Plesk.

Step 3) Run the Installation/Configuration wizard from browser

Access the the URL: http://hostname_or _IPAddress:8443 in the browser (eg: and login to the control panel as root user.

This will fetch the License agreement page and check the tick box to agree the terms and conditions and proceed to the next page.


Then comes the Settings page. Here you need to enter the admin panel login credentials with which you  can login to the Plesk control panel.

You can also set the default IP address of the server here in this page.

Next is the View Selector page. In this page you can choose the appearance of the panel as per your requirement.


Next is the Administrator information page. You just need to fill in the information asked and proceed to the next page.


Then comes the Licence key install page.  You can order, retrieve and install the License key from this page. Since I have already purchased a trial license key for this example installation, I’m proceeding with installing the license key.


Upload the license key file you received from Odin or Parallels when you purchased the key and Click OK. In the next page you can add the first domain or website in the Plesk admin panel.

I have added a test domain with the Hostname, you may replace it with the actual domain name.


Add the information and click OK. In the above screenshot I’ve used example domain, and set the user name as ‘admin’. You may change it to the desired user name as ‘admin’ would be the administrator user name.

Plesk installation process is complete and you may play around with the unlimited options it provides to get familiarise yourself with the control panel.

How to install WHM/cPanel on CentOS 7

Recently on September,2015   and 11.50 has been released, After such a long time  in this version of & WHM having  support for   /   Version  on fresh installations. WHM / webhosting is the best software to manage website hosting server , email , domain and security management, which can be install  in virtual private server (VPS )  as well as on cloud hosting server  and dedicated server . This control panel is  using  most of users, client and companies and it is premier web hosting automated software used by world wide.


cPanel License you can get from here .  cPanel License

Here in this article we will discuss about latest cPanel & WHM Version 11.50 feature and prerequisites and installation on fresh CentOS 7  / RHEL 7 Version.

Latest Features of cPanel  & WHM webhosting 11.50

  • CentOS , CloudLinux , and RHEL 7 support
  • Use the XFS  or ext4 filesystems.
  • Less booting time
  • Greylisting feature : which protect server from unwanted emails and untrusted email servers .

Installation Recommended settings 

  • Disable OS Firewall before installation .
  • Recommended Hardware :
  • Minimum & Recommended Processor should be 226MHZ
  • Minimum RAM should be 1 GB.
  • Minimum Disk Space should be 20 GB .

Installation of cPanel in CentOS 7 / RHEL 7 /

  • Before doing cpanel & WHM installation first ensure your OS Version , RAM and diskspace.

Requirement Check :

Below command for check OS , RAM and diskspace.

Version check Command :

root@techtransit [~]# cat /etc/redhat-release

CentOS Linux release 7.1.1503 (Core)


Disk Space Check :

root@techtransit[~]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/xvda1      100G  6.8G   94G   7% /

devtmpfs        903M     0  903M   0% /dev

tmpfs           920M     0  920M   0% /dev/shm

tmpfs           920M   17M  904M   2% /run

tmpfs           920M     0  920M   0% /sys/fs/cgroup

Memory Check :

root@cpanel [~]# free -m

total        used        free      shared  buff/cache   available

Mem:           1839         651         163          16        1024        1020

Swap:             0           0           0


Deactivate firewall on CentOS 7 , CloudLinux 7 and RHEL 7 :

iptables-save > ~/iptables.rules    systemctl stop firewalld.service    systemctl disable firewalld.service


[root@ip-techtransit~]# systemctl stop firewalld.service

Failed to issue method call: Unit firewalld.service not loaded.

[root@techtransit ~]# systemctl disable firewalld.service

[root@techtransit ~]# systemctl mask firewalld.service

ln -s ‘/dev/null’ ‘/etc/systemd/system/firewalld.service’


Disable Security Enhanced Features ( SELinux ) :

If your server running SELinux Features of security, then disable this features .

To disable , run the below command.

Edit the configuration file /etc/selinux/config and set the parameter SELINUX to disabled, below is my configuration file , after set the parameter you need to reboot the server.

# vim /etc/selinux/config
# This file controls the state of SELinux on the system.    # SELINUX= can take one of these three values:    #     enforcing - SELinux security policy is enforced.    #     permissive - SELinux prints warnings instead of enforcing.    #     disabled - No SELinux policy is loaded.    SELINUX=permissive    # SELINUXTYPE= can take one of these two values:    #     targeted - Targeted processes are protected,    #     minimum - Modification of targeted policy. Only selected processes are protected.    #     mls - Multi Level Security protection.    SELINUXTYPE=targeted

Installation set up steps :

cPanel installation need perl package , so we need to install perl before instaalation .

#yum install perl

After installation of perl, set the hostname of server , the hostname should be in FQDN i.e fully qualified domain name. Below is steps to set hostname in Centos / RHEL 7.

Below command to check  hostname of server :

# hostnamectl

To set hostname :

#hostnamectl set-hostname


Output will be like below :

root@cpanel [~]# hostnamectl

Static hostname:

Icon name: computer-vm

Chassis: vm

Machine ID: f9afeb75a5a382dce8269887a67fbf58

Boot ID: 3878d69a81024ebc83291fb2e337ee0a

Virtualization: xen

Operating System: CentOS Linux 7 (Core)

CPE OS Name: cpe:/o:centos:centos:7

Kernel: Linux 3.10.0-229.11.1.el7.x86_64

Architecture: x86_64 [/box]

Install cPanel/WHM

Now we will download cpanel script on home directory of server ,  which will install cpanel & WHM  .Follow below steps for installation.

# cd /home    # curl -o latest -L    # sh latest



2015-09-18 12:30:53 196 ( INFO): cPanel install finished in 54 minutes and 41 seconds!  2015-09-18 12:30:53 738 ( INFO): Congratulations! Your installation of cPanel   & WHM 11.50  is now complete. The next step is to configure your server.  2015-09-18 12:30:53 738 ( INFO):  2015-09-18 12:30:53 738 ( INFO): Before you configure your server, ensure   that your firewall allows access on port 2087.  2015-09-18 12:30:53 738 ( INFO): On RHEL, CentOS, and CloudLinux systems,  execute /scripts/configure_firewall_for_cpanel to accomplish this.  2015-09-18 12:30:53 738 ( INFO):  2015-09-18 12:30:53 738 ( INFO): After ensuring that your firewall allows access   on port 2087, you can configure your server.  2015-09-18 12:30:53 738 ( INFO):  2015-09-18 12:30:53 738 ( INFO): 1. Open your preferred browser  2015-09-18 12:30:53 738 ( INFO):  2015-09-18 12:30:53 738 ( INFO): 2. Type in the address bar  2015-09-18 12:30:53 738 ( INFO):  2015-09-18 12:30:53 738 ( INFO): 3. Enter the word root in the Username text box  2015-09-18 12:30:53 738 ( INFO):  2015-09-18 12:30:53 738 ( INFO): 4. Enter your root password in the Password text box  2015-09-18 12:30:53 738 ( INFO):  2015-09-18 12:30:53 738 ( INFO): 5. Click the Login button  2015-09-18 12:30:53 738 ( INFO):  2015-09-18 12:30:53 738 ( INFO): Visit for more  information about first-time configuration of your server.  2015-09-18 12:30:53 738 ( INFO):  2015-09-18 12:30:53 738 ( INFO): Visit or   for additional support  2015-09-18 12:30:53 738 ( INFO):  2015-09-18 12:30:53 738 ( INFO): Thank you for installing cPanel & WHM 11.50!

Now script will run some hours and after installation you will get some output  like , time taken in installation as well as server access url and access details, you will use in login root as a user and use password of root user.

You will get WHM access like below url.


https://your –server-public-ip:2087/    OR    https://server-hostname:2087/

How to install WHM/cPanel on CentOS 6

cPanel is one of the most popular Commercial control panel for Linux web hosting, I have been working with cPanel for 2+ years to manage all Shared, Reseller and business hosting customers. It comes with cPanel and Web Host Manager, which makes web hosting easier for you. WHM provides you root level access to your server whereas cPanel provides user level access interface to manage their own web hosting account on the server.


Features of cPanel

cPanel control panel is very versatile control panel for managing your hosting servers, It has lots of features which make Web hosting easier for you. Some of them are listed below:

  1. Powerful GUI controls on your server with WHM.
  2. Can perform tedious tasks like Backups, Migrations and restorations in a very easy and smooth manner.
  3. Excellent DNS and mail server management for main server and as well as client account.
  4. Can easily switch/enable/disable services for server.
  5. Can configure SSL/TLS for all server services and client domains.
  6. Easy integration with Phpmyadmin to provide a web based interface to manage your MySQL databases.
  7. Feel free to Rebrand it.
  8. Can be easily integrated with WHMCS to automate billing management.

Here In this article, We’ll be covering cPanel & WHM installation on RHEL/CentOS 6.5 and share some more useful information which will help you to manage cPanel & WHM.

Installation Prerequisites

  1. A fresh and running VPS or dedicated CentOS 6.5 server.
  2. A minimum of 384MB RAM.
  3. A Minimum 20GB of free disk space required for cPanel installation.
  4. A cPanel license.

Installation of cPanel in RHEL/CentOS 5/6

First insure that OS version on which your Linux box is running, To do so, please use following command.

[root@tecmint ~]# cat /etc/redhat-release
CentOS release 6.4 (Final)

If you don’t have the latest version, please update your OS to its latest version, In CentOS and RHEL, we can simply do it with yum package installer.

[root@server1 ~]# yum update

Once updates completes, and then check the latest OS version with same above command.

[root@server1 ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)

Once you’ve ensured the OS version, you don’t have to install any other dependency package cPanel auto installer script does all for you. We can download cPanel installer file with wget command under /homedirectory.

root@server1 [~]# cd /home
root@server1 [~]# wget -N
Sample Output
--2013-12-18 21:59:23--
Resolving,,, ...
Connecting to||:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 34087 (33K) [application/octet-stream]
Saving to: `latest'
100%[======================================>] 34,087      42.5K/s   in 0.8s
2013-12-18 21:59:24 (42.5 KB/s) - `latest' saved [34087/34087]

In above output you can see that we have downloaded a file “latest” in our home directory.

Next, execute the auto installer script, but we strongly recommended to run cPanel auto installer script in screen mode if you are doing it with SSH because it takes 3-4+ hours to complete the installation depending on your server resources.

root@server1 [~]# sh latest
Sample Output
Verifying archive integrity... All good.
Uncompressing cPanel & WHM Installer..............
____                  _
___|  _ \ __ _ _ __   ___| |
/ __| |_) / _` | '_ \ / _ \ |
| (__|  __/ (_| | | | |  __/ |
\___|_|   \__,_|_| |_|\___|_|
Installer Version v00029 r6849459174e3809f72de2bef81427a8a45399d66
Beginning main installation.

Now, you need to wait for the cPanel installer script to complete its installation.

What Auto Installer Script Does for You

cPanel heavily modifies your operating system and that is the reason that no cPanel Uninstaller available on the web so far, you need to reformat your server to remove cPanel completely from your server.

  1. It checks for various packages to ensure that there will be no conflicts and it finds any package conflict, it uninstalls previous packages with yum and that’s why its recommended to install cPanel on a Fresh OS.
  2. Downloads language and base files for installation.
  3. Installs various Perl modules through CPAN and other required packages with yum.
  4. Downloads and compiles PHP and Apache with various associated modules.

Once that script completes its installation, it will shows up that cPanel installation is complete. You may be asked to reboot the server after installation.

After that you need to complete the installation wizard from its web based interface and you can access WHM with the following URL.