What is a good free control panel for VPS

Anyone with a reasonable level of Linux skills knows that no control panel can beat the plain-old command line interface for managing a virtual private server (VPS). One can still argue that there is a place for a good server control panel though, due to the streamlined interface for getting routine administration tasks done easily with a few mouse clicks.

As far as control panels are concerned, even with the feature-rich commercial control panels with all the bells and whistles, there are viable free open-source alternatives which can be as powerful and versatile. Standing out among them is Ajenti server administration panel.

Ajenti allows you to easily configure a variety of common server programs such as Apache/nginx, Samba, BIND, Squid, MySQL, cron, firewall, and so on, making it a great time saver for administering common VPS instances. For production environments, Ajenti also offers add-ons and platform support for virtual web hosting management and custom web UI development.

Ajenti comes with a dual license; It is free to use (AGPLv3) for your personal servers, a company's internal hardware boxes, or educational institutions. However, if you are a hosting company or a hardware vendor, you need to purchase a commercial license to use Ajenti as part of commercial offerings.

Install Ajenti on Linux

For easy of installation, Ajenti offers its own repository for major Linux distros. All it takes to install Ajenti on Linux is to configure a target repository and install it with a default package manager.

Upon installation, a RSA private key and certificate will be automatically generated for SSL, and Ajenti will listen on HTTPS port 8000 for secure web access. If you are using firewall, you need to allow TCP/8000 port in the firewall. For security, it is a good idea to block access to port 8000 by default, and add only selected few IP addresses to the white list.

Install Ajenti on Debian

$ wget http://repo.ajenti.org/debian/key -O- | sudo apt-key add -
$ sudo sh -c 'echo "deb http://repo.ajenti.org/debian main main debian" >> /etc/apt/sources.list'
$ sudo apt-get update
$ sudo apt-get install ajenti

Install Ajenti on Ubuntu

$ wget http://repo.ajenti.org/debian/key -O- | sudo apt-key add -
$ sudo sh -c 'echo "deb http://repo.ajenti.org/ng/debian main main ubuntu" >> /etc/apt/sources.list'
$ sudo apt-get update
$ sudo apt-get install ajenti

Install Ajenti on CentOS/RHEL or Fedora

On CentOS/RHEL, configure EPEL repository first, and then run the following. On Fedora, use the following commands directly.

$ wget http://repo.ajenti.org/ajenti-repo-1.0-1.noarch.rpm
$ sudo rpm -ivh ajenti-repo-1.0-1.noarch.rpm
$ sudo yum install ajenti

Next, configure the firewall.

On Fedora or CentOS/RHEL 7:

$ sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent
$ sudo firewall-cmd --reload

On CentOS/RHEL 6:

$ sudo iptables -I INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
$ sudo service iptables save

Access Ajenti Web Interface

Before accessing Ajenti's web interface, make sure to start ajenti service.

$ sudo service ajenti restart

Direct your web browser to https://<server-ip-address>:8000, and you will see the following Ajenti login interface.

The default login credential is "root" for username and "admin" for password. Once you log in, you will see the initial Ajengi menu.

Under "SOFTWARE" section in the left panel, you will see a list of installed services. When you install any new server software supported by Ajenti, the software will be automatically added to the list once you restart ajenti service.

$ sudo service ajenti restart

VPS Management via Ajenti Web Interface

Ajenti's web interface is extremely intuitive and easy to use. Here are a few examples of Ajenti functionality.

Pluggable Architecture

Ajenti comes with a number of application-specific plugins, which makes Ajenti highly extensible. When you install a new software on your VPS, a corresponding Ajenti plugin (if any) will be automatically enabled to manage the software. The "Plugins" menu will show what plugins are available/enabled, and which plugin is associated with what software.

Package Management

Ajenti offers a web interface for installing and upgrading packages on VPS.

Firewall Configuration

Ajenti allows you to manage firewall rules (iptables or CSF) in two ways. One is to use a user-friendly web panel interface, and the other is to edit raw firewall rules directly.

Log Inspection

You can browse system logs in /var/log via Ajenti's web interface.

Process Monitoring

You can see a list of processes sorted by CPU or RAM usage, and can kill them as needed.

Terminal Access

For low-level VPS access, Ajenti offers a web-based terminal interface where you can type Linux commands. You can open multiple terminal tabs within a web panel as shown below.

Apache Web Server Administration

You can edit Apache configuration file, and manage apache2 service.

MySQL/MariaDB Management

You can access MySQL/MariaDB server and execute raw SQL commands on it.

Squid Configuration

You can configure ACL, HTTP access rules, filtering ports for Squid proxy server.

Startup Service Management

You can view, start, stop and restart installed services.

Conclusion

Ajenti is a convenient and easy-to-use web control panel for common server administration, with the possibility to add custom plugins that you can develop. However, remember that any good control panel does not obviate the need for you to learn what's happening behind the scene on your VPS. A control panel will become a real time saver only when you fully understand what you are doing, and be able to handle the consequence of your action without relying on the control panel.

Subscribe to Xmodulo

Do you want to receive Linux FAQs, detailed tutorials and tips published at Xmodulo? Enter your email address below, and we will deliver our Linux posts straight to your email box, for free. Delivery powered by Google Feedburner.


Support Xmodulo

Did you find this tutorial helpful? Then please be generous and support Xmodulo!

The following two tabs change content below.
Dan Nanni is the founder and also a regular contributor of Xmodulo.com. He is a Linux/FOSS enthusiast who loves to get his hands dirty with his Linux box. He likes to procrastinate when he is supposed to be busy and productive. When he is otherwise free, he likes to watch movies and shop for the coolest gadgets.

5 thoughts on “What is a good free control panel for VPS

  1. Dan,
    This is a good post. Do you have any benchmark to share? Following few things might be a good follow up for your post:
    x/ CPU and Memory comparison.
    x/ Backup and Disaster recovery.
    x/ Caching and PageSpeed comparison.
    x/ Comparison of popular Web Application i.e. WordPress, Joomla, vBulletin, phpBB.

    again, thanks for sharing.
    Regards,
    Fed up with big names

    • Thanks. While named "VPS panel", VirtKick is more like an IaaS controller, not the traditional VPS control panel (such as cpanel and the likes). Anyway, I like its sleek interface, much better than OpenStack Horizon.

Leave a comment

Your email address will not be published. Required fields are marked *