Installing Ajenti on CentOS 6.4

If you want to install Ajenti (GitHub) and cannot right now, because the official domain ajenti.org has been overtaken, here are my notes to do it without the official repository. As pip install ajenti is still possible, but installs a lot of packages of which many fail at first try, and installation via yum and official Ajenti repository are currently not available, use these steps as a guideline. They do not represent or can substitute a complete tutorial.

Be sure to have root privileges : su - or sudo su
For the installation you will have to add the EPEL repository.

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm  

yum groups

yum groupinstall base, console-internet, core, debugging, directory-client, hardware-monitoring, java-platform, large-systems, network-file-system-client, performance, perl-runtime, server-platform  
yum groupinstall "Development Tools"  

yum packages

Note: You can append -y to every line to make it install without further questioning.

Basic Python and building environment
yum install gcc gcc-c++.x86_64 compat-gcc-34-c++.x86_64 openssl-devel.x86_64 zlib*.x86_64  
yum install libxslt libxml2 libxslt-devel libxml2-devel  
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel  
yum install python python-devel python-libs python-setuptools python-pip  
LDAP server
yum install openldap-servers openldap-clients  
yum install openssl cyrus-sasl  
yum install compat-openldap openldap-servers-sql  
yum install openldap-devel  
yum install sssd perl-LDAP.noarch  
optional curl:

If you want to use the latest curl version ( to be able to download files which present their filenames not via URI but only after (some) redirection(s) ), you can install it via the city-fan repository:

rpm -Uvh http://www.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-12.rhel6.noarch.rpm  
yum install libcurl  

pip packages

gevent
yum install libevent.x86_64 libevent-devel.x86_64  
pip install greenlet  
pip install gevent  
mako
yum install ez_setup mako  
python-ldap
pip install pyasn1  
pip install python-ldap  
ajenti
pip install ajenti  

Startup script

To make the startup script work, which is already installed, you'll have to perform these last steps:

chmod u+x /etc/init.d/ajenti  
chkconfig --levels 235 ajenti on  
/etc/init.d/ajenti start

Ajenti should now be listening on Port 8000 (netstat -tlnp).
Congratulations, you should be able to access it via webbrowser now. If not, check your iptables configuration.

  1. http://wiki.centos.org/FAQ/CentOS6 : 8. What groups are included in each option at install time?
  2. http://www.tecmint.com/install-ajenti-a-web-based-control-panel-for-managing-linux-server/ : Install Ajenti via official repository, which is broken right now + Link to EPEL repository configuration + iptables
  3. https://groups.google.com/forum/#!topic/s3ql/KNu0xyXyh0I : If you want to install Python 2.7 via a repository or want to enable the PUIAS repository. In my case, Ajenti used the preinstalled Python 2.6.

Additional remarks

  • If you are considering using different third party repositories, remi or city-fan might be of use to you.
  • If something is not working, read the command line responses carefully. You could also leave a comment here, as I still got some kind of installation log.
  • If a pip package could not be installed proberly, try to resolve its dependencies and reinstall with pip install <PACKAGE> --upgrade