poniedziałek, 2 lutego 2009

Interfejs sieciowy WebUI dla rTorrenta - wTorrent.

Istnieje całkiem sporo sieciowych nakładek WebUI na rTorrent'a, ale prawdopodobnie największą uwagę zwraca wTorrent, a to dzięki bardzo milutkiemu i całkowicie" spolszczonemu" interfejsowi.
Aby skorzystać z możliwośći jaką daje wTorrent należy zainstalować potrzebne oprogramowanie:

(tutaj drobna uwaga: rTorrent MUSI być zainstalowany z obsługą xmlrpc i własnie tak będzie gdy zainstalujemy go z repozytoriów dla Ubuntu 8.10.
Nie wiem dokładnie od kiedy tak jest, ale tak własnie jest, zatem odpada potrzeba instalacji ze źródeł)
Zatem:

# sudo apt-get install apache2 php5 php5-xmlrpc php5-sqlite sqlite libxmlrpc-c3 libapache2-mod-scgi rtorrent subversion


Tuż po instalacji można sprawdzić czy serwer apache działa wpisując w przeglądarkę:

http://localhost

Tekst It works! świadczy o poprawnej pracy serwera.
Następnie tworzymy w katalogu domowym folder public_html:

$ mkdir ~/public_html

Następnym krokiem będzie poinformowanie apache gdzie ma "patrzeć", zatem;

# sudo nano /etc/apache2/sites-available/default

Zastępujemy treść tego pliku takim wpisem: (Jako user podajemy własną nazwę użytkownika.)

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /home/user/public_html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/user/public_html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
LoadModule scgi_module /usr/lib/apache2/modules/mod_scgi.so
SCGIMount /RPC2 127.0.0.1:5000
</VirtualHost>



Dwie ostatnie linijki tego wpisu to przekazanie, (sprzeżenie) rtorrent'a i serwera apache.
Następnie restart serwera:

# sudo /etc/init.d/apache2 restart

Kolejny krok to utworzenie w folderze domowym katalogów roboczych dla rtorrenta: (stosownie do własnych potrzeb)

$ mkdir ~/Dane
$ mkdir ~/Dane/pliki
$ mkdir ~/Dane/sesje

oraz pliku konfiguracyjnego:

$ nano ~/.rtorrent.rc

o takiej treści (to mój przykład, który należy dostosować do własnych potrzeb)

session = /home/user/Dane/sesje
directory = /home/user/Dane
upload_rate = 0
download_rate = 0
use_udp_trackers = yes
max_uploads = 200
port_range = 6892-6892
min_peers=10
max_peers=400
check_hash = no
schedule = low_diskspace,5,60,close_low_diskspace=20M
schedule = watch_directory,5,5,load_start=/home/user/Dane/pliki/*.torrent
schedule = untied_directory,5,5,stop_untied=
scgi_port = localhost:5000

Najistotniejsza jest ostatnia linijka niezbędna do poprawnej pracy wtorrenta.
Test działania rtorrenta:

$ rtorrent

oraz test słuchania

# sudo netstat -npl | grep rtorrent

Jeżeli wynik będzie zbliżony do tego:

tcp 0 0 127.0.0.1:5000 0.0.0.0:* LISTEN 6642/rtorrent
tcp 0 0 0.0.0.0:6892 0.0.0.0:* LISTEN 6642/rtorrent

to jest dobrze. :-)

Zamykamy działanie rTorrenta w sesji screen 'a i przechodzimy do folderu:

$ cd ~/public_html

wykonujemy:

$ svn co svn://wtorrent-project.org/repos/trunk/wtorrent/
$ mv wtorrent/* .
# sudo cp /conf/sample.user.conf.php /conf/user.conf.php

Pozostaje nadanie odpowiednich uprawnień:

# sudo chown -R www-data:www-data *


W przeglądarce wybieramy:

http://localhost/install.php

Wypełniamy odpowiednie pola i zapisujemy konfigurację.
Następnie w celach bezpieczeństwa usuwamy plik:

# sudo rm ~/public_html/install.php

W przeglądarce wybieramy:

http://localhost/index.php

i efekt:



P.S.
Większość tutoriali poświęconych wtorrentowi zakłada uruchamianie rtorrenta w sesji screen 'a razem ze startem systemu.
Z punktu widzenia działania wtorrenta nie jest to konieczne aczkolwiek instalacja na serwerze np. domowym ułatwia obsługę.
Aby spowodować uruchamianie rtorrenta wraz z systemem najlepiej skorzystać z gotowego skryptu, a zatem:

# wget http://libtorrent.rakshasa.no/attachment/wiki/RTorrentCommonTasks/rtorrentInit.sh?format=raw -O /etc/init.d/rtorrent

następnie edytujemy skrypt zastępując nazwę user swoją nazwą użytkownika:

# nano /etc/init.d/rtorrent

nadajemy prawo do wykonania jako programu, umożliwiamy autostart i startujemy.

# chmod +x /etc/init.d/rtorrent
# update-rc.d rtorrent defaults
# /etc/init.d/rtorrent start

Podczas następnego startu systemu rtorrent zostanie automatycznie uruchomiony w sesji screen 'a.