Today, I will present Ajenti, a remote administration tool for Linux and FreeBSD.
This article is part of a series about remote administration of Linux-based server (actually some of the tool work on *BSD systems too). You can find all article pertaining to this series using the Tag remote-server-admin.
Ajenti is a rather new project but with a really cool UI and lots of promise! Ajenti provides an administration panel (via a web interface) to help you do some basic monitoring and configuration of your server. It can be enhanced/completed by a suite of plug-ins, many provided by the Ajenti developers themselves, to help you configure or monitor what Ajenti does not at its core. It is therefore easily extensible.
Ajenti is known to work on Linux and FreeBSD. In the first version of this article, Ajenti version 0.6 was tested. The project is now at version 1.2, the screenshot are therefore no longer actual, however the installation steps have been updated to match those necessary for version 1.2. I am planning on having a follow-up article using the latest Ajenti version on Ubuntu 14.04 when it will be out.
Ajenti is not in the default repository of Ubuntu 12.04 LTS, it needs to be added.
$ sudo vi /etc/apt/sources.list.d/ajenti.list
And add the following in the file (updated since Ajenti 0.6):
deb http://repo.ajenti.org/ng/debian main main ubuntu
And import the signing key for this new repository:
$ wget http://repo.ajenti.org/debian/key -O- | sudo apt-key add -
Now, refresh the list of packages:
$ sudo apt-get update
And install Ajenti
$ sudo apt-get install ajenti
It is all done via the Web UI. So open your favorite web browser and go the page https://IP:8000 Example: https://192.168.1.2:8000 (whereas Ajenti 0.6 was HTTP by default, newer version are using HTTPS by default).
You will be prompted for a user and password enter ‘root‘ for the username and ‘admin‘ for the password (note: this was previously ‘admin‘ for both entries).
In earlier version (incl. 0.6) you would then be prompted for the admin login name and password, and it was recommended to update them. Try to use something different from admin or root for a slightly increased security. With recent versions, this is no longer the case, and if you want to change the default (which I highly recommend), you need to go in the ‘Configure’ and under Users change the ‘root’ password.
Then you will be able to select optional plug-ins. You don’t have to and will be able to add later in the configuration of Ajenti.
Some of those plug-ins require extra python libraries or software to be operable. This can be seen in the Plugins panel once connected to Ajenti. For each plug-in that needs extra package, you will see a small warning icon (). On earlier Ajenti 0.6 mouse over it, it will tell you what is missing, on Ajenti 1.2 simply click on the plug-in name.
Example: I have installed Munin plug-in and it tells me “Requires python module BeautifulSoup”. To find this package you can use the following command:
$ apt-cache search BeautifulSoup python-beautifulsoup - error-tolerant HTML parser for Python python-bs4 - error-tolerant HTML parser for Python python-bs4-doc - error-tolerant HTML parser for Python - documentation python3-bs4 - error-tolerant HTML parser for Python 3
Now you can install the missing package:
$ sudo apt-get install python-beautifulsoup
After you installed the necessary dependencies, restart Ajenti by clicking on the “Restart Ajenti” button in the Web UI.
Updated: This article has been partially updated to reflect the necessary changes to install the latest version of Ajenti on Ubuntu 12.04 LTS.