Last updated on September 6, 2020 by Dan Nanni
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.
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.
$ 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
$ 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
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 to open up a necessary port.
On Fedora or CentOS/RHEL 7 or later:
$ sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent $ sudo firewall-cmd --reload
On CentOS/RHEL 6 or earlier:
$ sudo iptables -I INPUT -p tcp -m tcp --dport 8000 -j ACCEPT $ sudo service iptables save
Before accessing Ajenti's web interface, make sure to start
$ 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.
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
$ sudo service ajenti restart
Ajenti's web interface is extremely intuitive and easy to use. Here are a few examples of Ajenti functionality.
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.
Ajenti offers a web interface for installing and upgrading packages on VPS.
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.
You can browse system logs in
/var/log via Ajenti's web interface.
You can see a list of processes sorted by CPU or RAM usage, and can kill them as needed.
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.
You can edit Apache configuration file, and manage
You can access MySQL/MariaDB server and execute raw SQL commands on it.
You can configure ACL, HTTP access rules, filtering ports for Squid proxy server.
You can view, start, stop and restart installed services.
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.
Please note that this article is published by Xmodulo.com under a Creative Commons Attribution-ShareAlike 3.0 Unported License. If you would like to use the whole or any part of this article, you need to cite this web page at Xmodulo.com as the original source.