Saturday, August 15, 2009

HOWTO : Torrentflux-b4rt with Cherokee on Ubuntu 9.04 Server

I am going to build a Bittorrent server with Cherokee web server instead of Apache. I call it as LCMP - Linux, Cherokee, MySQL and PHP. It may be the fastest web server in the world so far. You are not require to edit the config files. All settings are completed by your browser.

Bittorrent server front-end is using Torrentflux-b4rt. It is running on PHP and MySQL with bittornado.

Step 0 :

Install Ubuntu 9.04 Server edition as usual. Select OpenSSH only when install.

After the installation, perform the system update.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

Assume your server's IP is

Step 1 :

sudo nano /etc/apt/sources.list.d/cherokee.list

Add the following lines.

deb jaunty main
deb-src jaunty main

Add the key.

sudo apt-key adv --keyserver --recv-keys EBA7BD49

sudo apt-get update
sudo apt-get install cherokee

Step 2 :

sudo apt-get install mysql-server mysql-client

Enter the MySQL root password when asked. Make sure you have write it down.

Step 3 :

sudo apt-get install php5-cgi

sudo nano /etc/php5/cgi/php.ini

Append the following line at the end of the file.

cgi.fix_pathinfo = 1

sudo /etc/init.d/cherokee restart

sudo apt-get install php5 php5-cli php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

sudo /etc/init.d/cherokee restart

Step 4 :

sudo cherokee-admin -b

The following will be displayed.

User: admin
One-time Password: W0K2jR961aYaeiwu

Web Interface:
URL: http://localhost:9090/

Cherokee Web Server 0.99.22 (Aug 5 2009): Listening on port ALL:9090, TLS disabled, IPv6 disabled, using epoll, 4096 fds system limit, max. 2041 connections, caching I/O, single thread

Open browser and point to or http://localhost:9090

Enter the user name as "admin" and password as "W0K2jR961aYaeiwu" (which will be changed each time).

Step 5 :

Clone a virtual host from default. Add the domain name, document root and etc.

The document root should be "/var/www/torrentflux".

Go back to the terminal and press Ctrl + C to quit the Cherokee's admin page.

sudo /etc/init.d/cherokee restart

Step 6 :

sudo apt-get install unrar unzip vlc uudeview build-essential bittornado

Download and compile cksfv that is required by torrentflux-b4rt.

tar -xjvf cksfv-1.3.14.tar.bz2

cd cksfv-1.3.14
sudo make install

Get and install torrentflux-b4rt.

tar -xjvf torrentflux-b4rt_1.0-beta2.tar.bz2

cd torrentflux-b4rt_1.0-beta2
sudo cp -R html /var/www/torrentflux
sudo chmod -R 0777 /var/www/torrentflux/inc/config

sudo mkdir /home/samiux/torrent
sudo chmod -R 0777 /home/samiux/torrent

Step 7 :

Point your browser to and configure it.

** You keyin the username and password on the torrentflux-b4rt will be recorded for the admin account. Please write it down.

The download directory should be "/home/samiux/torrent".

After the configuration, delete the setup.php.

sudo rm /var/www/torrentflux/setup.php

Step 8 :

Make sure to forward the default ports 49160 to 49300 at your router or firewall.

Step 9 (Optional) :

Install vsftpd when necessary.

** Make sure you change the IP address at "pasv_address".

Step 10 (Optional) :

Make your server bootless.

That's all. See you!