How To Set Up Gazelle on a Debian Server

This was taken from from ScT forum, and left exactly as-is … take a look here:
ScT/forums_viewtopic.php?id=19331&page=1#p344573

This guide allows even a retard to setup their very own BitTorrent tracker using the fancy and flashing Project Gazelle sourcecode by the What.CD development team — Setup and steal releases off ScT and you’ll be as good as SCC, ScL and the likes in no time and NO EFFORT!!!!

This guide is written for Debian (etch), but with little modification you can suit it for other distributions as well. It’s time to go and rent that 20€ Kimsufi now and start your very own career as the SysOp of your imba tracker. While not necessary, it’s preferred that you purchase a domain for the site as well. Preferably something that has “scene” prefix or postfix!!!! Like sceneIMBA.com, cbatogetmyownsceneaxx.com or faggotscene.net.

Want to run a tracker, but your low-end seedbox with 512mb ram runs on Windows? GTFO.

Here’s what you need to install, via apt-get.

1. Dependencies:

$ apt-get install build-essential apache2 php5 libapache2-mod-php5 mysql-server libmysqlclient15-dev php5-mysql memcached php5-memcache php5-gd php5-mcrypt subversion automake
$ apt-get install cmake g++ libboost-date-time-dev libboost-dev libboost-filesystem-dev libboost-program-options-dev libboost-regex-dev libboost-serialization-dev make zlib1g-dev

For database management you can use CLI or some sort of gay www frontend such as phpmyadmin (apt-get install phpmyadmin). If you don’t know anything about MySQL just tell yourself that it’ll all be fine and skip this step.

2. Configuring apache

Apache2 installs itself in /etc/apache2. By default, it serves its **** from /var/www directory, but we’ll change that along with some other stuff in a mo.
First, create a directory where you store your web-frontend files. For example:

$ cd /
$ mkdir site

Now you’ve got a directory called “site” in your filesystem root. Next it’s time to let apache now you’ll want web files served from there. The file to alter is /etc/apache2/sites-enabled/000-default

$ nano /etc/apache2/sites-enabled/000-default

Empty the whole file and replace it with this (modify if you like and know your ****):

# Standard http port
NameVirtualHost *:80

<VirtualHost *:80>
ServerAdmin leet@sysop.com
ServerName scenefaggot.net

DocumentRoot /site/

<Directory “/site/captcha”>
Order deny,allow
Deny from all
</Directory>

<Directory “/site/classes”>
Order deny,allow
Deny from all
</Directory>

<Directory “/site/sections”>
Order deny,allow
Deny from all
</Directory>

<Directory “/site/torrents”>
Order deny,allow
Deny from all
</Directory>

<Files ~ “^\.ht|\.ini|\.inc|\.sql”>
Order deny,allow
Deny from all
</Files>

</VirtualHost>

It’s noteworthy that if you wish to enable leet SSL browsing for your site, just add another clause there for:

# HTTPS port
NameVirtualHost *:443

<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /path/to/cert.crt
SSLCertificateKeyFile /path/to/cert.key

And also add Listen 443 to /etc/apache2/ports.conf
Then you just need to create a certificate (consult google).

Ogay, we’ve done configuring apache. Time to reload the changes

$ apache2 -k restart

3. Getting sourcecode

You can fetch the source from What’s SVN repository as follows:

$ svn co http://svn.what.cd/repos/project_gazelle/trunk/ /site/

4. Configuring MySQL

Principally you should take a look at /etc/mysql/my.cnf and optimize it for your setup and needs. Obviously you’re too much of a slob and cba to, so just skip this step and tell yourself it’ll all be ok. What you should do, though, is to setup a root password for MySQL as it is not automatic.

$ mysql -u root
$ use mysql
$ update user set password=PASSWORD(”NEWPASSWORD”) where User=’root’;
$ flush privileges;
$ quit;

You should probably create a different MySQL user for the site with less-than-root rights. But again, you cba to do so, so we’ll just skip this.

5. Configuring the site

Then you will need to navigate to http://youripaddress/install/index.php and follow instructions. Literacy is required in this step unfortunately. If all is well, you should now be able to access your site. If not, all is not well.

That is not all, though. You’ve got the site web frontend working, but not the tracker — yet. Project Gazelle includes a tracker written in C++. It is its program that runs on its own. Remember to remove the installation directory after successful install. Ie, rm -r /site/install

6. Getting tracker up and running

$ cd /site/
$ tar zxfv xbtt.tar.gz
$ cd xbtt/build/xbtt
$ ./autogen.sh
$ make
$ cd src

Now you’ve got a compiled tracker that is ready to work. Well, almost ready. There’s a file called xbt_tracker.conf that you need to modify. The fields are rather obvious, there’s stuff like:

mysql_host =
mysql_user =

Yeah, you got the idea. If not, GTFO.

There’s also the actual tracker executeable xbt_tracker. Which you’ll need to run with command ./xbt_tracker xbt_tracker.conf after the last step.

The last step to get the tracker working is to insert some parameters into MySQL. It defaults to What.cd’s IP address and stuff, and you must change that.

$ mysql -u root -pNEWPASSWORD
$ use databasename_that_you_defined_in_install_php
$ select * from xbt_config;

There are some important values. You’ll need to modify some and some not if you don’t want to. Anyway:

$ update xbt_config set value = ‘YOURIPADDRESSHERE’ where value = ‘70.47.114.223′;
$ update xbt_config set value = ‘WHATPORTYOUWANNAUSE’ where value = ‘34000′;

$ select * from xbt_client_whitelist;

Whitelisted, ie. allowed clients. These are outdated; you will need to insert Peer IDs for newer clients. If you don’t know how to, tell everyone to use uTorrent 1.8 or it’s banhammer time.

$ insert into xbt_client_whitelist (peer_id, vstring) values (’-UT1810-’, ‘uTorrent 1.8.1′);