Данная статья предполагает, что у Вас уже установлен и настроен web-сервер Apache 2.2 + PHP 5.
Информация о системе
deathstar# uname -a
FreeBSD deathstar.name 8.1-STABLE-201009 FreeBSD 8.1-STABLE-201009 #0: Tue Sep 7 15:09:53 UTC 2010 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386

Собираем торрент (обязательно с опцией XMLRPC)

deathstar# cd /usr/ports/net-p2p/rtorrent
deathstar# make install clean

Собираем менеджер виртуальных сессий (все опции по умолчанию)
deathstar# cd /usr/ports/sysutils/screen
deathstar# make install clean

Добавляем фиктивного пользователя, от которого будет работать торрент
deathstar# pw useradd rtorrent -s /sbin/nologin

Создаём рабочие папки для торрента
deathstar# mkdir -p /usr/local/rtorrent/downloads
deathstar# mkdir -p /usr/local/rtorrent/sessions
deathstar# chown -R rtorrent:rtorrent /usr/local/rtorrent/

Создаём скрипт для управления демоном торрента
deathstar# ee /usr/local/etc/rc.d/rtorrent
#!/bin/sh
#
#

# PROVIDE: rtorrent
# REQUIRE: LOGIN
# KEYWORD: shutdown

. /etc/rc.subr

name="rtorrent"
rcvar=`set_rcvar`

load_rc_config $name

: ${rtorrent_enable="NO"}
: ${rtorrent_downloads="/usr/local/rtorrent/downloads"}
: ${rtorrent_sessions="/usr/local/rtorrent/sessions"}
: ${rtorrent_scgi_port=""}
: ${rtorrent_encoding_list="UTF-8;cp1251;koi8-r"}
: ${rtorrent_args=""}
: ${rtorrent_user="rtorrent"}
: ${rtorrent_autoload_dir=""}

command="/usr/local/bin/rtorrent"
screen="/usr/local/bin/screen"

rtorrent_args="-d ${rtorrent_downloads} -s ${rtorrent_sessions} ${rtorrent_args}"

[ -n "${rtorrent_autoload_dir}" ] && rtorrent_args="-O schedule='watch_directory,5,5,load_start=${rtorrent_autoload_dir}' ${rtorrent_args}"
[ -n "${rtorrent_scgi_port}" ] && rtorrent_args="-O scgi_port='${rtorrent_scgi_port}' ${rtorrent_args}"
[ -n "${rtorrent_encoding_list}" ] && rtorrent_args="-O encoding_list='${rtorrent_encoding_list}' ${rtorrent_args}"

start_cmd="echo Starting ${name}.; su -m ${rtorrent_user} -c \"${screen} -A -m -d -S rtorrent ${command} ${rtorrent_args}\""

run_rc_command "$1"

Выставляем права на запуск для стартового скрипта
deathstar# chmod +x /usr/local/etc/rc.d/rtorrent

Добавляем в rc.conf настройки для торрента
deathstar# ee /etc/rc.conf
rtorrent_enable="YES"
rtorrent_scgi_port="127.0.0.1:5000"

Запускаем торрент
deathstar# /usr/local/etc/rc.d/rtorrent start
Starting rtorrent.

Ставим модуль SCGI (читаем предупреждение!)
deathstar# cd /usr/ports/www/mod_scgi
deathstar# make install clean

Редактируем конфиг апача (добавляем строчку после всех загруженных модулей)
deathstar# ee /usr/local/etc/apache22/httpd.conf
LoadModule scgi_module libexec/apache22/mod_scgi.so

Создаём конфиг для SCGI (авторизация необходима для безопасности)
deathstar# ee /usr/local/etc/apache22/Includes/scgi.conf

SCGIMount /RPC2 127.0.0.1:5000


Allow from all
## Enable only authorized users
AuthName "Enter password for torrent"
AuthType Basic
AuthUserFile /usr/local/www/rtorrent/.htpasswd
require valid-user


Качаем исходники веб-морды для торрента и помещаем их в папку /usr/local/www/rtorrent/docs/
deathstar# cd /usr/local/www/
deathstar# fetch http://rutorrent.googlecode.com/files/rutorrent-3.1.tar.gz
deathstar# tar xf rutorrent-3.1.tar.gz
deathstar# rm rutorrent-3.1.tar.gz
deathstar# mv rutorrent/ docs
deathstar# mkdir rtorrent
deathstar# mv docs/ rtorrent/
deathstar# chown -R www:www rtorrent/

Создаём конфиг для торрента
deathstar# ee /usr/local/etc/apache22/Includes/rtorrent.conf
Alias /rtorrent/ /usr/local/www/rtorrent/docs/


Allow from all
AuthName "Enter password for torrent"
AuthType Basic
AuthUserFile /usr/local/www/rtorrent/.htpasswd
require valid-user


Проверяем синтаксис
deathstar# apachectl configtest
Syntax OK

Создаём учётку для доступа к торренту
deathstar# htpasswd -c /usr/local/www/rtorrent/.htpasswd torrent
New password:
Re-type new password:
Adding password for user torrent

Применяем настройки апача
deathstar# apachectl graceful

После этого можно заходить на http://ваш_сервер/rtorrent