Ajenti is a free to use and open source Server management and configuration Panel written in Python, JavaScript, and AngularJS. It provides a web dashboard for administration as opposed to command line management. With this tool you can manage websites, DNS, Cron, Firewall, Files, Logs, Mail hosting services e.t.c. This guide will discuss the installation of Ajenti Control Panel on Ubuntu 20.04.

The Ajenti Project consists of Ajenti Core and set of stock plugins forming the Ajenti Panel.

  • Ajenti Core: Web interface development framework which includes a web server, IoC container, a simplistic web framework and set of core components aiding in client-server communications.
  • Ajenti Panel: Consists of plugins developed for the Ajenti Core and a startup script, together providing a server administration panel experience.

The Ajenti control panel can be installed on Ubuntu 18.04 Linux system. The good thing about this installation is that it is purely automated.

Step 1: Update System

Make sure you’re working on a fresh installation of Ubuntu 20.04 server. A lot of dependencies will be installed automatically.

Update and upgrade your Ubuntu machine.

sudo apt update
sudo apt dist-upgrade

If the upgrade is completed reboot the system before initiating installation of Ajenti on Ubuntu 20.04.

sudo systemctl reboot

Step 2: Install Ajenti on Ubuntu 20.04

There is a script provided for the installation of Ajenti control panel on Ubuntu 20.04. First download the script with curl.

curl -O https://raw.githubusercontent.com/ajenti/ajenti/master/scripts/install.sh

Run the installer script with sudo command.

sudo bash ./install.sh

The installation of Ajenti on Ubuntu 20.04 could take some time depending on your internet connection. once it finishes you should get output like below.

....
:: Installing initscript
/usr/bin/systemctl
Created symlink /etc/systemd/system/multi-user.target.wants/ajenti.service → /lib/systemd/system/ajenti.service.
:: Complete

Ajenti will be listening at HTTP port 8000
Log in with your root password or another OS user

Confirm there is a service listening on 8000.

# ss -tunelp | grep 8000
tcp    LISTEN  0       10                   0.0.0.0:8000          0.0.0.0:*      users:(("https://computingforgeeks.com/usr/local/bin/",pid=21271,fd=9),("https://computingforgeeks.com/usr/bin/python",pid=21264,fd=9)) ino:31300 sk:5 

Step 3: Open Ajenti Web Console on Ubuntu 20.04

Open your server IP address or hostname on port 8000 from your browser.

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/06/echo/install-ajenti-control-panel-ubuntu-01-1024×305.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

The Logins are your root password or another OS user.

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/06/echo/install-ajenti-control-panel-ubuntu-02-1024×489.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

Additional plugins can be installed under GENERAL > Plugins

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/06/echo/install-ajenti-control-panel-ubuntu-03-1024×504.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

Same for SYSTEM > Packages > APT|PIP

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/06/echo/install-ajenti-control-panel-ubuntu-04-1024×517.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>

Systemd service managing the Panel is called ajenti.

$ systemctl status ajenti
● ajenti.service - Ajenti panel
     Loaded: loaded (/lib/systemd/system/ajenti.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-06-10 17:31:58 CEST; 25min ago
    Process: 21260 ExecStart=/usr/bin/python3 /usr/local/bin/ajenti-panel -d (code=exited, status=0/SUCCESS)
   Main PID: 21264 (/usr/bin/python)
      Tasks: 14 (limit: 18721)
     Memory: 273.9M
     CGroup: /system.slice/ajenti.service
             ├─21264 /usr/bin/python3 /usr/local/bin/ajenti-panel
             ├─21594 /usr/local/bin/ajenti-panel worker [restricted session]
             └─21613 /usr/local/bin/ajenti-panel worker [session 1]
....

This can be restarted anytime as required.

sudo systemctl restart ajenti

Enjoy using Ajenti to manage your Ubuntu 20.04 Server from a web console.

<img alt="" data-ezsrc="https://kirelos.com/wp-content/uploads/2020/06/echo/install-ajenti-control-panel-ubuntu-05-1024×489.png" data-ez ezimgfmt="rs rscb8 src ng ngcb8 srcset" src="data:image/svg xml,”>