Ajenti is a wonderful server control panel when it comes to interface. It is based on Python and feels more easy to use. However, I didn’t find it lightweight as people say. Advantage of Ajenti is already made and installed plugins for services like Cron, File management, Firewall, Database (MySQL etc.), and Apache etc. There is also a nice Code Editor and web-based Terminal access to server.
So, to test and configure it, I installed Ajenti on CentOS 6.4 64 bit. You can install it on 5.8 and 6 to 6.4 either 32 or 64 bit.
Login to your server via SSH using PuTTY or any other client you like. Make sure you are using ‘root’ or equivalent access.
First thing to do is to update your server.
yum update
NOTE: Use ‘sudo’ prefix to commands, if you are using a ‘sudoer’.
Ajenti requires the EPEL Repositories. So, you will need to add and enable it. Without this you may get Python Lockfile and Python dependency errors during installation.
Now, if you have CentOS 5 32 bit system then use this command,
wget http://epel.mirror.net.in/epel/5/i386/epel-release-5-4.noarch.rpm
and pass this command to install the RPM,
rpm -ivh epel-release-5-4.noarch.rpm
and for CentOS 5 64 bit system,
wget http://download.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm
The same will go for CentOS 6 system.
For 32 bit,
wget http://epel.mirror.net.in/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
For 64 bit,
wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
NOTE: Notice that this EPEL may get updated over the time and version numbers will change. So, use accordingly.
The returned prompt is expected to be self explanatory and without errors.
Now you will need to download the Ajenti Repo to your server and then add it. This seems to be same for both 32 and 64 bit, for now.
wget http://repo.ajenti.org/ajenti-repo-1.0-1.noarch.rpm
rpm -i ajenti-repo-1.0-1.noarch.rpm
If you didn’t get any errors then you can proceed ahead with installation.
yum install ajenti
This step may take a little time depending on the Repo flushing and rebuilding.
Press ‘Y’ as Yes for the GPG key prompts.
When everything is done you will be able to access the control panel via your browser (use https),
https://YourIP:8000
A screen with SSL warning will appear. It is all ok. Just add exception or press ‘Proceed’. The default login credentials is ‘root’ as username and ‘admin’ as password. I will recommend changing these details along with the 8000 default port for more secured environment.
Troubleshooting:
If you are unable to get to login page of Ajenti and you are facing troubles then try below things to get it working.
First thing is to check for Firewall restrictions. Last time I checked, Ajenti doesn’t open the port ‘8000’ in Iptables by default. So, you will need to open it manually.
service iptables stop
iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
service iptables save
service iptables start
Now, make sure that the port is open and accepting the incoming connections.
service iptables status
Now, try to access the server again as said above. Remember to use ‘https’.
If you are still unable to access the Ajenti control panel then check for Apache. Many times this gets disabled on CentOS after Ajenti install.
service httpd start
Make sure that these services run on server reboot.
chkconfig httpd on
chkconfig ajenti on
Reboot the server using;
reboot
Now you should be able to access the panel using above URL at port 8000.
Done! Comments and troubles are welcome, as always.