Friday, September 11, 2015

Trying out Ajenti

Ajenti is server control panel, in the same space as Webmin. It allow you to manage your linux server directy via web interface.

In term of installation, Ajenti really win. All available as OS packages, so if using Ubuntu or Debian it just a matter of apt-get. The initial installation is covered by a script that you download from Ajenti's website.

wget -O- https://raw.github.com/ajenti/ajenti/1.x/scripts/install-ubuntu.sh | sudo sh
One thing that tripped me up is that I thought the web hosting plugins also in the same packages. Turn out it a separate package called ajenti-v (It clearly shown on the website, so my bad). To get the webhosting packages you need to install ajenti-v package.

sudo apt-get install ajenti-v ajenti-v-nginx ajenti-v-mysql ajenti-v-php-fpm php5-mysql ajenti-v-python-gunicorn

If you have already install apache2 before, you need to remove it as Ajenti-v use nginx.

The whole experiences of getting a Django website running is still not very smooth. Those who are not familiar with Python deployment might be in hard time trying to fit everything together. This is I some room that I want to explore me in Ajenti-V. In order for this to be really usable, we don't have to touch the terminal at all to get things running.

The first problem I got is 
supervisor FATAL Exited too quickly (process log may have details). This turn out that I don't have gunicorn installed in the virtualenv set for my site. There are lot of things that need to be set - virtualenv, install gunicorn, the path to wsgi script.

One that taking so much of my time is figuring out why nginx keep doing 301 redirect for static files. In the end, I have to choose the 'root' method instead of 'alias' in nginx location.

http://nginx.2469901.n2.nabble.com/stop-automatic-trailing-slash-addition-td7592389.html
http://wiki.nginx.org/HttpCoreModule#alias

There's a subtle difference between root and alias.