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
$ 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
$ 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.
$ 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 --reload
On CentOS/RHEL 6:
$ sudo service iptables save
Access Ajenti Web Interface
Before accessing Ajenti's web interface, make sure to start ajenti service.
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.
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.
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.
Apache Web Server Administration
You can edit Apache configuration file, and manage apache2 service.
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.
Startup Service Management
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.
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.
Did you find this tutorial helpful? Then please be generous and support Xmodulo!