В сети находится множество манов как установить rTorrent + ruTorrent. Многие из них я использовал, но часто были какие то ошибки. В этот раз решил записать все шаги установки. Пост пишу для себя, но думаю поможет многим.
В начале объясню почему именно rTorrent + ruTorrent. Во первых rTorrent экономит ресурсы, а север у меня не слишком сильный. Во вторых - гибкость. Торрентов у меня обычно множество, а для ruTorrent существуют удобные плагины для создания тэгов, фильтрации по трекерам и прочие радости. Так просто удобней. 🙂
Задали вопрос что такое rTorrent и ruTorrent. Отвечаю:
- rTorrent - это серверный (консольный) BitTorrent для Linux/Unix, популярен из за быстродействия и малого потребления ресурсов
- ruTorrent - это интерфейс (web-морда) для rTorrent, популярен из за удобного интерфейса и множества полезных плагинов
Установка rTorrent
В начале я хотел описать процесс компиляции пакетов, но забил на эту идею. Было три причины:
- Компилировать самому ощутимо дольше
- Возможны ошибки при компилировании
- В 90% манов описана компиляция, мы же должны отличаться 🙂
Поэтому просто добавим репозиторий, где всегда лежат свежии версии нужных пакетов:
1
2
|
sudo
add
-
apt
-
repository
ppa
:
patricksissons
/
rtorrent
sudo
apt
-
get
update
|
Теперь можно ставить сам rTorrent:
1
|
sudo
apt
-
get
install
rtorrent
|
Помимо самого пакета rtorrent будут загружены все нужные пакеты. Всё, rTorrent установлен, теперь займёмся файлом настроек.
Для этого в домашней директории нужно создать файл .rtorrent.rc. Вот содержание моего файла:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
min_peers
=
1
max_peers
=
1000
download_rate
=
0
upload_rate
=
0
directory
=
/
home
/
sk8er
/
Torrents
/
session
=
/
home
/
sk8er
/
.
rtsession
/
port_range
=
40890
-
40890
port_random
=
no
check_hash
=
yes
session_save
=
yes
encryption
=
allow_incoming
,
enable_retry
,
prefer_plaintext
use_udp_trackers
=
yes
dht
=
auto
dht_port
=
6881
encoding_list
=
UTF
-
8
scgi_port
=
127.0.0.1
:
5000
|
Сохраняем файл. Вот теперь можно запускать rTorrent. Но лучше сразу установим Web-морду.
Установка ruTorrent
В начале нужен Web-сервер. Ставим нужные пакеты:
1
|
sudo
apt
-
get
install
-
y
build
-
essential
pkg
-
config
libcurl4
-
openssl
-
dev
libsigc
++
-
2.0
-
dev
libncurses5
-
dev
subversion
libterm
-
readline
-
gnu
-
perl
php5
-
cgi
apache2
-
utils
libapache2
-
mod
-
scgi
php5
-
cli
|
Теперь нужно скачать ruTorrent. Переходим в папку вашего web-сервера и вводим следующую команду:
1
|
svn
checkout
http
:
/
/
rutorrent
.googlecode
.com
/
svn
/
trunk
/
rutorrent
|
Теперь нужно выставить нужные права на папку:
1
|
sudo
chown
-
R
www
-
data
:
www
-
data
.
/
rutorrent
/
|
Итак, теперь нужно отредактировать файл apache2.conf:
1
|
sudo
nano
/
etc
/
apache2
/
apache2
.conf
|
И добавить в конце следующую строку:
1
|
SCGIMount
/
RPC2
127.0.0.1
:
5000
|
Сохраняем файл, закрываем, теперь перезагрузим apache2:
1
|
sudo
/
etc
/
init
.d
/
apache2
reload
|
Вот и всё. Запускаем rTorrent и заходим в браузере по ссылке /ip_сервера/rutorrent. Откроется примерно следующее:
Автозагрузка rTorrent
Что бы при каждом перезапуске сервера не запускать rTorrent добавим его в автозагрузку. Для начала скачаем нужный скрипт:
1
|
sudo
wget
http
:
/
/
libtorrent
.rakshasa
.no
/
attachment
/
wiki
/
RTorrentCommonTasks
/
rtorrentInit
.sh
?
format
=
raw
-
O
/
etc
/
init
.d
/
rtorrent
|
Теперь нужно отредактировать скрипт. Откроем его:
1
|
sudo
nano
/
etc
/
init
.d
/
rtorrent
|
И ищем строку user="user". В кавычках нужно вписать свой логин. У меня получилось так: user="sk8er". Теперь добавим скрипт в автозагрузку и запустим его:
1
2
3
|
sudo
chmod
755
/
etc
/
init
.d
/
rtorrent
sudo
update
-
rc
.d
rtorrent
defaults
sudo
/
etc
/
init
.d
/
rtorrent
start
|
Вот и всё. Для проверки я ещё перезагрузил сервер, что бы убедиться, что автозагрузка работает.
Защита ruTorrent
Специально для тех, у кого открыт 80-ый порт на сервере. Если так, то ruTorrent доступен в интернете и любой желающий может сделать что угодно с вашими раздачами, что довольно плохо. Решение простое - поставить авторизацию. Создадим в папке с ruTorrent файл .htaccess с содержанием:
1
2
3
4
|
AuthUserFile
/
home
/
sk8er
/
www
/
rutorrent
/
.
htpasswd
AuthName
"ruTorrent login"
AuthType
Basic
Require
Valid
-
User
|
Строчку /home/sk8er/www/rutorrent/ измените на адрес на вашем сервере до rutorrent. Теперь создадим файл с паролем. Вводим команду:
1
|
htpasswd
-
c
htpasswd
имя_пользователя
|
Вместо имя_пользователя вводим любой логин, на пример rtorrent. После нужно будет 2 раза ввести пароль, что и делаем. Всё, теперь перезапускаем Apache и пытаемся зайти на страничку с клиентом. Если появилось окно для логина - всё сделано верно.
Возможно я что то пропустил. Если у вас возникли какие-либо проблемы можете задать вопрос тут: dzd54.ru/ask.