How To Install CentOS Web Panel In CentOS

About CentOS Web Panel

There are so many free and paid Control panels available nowadays. We will, today, discuss about CentOS Web panel(CMP), specially designed for RPM based distributions like CentOS, RHEL, Scientific Linux etc. CWP is a free, Open Source control panel that can be widely used for deploying a Web hosting environment easily. Unlike other Control panels, CWP is automatically deploy the LAMP stack with Varnish Cache server.

Features

CWP comes with lot of features and free services. As I mentioned before, CWP automatically installs full LAMP stack (apache, php, phpmyadmin, webmail, mailserver etc.) on your server.

Here is the complete list of features and software that will be automatically installed and configured during CWP installation.

List of softwares to be installed and configured during CWP installation:

  • Apache Web Server
  • PHP 5.4
  • MySQL + phpMyAdmin
  • Postfix + Dovecot + roundcube webmail
  • CSF Firewall
  • File System Lock (no more website hacking, all your files are locked from changes)
  • Backups; AutoFixer for server configuration

3rd Party Applications:

  • CloudLinux + CageFS + PHP Selector
  • Softaculous – Script Installer (Free and Premium)

Web Server:

  • Varnish Cache server
  • Compiles Apache from source
  • Apache reCompiler + Additional modules
  • Apache server status, configuration
  • Edit apache vhosts, vhosts templates, include configuration
  • Rebuild all apache Virtual hosts
  • suPHP & suExec
  • Mod Security + OWASP rules
  • Tomcat 8 server management
  • DoS protection
  • Perl cgi script support

PHP:

  • Compiles PHP from source
  • PHP Switcher (switch between PHP versions like: 5.2, 5.3, 5.4, 5.5)
  • PHP Selector select PHP version per user or per folder (PHP 4.4, 5.2, 5.3, 5.4, 5.5, 5.6)
  • Simple php editor
  • Simple php.ini generator in the users panel
  • PHP addons
  • PHP.ini editor & PHP info & List modules
  • php.ini per user account
  • FFMPEG, For Video streaming websites
  • CloudLinux + PHP Selector

User Management

  • Add, List, Edit adn Remove Users
  • User Monitoring
  • Shell access management
  • User Limit Managment
  • Limit Processes
  • Limit Open Files
  • User FTP & File Manager
  • CloudLinux + CageFS
  • Dedicated IP per account

DNS:

  • FreeDNS
  • Add, Edit, List and Remove DNS zones
  • Edit nameserver IPs
  • DNS zone template editor
  • New Easy DNS Zone Manager (with ajax)
  • New DNS Zone list with Additional resolving information using google (also checking rDNS, nameservers….)

Email:

  • Postfix & dovecot
  • MailBoxes, Alias
  • Roundcube webmail
  • Postfix Mail queue
  • rDNS Checker Module
  • AntiSPAM
  • SPF & DKIM Integration
  • Re-Build Postfix/Dovecot Mail server with AntiVirus, AntiSpam Protection
  • Email Auto Responder

System:

  • CPU core and clock info
  • Memory usage info
  • Detailed Disk status
  • Software Info like kernel version, uptime etc.
  • Services Status
  • ChkConfig Manager
  • Network port usage
  • Network configuration
  • SSHD configuration
  • Auto-Fixer (checks important configuration and tries to auto-fix issues)

Monitoring:

  • Monitor services eg. top, apache stats, mysql etc.
  • Use Java SSH Terminal/Console within panel
  • Services Configuration (eg. Apache, PHP, MySQL etc)
  • Run shell commands in screen/background

Security:

  • CSF Firewall
  • SSL generator
  • SSL Certificate Manager
  • CloudLinux + CageFS

SQL:

  • MySQL Database Management
  • Add local or remote access user
  • Live Monitor MySQL process list
  • Create, Remove database
  • Add additional users per database
  • MySQL server configuration
  • PhpMyAdmin
  • PostgreSQL, phpPgAdmin Support

Additional options:

  • TeamSpeak 3 Manager
  • Shoutcast Manager
  • Auto-update
  • Backup manager
  • File Manager
  • Virtual FTP users per domain
  • cPanel Account Migration (restores files, databases and database users)
  • And many more.

Install CentOS Web Panel In CentOS 6

At the time writing this tutorial, CWP only supports upto CentOS 6.x versions. It doesn’t work on CentOS 7 and later versions.

Prerequisites:

