Ajenti is an open-source web-based system management control panel for managing remote Linux system administration tasks from the web browser much similar to the Webmin system administration tool.
Ajenti is a much powerful and lightweight tool, that provides a fast and responsive web interface for managing small server set-ups and is also best suitable for VPS and Dedicated servers.
[ You might also like: Best Control Panels to Manage Linux Servers ]
It has been built with many pre-made plugins for configuring and monitoring server software and services such as Apache, Cron, File System, Firewall, MySQL, Nginx, Munin, Samba, FTP, Squid, and many other tools like File Manager, Code Editor for developers and Terminal access.
Requirements
- Debian 9 or later
- Ubuntu Bionic or later
- RHEL 8 or later
In this article, you will learn how to install Ajenti Control Panel on a fresh Linux system to manage a variety of Linux server management tasks from a web browser.
Installing Ajenti Control Panel in Linux
To install Ajenti, first, you need to update and upgrade your system software to the latest version as shown.
$ sudo apt update && sudo apt upgrade -y [On Ubuntu & Debian] $ sudo dnf update && sudo dnf upgrade -y [On RHEL]
Once system updates are completed, reboot the system before starting the installation of Ajenti.
$ sudo systemctl reboot
After reboot, download the Ajenti installation script using the following curl command, which will install Ajenti along with all the needed dependencies as shown.
Install Ajenti on Debian/Ubuntu
$ curl https://raw.githubusercontent.com/ajenti/ajenti/master/scripts/install.sh | sudo bash -s -
Install Ajenti on RHEL/Rocky & AlmaLinux
On RHEL-based distributions, you need to enable the EPEL repository to install needed Ajenti dependencies as shown.
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm $ dnf install -y gcc python3-devel python3-pip python3-pillow python3-augeas python3-dbus chrony openssl-devel redhat-lsb-core
After installing all the required dependencies, now install Ajenti using the installation script as shown.
$ curl https://raw.githubusercontent.com/ajenti/ajenti/master/scripts/install.sh | sudo bash -s -
After Ajenti installation finishes, open the “8000” port on the firewall/router for remote access of the web interface.
$ sudo ufw allow 8000 [On Ubuntu & Debian] $ sudo firewall-cmd --permanent --zone=public --add-port=8000/tcp [On RHEL] $ sudo firewall-cmd --reload
To access the Ajenti control panel web interface, open a web browser and type the IP of the server where we’ve installed Ajenti, and enter credentials of your system: username “root” and root password.
https://localhost:8000 OR https://ip-address:8000
The Ajenti service can be started, stopped, restarted using the following commands.
$ sudo systemctl stop ajenti $ sudo systemctl start ajenti $ sudo systemctl restart ajenti $ sudo systemctl status ajenti
Uninstall Ajenti Control Panel in Linux
Ajenti is a group of Python modules installed with pip, issued with a systemd script. So it’s essential to delete the systemd script, then the Python libraries, and the configurations files.
$ sudo systemctl stop ajenti.service $ sudo systemctl disable ajenti.service $ sudo systemctl daemon-reload $ sudo rm -f /lib/systemd/system/ajenti.service
Then simply remove all Python modules:
$ sudo pip3 uninstall -y aj ajenti-panel ajenti.plugin.ace ajenti.plugin.auth-users ajenti.plugin.core ajenti.plugin.dashboard ajenti.plugin.filesystem ajenti.plugin.passwd ajenti.plugin.plugins ajenti.plugin.session-list ajenti.plugin.settings
If you don’t need configuration files, just delete the directory /etc/ajenti/:
$ sudo rm -rf /etc/ajenti/
For more information visit the Ajenti homepage.
Ravi, great tutorial. Thank you.
But, unfortunately during install i got this error: [Errno -1] Package does not match intended download
If someone encountered this error as well you should execute the following command as noted in http://bit.ly/1rqdVOL:
yum clean metadata
After that, it works.
hi
i was install ajenti on centos 6.5 minimal and the part of my iptables is:
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 8000 -j ACCEPT
-A INPUT -m state –state NEW -m udp -p udp –dport 8000 -j ACCEPT
-A INPUT -j REJECT –reject-with icmp-host-prohibited
-A FORWARD -j REJECT –reject-with icmp-host-prohibited
COMMIT
but when i try to access web with port 8000 i dont have this
please help me for solve this problem
my 8000 port is open and in listening.
thanks
Arash, is the port 8000 opening from localhost? have your tried accessing it from localhost?
hi,my dear friend
thanks a lot
i was install on centos 6.5 minimal with command prompt
and i have ping my ip from other network and i add rull for port 8000 in ip table
but i dont accesss to ajenti by web .but i install this software on centos desktop and this work correctly
for example:https://192.168.200.90:8000
Are you able to access using http://localhost:8000?
Hi Guys,
I have very bad experience with Ajenti, I will recommend you not to use this product, I installed it on debian wheezy VPS server. After one week, it start broadcasting data from server. I got to know about this after three days when my VPS provider sent me a mail that you VPS has consumed data bandwidth of 180 GB in just three days, youneed to check the server.
When I check this then I uninstalled this and data broadcasting stop after it. For security reason I have to configure whole server from start after reset up vps from vps provider.
So again, I will not suggest anybody to use this.
Regards
Amit Bondwal
Hi greetings of the day
am trying to install ajenti in ubuntu usinng aws.amazon server..
i done with all settings and i open 8000 port number in firewall but also am unable to get web page on :8000 getting error as Webpage is not available
Thanks
First off, thanks for the awesome posts! I read your other post where you talked about Ajenti, so I am trying it out. I wanted to add that with CentOS 6.5, I had to add my iptables rules up toward the top of the config file, not at the bottom. When I had them at the bottom, it was still blocking the port for some reason. I assume that one of the above rules is set to block all unconfigured traffic, but I am still fairly new at Linux firewall rules in general. Anyway, thanks for the great info! Looking forward to reading more of your posts!
Sean
Can I install ajenti-v on Centos 6 ?
On ‘yum install ajenti’ under Fedora 17 I am getting this error:
http://repo.ajenti.org/ng/centos/17/x86_64/repodata/repomd.xml: [Errno 14] curl#22 – “The requested URL returned error: 404 Not Found”
Please help.
/shawn
I have just initiated a new server – Ubuntu 12.04/Nginx 1.4.5 to test Ajenti on. I don’t understand probably the most fundamental part of how to make the vhosts work. The developer Eugene posts this – http://support.ajenti.org/topic/349870-ajenti-behind-nginx/
I’m used to having a vhost like /etc/nginx/sites-enabled/domain.com…. with the files in /home/user/public_html/domain.com/public/
So basically I don’t get how domain.com fetches the /ajenti files without some modification to his example.
Any clarification on this would be greatly appreciated.
thx
stu
Oh duh. A clean install without all the usual firewalls I put in, and it works.
Hi, thank you for all your tutorials, i have a question; i can’t access to login screen , i did all the insctruction about the 8000 port.
Thanks
What error you getting on the screen, while accessing on port 8000. Did you opened this port on firewall?
How do I access the webmail ?
I think it’s the next option that will be added from @Ajenti Team, i agree that’s a little bit late to think about it or sad to forget about it.
But i’m just like you waiting for the Webmail Management.
Cheers
Jenz
Yep, I’m getting the same error as Kumar, above.
[root@xxx ~]# service iptables restart
iptables: Applying firewall rules: iptables-restore: line 1 failed
[FAILED]
vi edit the iptables fails…
Centos x64 6.4 – Digital Ocean.
You can manually add at command line…
But you still can’t access ip and port in the browser.
To fix such error, you need to replace your iptables rules with below lines.
And restart iptables again….
Hi
I tried to follow your commands but having these problem using cent os 6 32 bit
== After adding those two lines when i restart iptables i get error on line 1 .
I am newbie in servers any help would be appreciated
What error could be you post here.
iptables: Applying firewall rules: iptables-restore: line 1 failed
Get this error, cant install Ajenti in Ubuntu 12.04
The following packages have unmet dependencies:
ajenti : Depends: python-requests (>= 0.12.0) but 0.8.2-1 is to be installed
E: Unable to correct problems, you have held broken packages.
Not compatible, your system needs a upgrade.
I cant login ajenti when i tried to login from another laptop .now the login is blocked !!! how to solve this or uninstall agenti !!
Have you opened port on the Firewall? what kind of blocking error you getting?. Use “yum remove ajenti” to un-install.
How to uninstall ajenti
help please
thanks!
To un-install Ajenti do.
Or if you’re Debian base:
`# apt-get remove ajenti`
(:
ajenti installation instructions doesn’t work on fedora 18 nor fedora 19 , I had the epel-installed and followed the instructions all I get is Errno 14 and errno 256 ” both fedora 18 and 19 ”
even though you did mention in the article ” we’re going to show you how we going to install Ajenti Server Manager tool on skip skip skip Fedora 19/18/17/16/15/14/13/12,
It should work without any hazel, let me check again, will update you.
thank you, ill keep checking for your updates on the fedora installation issues , on their website it does not mention anything about Fedora , older web did
also I just tested it on my debian box and my centos box and the instructions worked perfectly , except fedora , haven’t tried it on Ubuntu
Ravi,
Can you suggest a similar control panel that can run on a low end Fedora12 VPS?
Config similar to:
Memory: 64MB min/128MB Burstable | 500GB
Thanks.
Try Webmin panel.its very lightweight, not fancy like ajenti.
Hey i installed Ajenti on centos 6.4 64bit as instructed and i can’t login from another computer.
When i tried to start it with “ajenti-panel -v” in ssh it all looks ok except for the following error:
“ERROR SSL tunnel failed to start”
What could be the problem?
Thank you in advance.
Is it possible to monitor remote server from this ???
Also is there is any alert services are there,if web,mysql,postfix services went down OR full of disk space ?
You need to check Ajenti Plugin page for more information on remote monitoring.
Hello,
I’m trying to install Ajenti on a clean Fedora 12 VPS box, but am ending up with the following message when I reach the yum install ajenti command:
—–
# yum install ajenti
http://repo.ajenti.org/ng/centos/12/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 : http://repo.ajenti.org/ng/centos/12/x86_64/repodata/repomd.xml
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: ajenti. Please verify its path and try again
—–
Thanks in anticipation.
Ajenti no more support Fedora 12, you need to upgrade your Fedora distribution.
Hello Techmint,
I am facing the below error while installing through yum.
http://repo.ajenti.org/ng/centos/5/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404: Not Found
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: ajenti. Please verify its path and try again
You have mail in /var/spool/mail/root
You’re using CentOS 5 and Ajenti is no more supported now, please upgrade to CentOS 6.
Hello Techmint,
After installing Ajenti. I had to install any ajenti service. Bcoz i m not able to access the url.
I have the same problem as Rimdeker
Cleanups/updating and even forcing installs do not help.
apt-get install python-requests
Reading package lists… Done
Building dependency tree
Reading state information… Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
python-requests : Depends: python2.6 but it is not installable
Depends: python (< 2.7) but 2.7.3-0ubuntu2 is to be installed
Recommends: python-gevent but it is not going to be installed
Recommends: python-oauthlib but it is not installable
E: Unable to correct problems, you have held broken packages.
It seems that python-requests still stuck with an older version and refuses to be installed under one of my virtual machines, I was able to install it on the other virtual machine, but I noticed that it does not start.
Running
ajenti-panel -v
I noticed that it was complaining about missing module passlib
Ran
pip install passlib
(Easiest way to install it, if you don't have pip installed, run apt-get install python-pip first)
Restarted ajenti, now it runs. Hope this helps someone out there.
Both virtual machines are running the same Ubuntu releases.
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.2 LTS
Release: 12.04
Codename: precise
The failed install is most likely due to different apt sources.
I'll run a comparison and debug this further.
I get following error when trying to install it on Ubuntu 12.04
~# apt-get install ajenti
Reading package lists… Done
Building dependency tree
Reading state information… Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
ajenti : Depends: python-requests but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
To fix this error, Please do a clean and update the system and then install dependencies. If you still get same error, remove that python-requests package and try to install ajenti again..lets see.
This does not help, I am still getting the same error message. Python-requests seems to be stuck in an old version and does not want to upgrade.
I think you need to upgrade your OS, to install ajenti panel.
I have the same problem, and my ubuntu server is the 12.04.3 version, which is supposed to be supported by Ajenti.
The exact error I get is the following:
The following packages have unmet dependencies:
ajenti : Depends: python-requests (>= 0.12.0) but 0.8.2-1 is to be installed
E: Unable to correct problems, you have held broken packages.
I was having the same issue, I found instructions on another site which didn’t match up with the instructions posted here and my problem was solved.
Above, the instructions say to run command:
echo “deb http://repo.ajenti.org/ng/debian main main” >> /etc/apt/sources.list
However, if you add an ‘ubuntu’ after the last ‘main’ it works (at least it did for me). So the command looks like:
echo “deb http://repo.ajenti.org/ng/debian main main ubuntu” >> /etc/apt/sources.list
You can reach this same effect by using VIM and editing your /etc/apt/sources.list file if you already ran the command above.
Worked for me (added ubuntu to the end) too Thank!!