Come compilare e installare wtorrent e rtorrent
Ho raccolto gli appunti sull’installazione di rtorrent e di wtorrent, queste istruzioni sono state testaste sul mio nslu2 su un pc normale e sono valide anche per altre sistemi su cui gira debian etch o ubuntu, bisogna solo procurarsi i pacchetti già compilati oppure compilarli sulla propria macchina. A differenza di molti altri tutorial qui è spiegato come configurare wtorrent con apache e quindi un requisito fondamentale è quello di avere installato sulla propria macchina apache e php. Su questo argomento ho scritto nei giorni scorsi un post che potete consultare per installare apache php e mysql. Per chi non lo sapesse rtorrent è un client torrent per sistemi linux che funziona da linea di comando, i suoi punti di forza sono la semplicità e la leggerezza. Rtorrent usa pochissime risorse di sistema ed è perfetto per i computer datati che vogliono essere trasformati in veri e propri centri di download, ad esempio io lo faccio girare sull’nslu2 che ha un processore arm a 266mhz e 32mb di ram, in pratica rtorrent gira su qualsiasi macchina.
Wtorrent invece è un client web che serve per controllare rtorrent, è un’interfaccia grafica che facilità l’utilizzo del programma. E’ scritto tutto in php ed è veramente utile perchè permette di utilizzare rtorrent senza digitare neanche un linea di comando.
Prima di passare alla parte pratica è meglio spiegare un paio di cose su rtorrent e wtorrent, allora rtorrent è un client torrent che gira da linea di comando, wtorrent è il software grafico che lo controlla. La domanda sorge spontanea ed è come: “come faccio a collegare tra loro i software??” i software comunicano tra di loro tramite un modulo di apache che si chiama SCGI ed rtorrent per poter essere comandato da wtorrent deve essere compilato con il supporto xmlrpc.
Quindi apache deve avere il modulo SCGI attivo e funzionante e rtorrent deve supportare il protocollo xmlrpc e nel sistema devono anche essere installate le librerie xmlrpc utilizzate da rtorrent.
In pratica wtorrent comunica con il modulo SCGI di apache che a sua volta gira la richiesta a rtorrent tramite il protocollo xmlrpc.
Non è difficilissimo come sistema ma era giusto spiegare bene quali componenti sono coinvolti.
Questo è un piccolo schemino della situazione:
Passiamo quindi all’installazione di questi due fantastici software, come ho già detto dovete avere una distribuzione debian o ubuntu con su installato apache + php, se non sapete come installare questi due software seguite questo mio tutorial precedente.
Iniziamo quindi ad installare un po di pacchetti, molti di questi serviranno per compilare i sorgenti.
apt-get install apache-common apache2-utils autoconf automake \
autotools-dev binutils build-essential bzip2 ca-certificates comerr-dev \
cpp cpp-4.1 dpkg-dev file g++ g++-4.1 gawk gcc gcc-4.1 libapache-mod-php5 \
libapr1 libaprutil1 libc6-dev libcurl3 libcurl3-openssl-dev libexpat1 \
libidn11 libidn11-dev libkadm55 libkrb5-dev libmagic1 libncurses5-dev \
libneon26 libpcre3 libpq4 libsigc++-2.0-dev libsqlite0 libsqlite3-0 \
libssl-dev libssp0 libstdc++6-4.1-dev libsvn1 libtool libxml2 subversion \
linux-kernel-headers lynx m4 make mime-support ntp ntpdate openssl patch \
perl perl-modules php5 php5-cgi php5-common php5-sqlite pkg-config screen \
sqlite subversion ucf zlib1g-dev libwww-dev unzip php-curl php-pear libapache2-mod-scgi\
Per prima compiliamo ed installalliamo la libreria xmlrpc-c, io di solito compilo tutti i pacchetti in \usr\src\ consiglio anche a voi di posizionarvi in questa directory, dopodichè digitate:
svn co https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced xmlrpc-c
cd xmlrpc-c/
./configure –disable-cplusplus
make
make install
Ora compiliamo e installalliamo rtorrent e una sua libreria fondamentale, digitate:
cd ..
mkdir rtorrent-svn
cd rtorrent-svn
svn co svn://rakshasa.no/libtorrent/trunk
svn up
cd trunk
cd libtorrent
./autogen.sh
./configure
make
make install
cd ../rtorrent
./autogen.sh
./configure –with-xmlrpc-c
make
make install
Dopo averlo installato testiamo il suo funzionamento, lanciamo il comando:
rtorrent
Vi dovrebbe dire che non trova il file rtorrent.rc all’interno della vostra home directory, quindi prendete il file di esempio rtorrent.rc e copiatelo all’interno della vostra home. Se siete utenti root spostatelo in /root , inoltre digitate questi comandi riferiti alla vostra home, nel mio caso è tutto impostato su root
cp /usr/share/doc/rtorrent/examples/rtorrent.rc /root/.rtorrent.rc
mkdir /root/.rtorrent
Rilanciate il programma, si dovrebbe avviare senza nessun errore.
Iniziamo quindi a configurare i vari componenti per farli comunicare tra di loro, per primo configuriamo rtorrent.
All’interno della vostra home aprite il file rtorrent.rc e inserite in fondo al file le seguenti riga:
scgi_port = localhost:5000
session = /root/.rtorrent
Chiudete e salvate e poi testate rtorrent, dopo averlo lanciato vi dovrà comparire un messaggio relativo alle librerie xmlrpc che sono state caricate correttamente e un avviso sul fatto che il programma è in ascolto su un’interfaccia di rete, dopodichè chiudete pure rtorrent.
Passiamo quindi ad apache, configuriamo il modulo SCGI, digitate il seguendo comando per caricare il modulo:
a2enmod scgi
Entrate dentro /etc/apache2/ ed aprite il file apache2.conf, in fondo inserite le seguenti righe:
SCGIMount /RPC2 127.0.0.1:5000
<Location /RPC2>
AuthName “Private”
AuthType Basic
AuthBasicProvider file
AuthUserFile /var/www/htpasswd
Require user root
</Location>
Chiudete e salvate il file, poi create un file di password in /var/www/htpasswd con il seguente comando:
htpasswd -c /var/www/wtorrent/htpasswd root
Dopodichè riavviate apache, per sicurezza date anche il comando:
chmod 755 /var/www/htpasswd
Quest’ultimo comando server per avere la certezza che il file possa essere letto da tutti senza problemi.
Piccola spiegazione di quello che abbiamo fatto:
Allora abbiamo detto ad apache di caricare il modulo SCGI utilizzando una directory virtuale /RPC2 protetta da username e password che sono contenute nel file htpasswd posizionato in /var/www/htpasswd.
In pratica per accedere al servizio SCGI ci vuole una password e un username, come username io ho scelto root. Poi abbiamo detto con la prima riga che i comandi SCGI devono essere reindirizzati a localhost sulla porta 5000 che è quella appunto utilizzata da rtorrent.
E’ ovvio che questo non è il sistema più sicuro del mondo però funziona e per gli inizi và più che bene poi più avanti quando avrete preso dimestichezza con le varie configurazioni potrete spostare i file delle password dove volete.
Ora in teoria è quasi tutto pronto, non ci resta che avviare rtorrent come demone in modo che sia sempre attivo e in ascolto sulla porta 5000, scaricate questo file e posizionatelo in /etc/init.d/, digitate quindi:
cd /etc/init.d/
wget http://libtorrent.rakshasa.no/attachment/wiki/RTorrentCommonTasks/rtorrentInit.sh?format=raw
mv rtorrentInit.sh\?format\=raw rtorrentinit
chmod 755 rtorrentinit
Editate il file rtorrentinit ed inserite tra doppi apici difianco alla scritta user la stringa: root, deve essere così:
user=”root”
In questo modo rtorrent girerà con i privilegi di root, come ho già detto se avete dimestichezza con il sistema potete utilizzare un altro utente stando attenti ai permessi. Salvate e chiudete ed infine digitate:
update-rc.d rtorrentinit defaults 99
Dopodichè digitate:
./rottorentinit start
In questo modo il demone rtorrent sarà pronto e attivo sull porta 5000, rimane solo wtorrent, posizioniamoci in /var/www e digitate:
wget “http://www.wtorrent-project.org/trac/changeset/latest/trunk/?old_path=%2F&format=zip” -O wtorrent.zip
unzip wtorrent.zip
mv trunk/wtorrent .
rm -rf trunk
mkdir wtorrent/tpl_c
chown -R www-data:www-data wtorrent
chmod -R 755 wtorrent
Wtorrent è pronto, dobbiamo solo testare i vari componenti, prima create una directory per il download dei file:
cd /var/www
mkdir download
chmod 777 download
Poi collegatevi con il browser al vostro server web digitando:
http://indirizzo_server/wtorrent/install.php
Se tutto è andato per il verso giusto apparirà la maschera di installazione, lasciate tutti i campi già compilati come sono e modificate solo questi:
Enable auth for the SCGI folder settato su TRUE
rTorrent scgi username = root
rTorrent scgi password= quella impostata prima con il comando htpasswd
Poi modificate SOLO e ripeto SOLO la directory dei download inserendo:
Folder to save uploaded torrents = /var/www/download/
Infine inserite un unsername e una password a piacere nei campi username e password, questi dati vi serviranno per collegarvi al client wtorrent.
Fate una prova di connessione e poi salvate tutto. Dovrebbe dirvi che è riuscito a collegarsi ad rtorrent e che dovete ricordarvi di cancellare il file install.php
Entrate quindi in /var/www/wtorrent/ e cancellate il file install.php
Ora wtorrent ed rtorrent sono pronti per essere utilizzati, basterà accedere via web all’indirizzo del vostro server in questo modo:
http://vostro_server/wtorrent
Ah giusto due cose in chiusura che mi stavo dimenticando:
Ho fatto diversi test, senza il file di password per il modulo scgi wtorrent non funziona, inoltre non si può modificare la directory di upload dei file .torrent perchè se no wtorrent dà errori strani.
Dall’interfaccia di wtorrent potete comandare rtorrent e far partire il download di qualsiasi torrent.
Ok spero di non aver dimenticato nulla, io ho seguito questa procedura sia sul mio pc normale che sull’nslu2 ed è andato tutto liscio, sull’nslu2 ci ha messo un pò a compilare tutti i pacchetti ma alla fine è andato tutto bene. Nei prossimi giorni faccio i formati .deb e li pubblico sul blog.
Se ci sono errori o imperfezioni o avete suggerimenti fatemelo sapere nei commenti, sono le 2.25 del mattino e mi sà che qualcosa mi è sfuggito, spero nulla, ma comunque se trovate qualcosa fatemelo sapere che lo correggo.
Happy download a tutti, e ricodate: Coltivate linux che tanto windows si pianta da solo (capita la battuta? ahahah!!)
ps: nei prossimi giorni scriverò un post anche sull’installazione di debian su nslu2 che non è un operazione particolarmente complessa.
Vota l’articolo