Before installing CWP, you must know the following information:

  • CWP only supports static IP addresses. It does not support dynamic, sticky, or internal IP addresses.
  • CWP doesn’t has an uninstaller. After you install CWP, you must reinstall the server to remove it.
  • Only install CWP on a freshly installed operating system without any configuration changes.
  • Need atleast 512MB RAM for 32 bit systems.
  • 1024MB for 64 bit systems.
  • Need 4GB RAM or more to deploy all modules.
  • At least 20GB or hard disk space is required.

For testing purpose in VirtualBox, 640MB RAM and 10GB hdd space is enough.

Update server:

Install wget package first. This is needed to download CWP.

yum install wget -y

Update your server using command:

yum update -y

Reboot once to take effect the changes.

Install CWP:

Change to /usr/local/src/ directory:

cd /usr/local/src

Download latest CWP version with command:

wget http://centos-webpanel.com/cwp-latest

If the above URL doesn’t work, use the following link instead.

wget http://dl1.centos-webpanel.com/files/cwp-latest

Then, start CWP installer using command:

sh cwp-latest

Sample output:

root@server:-usr-local-src_001

root@server:-usr-local-src_002

The installation will take upto 30 minutes or more depending upon your Internet speed.

Finally, you’ll see the installation completed message like below. Note down the details such as mysql root user password and login URLs of CWP. You”ll need them later. Then Press Enter key to reboot your system.

root@server:-usr-local-src_004

After booting into the system, you will see the CWP welcome login message.

CentOS 6.5 Minimal [Running] - Oracle VM VirtualBox_006

Adjust Firewall/Router:

The CWP default web console ports are 2030(http) and 2031(https). You should allow the both ports through firewall/Router in order to access the CWP web console from a remote system.

To do that, edit:

vi /etc/sysconfig/iptables

Add the following lines:

[...]
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2030 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2031 -j ACCEPT
[...]

Save and close the file. Restart iptables service to take effect the changes.

service iptables restart

Accessing CWP Web Console

Open up your browser and type:

http://IP-Address:2030/

Or

https://IP-Address:2031/

You will see the following like screen.

The login credentials are:

  • Username: root
  • Password: your root password

Login | CentOS WebPanel - Mozilla Firefox_007

This is how CWP dashboard will look:

CWP.admin - Mozilla Firefox_008

Congratulations! CWP has been successfully has been installed.

CWP Basic Configuration

Next, we have to do couple of things such as:

  1. Setup nameservers
  2. Setup shared ip (must be your public IP address)
  3. Setup at least one hosting package (or edit default package)
  4. Setup root email, etc.

Setup nameservers:

To setup nameservers, go to DNS Functions -> Edit nameservers IPs.

CWP.admin - Mozilla Firefox_009

Set your nameservers and click Save changes button.

CWP.admin - Mozilla Firefox_010

Setup Shared IP And Root mail ID:

This is important step to host websites on your host. To setup shared IP, go to CWP Settings -> Edit settings.

CWP.admin - Mozilla Firefox_011

Enter your Static IP and Email ID, and Click Save settings button.

CWP.admin - Mozilla Firefox_012

Now, CWP is ready to host websites.

Setup hosting package:

A hosting package is nothing but a Web hosting plan that consists of allowed diskspace, bandwidth, no of FTP accounts, no of email ids, and no of databases etc. You can setup any number of web hosting plans as your wish.

To add a package, go to Packages – Add a Package from the CWP console.

CWP.admin - Mozilla Firefox_013

Enter the name of the package, amount of Diskquota/RAM allowed, FTP/Email accounts, Databases, and subdomains etc. Click Save settings button to create the web hosting plan.

CWP.admin - Mozilla Firefox_014

Now, CWP is ready to host your domains.

Adding Domains:

To create a new Domain, you to have at least one user account.

To add a user, go to User Accounts -> New Account.

Enter the domain(ex.unixmen.com), username, password and Email id etc. Finally, click Create.

CWP.admin - Mozilla Firefox_016

Now, let us add a new domain.

To add a domain, go to Domains -> Add Domain.

Enter the Domain and assign the domain the users of your choice.

CWP.admin - Mozilla Firefox_017

Conclusion

In this tutorial, we have seen how to install and configure CentOS Web Panel to create a simple web hosting environment. CWP is very simple to install and use. Even a novice user can create a basic web hosting server in a couple of hours. Also, CWP is completely free to use and open source. Give it a try! You won’t be disappointed.

You can find the more details about CWP in the CentOS Web Panel Wiki page.

Cheers!

  • Latif

    HI nice tutorial.. I have one question can I use this CWP only for my DNS server . i use this only for my NS server entries. Please suggest

  • Dominik

    Hi, thanks for your excellent tutorial and really needed effort and i repaired myself 500 internal server error in the htdocs folder should be the correct html file or php.