Loading...






















February 23rd, 2010 at 12:42 pm
Grazie! Apparte qualche errore di battitura mi deo complimentare per l’ottima guida.
April 29th, 2009 at 1:13 pm
E’ possibile installare anche mldonkey, che supporta tanti p2p?
February 11th, 2009 at 8:46 pm
Ehi sapresti dirmi dov’è situata la cartella /data?
mi da errore nei permessi dei file
February 8th, 2009 at 11:08 pm
Ehi nella lista dei pacchetti da avere manca il pacchetto automake
apt-get install automake
A me dava errore installando libcache2 senza quel pacchetto!
Bye
February 8th, 2009 at 10:18 pm
Attenzione che nella libreria xmlrpc-c il comando
./configure –disable-cplusplus
è
./configure – -disable-cplusplus!
Perchè facendo copia-incolla non lo prende!
December 21st, 2008 at 5:42 pm
ciao! ho letto la guida… stò installando rtorrent su un server ubuntu… tutto installato correttamente perkkato che al passaggio
./rtorrentinit start mi chiede una pass che non so, ho rpovato quella utente mia ma nulla….
questo è l’errore dopo lo sbagliato inserimento della pass
/var/log/rtorrentInit.log: Permission denied
cannot find readable config /.rtorrent.rc. check that it is there and permissions are appropriate
Ho provato a condividere la cartella dove risiede il file /.rctorrent.rc ma nulla… Sai consigliarmi qualkosa?
Grazie in anticipo!