Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Poprawne zainstalowanie rTorrent'a i wTorrent'a (x86) HowTo
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish) Instalacja i sprzęt
View previous topic :: View next topic  
Author Message
Bialy
Guru
Guru


Joined: 20 Mar 2006
Posts: 486

PostPosted: Tue Nov 17, 2009 1:40 pm    Post subject: Poprawne zainstalowanie rTorrent'a i wTorrent'a (x86) HowTo Reply with quote

Witam,

Z góry chciałbym podziękować wujkowi i cioci.
Podczas instalowania tego duetu napotkałem masę przeszkód, dlatego postanowiłem stworzyć mały how-to.

Jako, że serwis uruchamiałem na serwerze z profilem hardened, dlatego domyślne flagi jak i wersje programów na innych profilach mogą się różnić.

Zaczynamy od wybrania oprogramowania:
    1) rtorrent
    2) apache + mod_scgi
    3) wtorrent


rTorrent
Przed instalacją rTorrent'a musimy uzbroić go w odpowiednie flagi:
Code:
/etc/portage/package.use

net-p2p/rtorrent daemon xmlrpc

Po instalacji tworzymy użytkownika, na którym rTorrent będzie uruchomiony (ze względów bezpieczeństwa nie używamy root'a; jeśli w systemie jest już użytkownik, którego możemy użyć, to pomijamy ten kroczek):
Code:
useradd -m -G users UZYTKOWNIK
passwd UZYTKOWNIK

Powiadamiamy rTorrent'a jakiego użytkownika ma użyć:
Code:
/etc/conf.g/rtorrentd

USER="UZYTKOWNIK"

Rozpakowujemy domyślną konfigurację z /usr/share/doc/rtorrent/rtorrent-X.X.X/rtorrent.rc.bz2 (gdzie X.X.X zastępujemy numerem wersji rTorrenta) i umieszczamy w katalogu domowym UZYTKOWNIKa pod nazwą .rtorrent.rc. Edytujemy go według potrzeb dopisując:
Code:
scgi_port = 127.0.0.1:5000

Od wersji 0.8.4 zmieniła się sekcja odpowiadająca za zatrzymywanie udostępniania po osiągnięciu odpowiedniego ratio, powinna ona wyglądać mniej więcej tak:
Code:
# Enable the default ratio group.
ratio.enable=

# Change the limits, the defaults should be sufficient.
ratio.min.set=100
ratio.max.set=300
ratio.upload.set=20M

# Changing the command triggered when the ratio is reached.
system.method.set = group.seeding.ratio.command, d.stop=

Najnowsza wersja rTorrent'a nie posiada już błędu w skrypcie startowym - jeżeli rTorrent startuje prawidłowo, to można pominąć poniższy krok.
Naprawy może potrzebować plik /etc/init.d/rtorrentd, w którym sekcja start powinna wyglądać mniej więcej tak:
Code:
start() {
        PWHOME="$(getent passwd $USER | awk -F: '{ print $6 }')"

        ebegin "Starting rtorrent"
        env TERM="xterm" \
        start-stop-daemon --start --chuid $USER \
        --env HOME="${PWHOME:-/home/$USER}" \
        --exec /usr/bin/screen -- -dmS rtorrentd rtorrent
        eend $?
}


apache + mod_scgi
Przed instalacją uzbrajamy potrzebne pakiety w odpowiednie flagi:
Code:
/etc/portage/package.use

dev-lang/php cgi curl force-cgi-redirect pdo pic sqlite xml xmlrpc


mod_scgi niestety znajduje się w gałęzi niestabilnej:
Code:
/etc/portage/package.keywords

www-apache/mod_scgi ~x86

Dodatkowo może istnieć potrzeba dodania flag pdo i sqlite do /etc/make.conf
Po zainstalowaniu apache, mod_scgi i php należy odpowiednio skonfigurować apache.
Edytujemy poniższe pliki według potrzeb dopisując:
Code:
/etc/conf.d/apache2

APACHE2_OPTS="-D PHP"

Code:
/etc/apache2/httpd.conf

LoadModule scgi_module /usr/lib/apache2/modules/mod_scgi.so
SCGIMount /RPC2 127.0.0.1:5000
<Location /RPC2>
        AuthName "Private"
        AuthType Basic
        AuthBasicProvider file
        AuthUserFile /MIEJSCE_GDZIE_APACHE_BĘDZIE_MÓGŁ_ODCZYTAĆ_PLIK/htpasswd
        Require user UZYTKOWNIK
</Location>

Code:
/etc/apache2/vhosts.d/00_default_vhost.conf

<VirtualHost *:80>
    ServerAdmin webmaster@TWOJA.DOMENA
    ServerName ADRES.TWOJA.DOMENA:80
    DocumentRoot "/SCIEZKA_INSTALACJI_WTORRENTA"
    SCGIMount /RPC2 127.0.0.1:5000
    <Directory "/SCIEZKA_INSTALACJI_WTORRENTA">
        Options ExecCGI FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
 </VirtualHost>

Należy teraz aktywować autoryzację:
Code:
htpasswd -c /MIEJSCE_GDZIE_APACHE_BĘDZIE_MÓGŁ_ODCZYTAĆ_PLIK/htpasswd UZYTKOWNIK



wTorrent
wTorrent'a musimy ściągnąć ze strony projektu. Najpierw przechodzimy w miejsce (używając polecenie cd), w którym chcemy umieścić wTorrent'a (przy ściąganiu programu powstanie katalog wtorrent wraz z podkatalogami) i wykonujemy:
Code:
svn co http://svn.wtorrent-project.org/wtorrent/trunk/wtorrent/

*svn znajduje się w paczce dev-util/subversion.

Teraz należy usunąć wszystkie pliki i katalogi z folderu wtorrent/db/ oraz przekopiować plik konfiguracyjny:
Code:
cd wtorrent/conf/
cp sample.user.conf.php user.conf.php

Najnowsze wersje wTorrenta posiadają zaaplikowany poniższy patch - jeśli ściągnąłeś wersję 107 lub późniejszą, to pomiń poniższy krok.
Na plik wtorrent/lib/xmlrpc/xmlrpc.inc.php należy nałożyć następujący patch (bez tego wTorrent nie będzie mógł się połączyć z rTorrent'em):
Code:
Index: xmlrpc.inc.php
===================================================================
--- xmlrpc.inc.php   (revision 100)
+++ xmlrpc.inc.php   (working copy)
@@ -49,7 +49,8 @@
    // so that xmlrpc.inc will work even if included from within a function
    // Milosch: 2005/08/07 - explicitly request these via $GLOBALS where used.
    $GLOBALS['xmlrpcI4']='i4';
-   $GLOBALS['xmlrpcInt']='int';
+   $GLOBALS['xmlrpcI8']='i8';
+   $GLOBALS['xmlrpcInt']='int';
    $GLOBALS['xmlrpcBoolean']='boolean';
    $GLOBALS['xmlrpcDouble']='double';
    $GLOBALS['xmlrpcString']='string';
@@ -61,6 +62,7 @@
 
    $GLOBALS['xmlrpcTypes']=array(
       $GLOBALS['xmlrpcI4']       => 1,
+      $GLOBALS['xmlrpcI8']       => 1,
       $GLOBALS['xmlrpcInt']      => 1,
       $GLOBALS['xmlrpcBoolean']  => 1,
       $GLOBALS['xmlrpcString']   => 1,
@@ -75,6 +77,7 @@
       'VALUE' => array('MEMBER', 'DATA', 'PARAM', 'FAULT'),
       'BOOLEAN' => array('VALUE'),
       'I4' => array('VALUE'),
+      'I8' => array('VALUE'),
       'INT' => array('VALUE'),
       'STRING' => array('VALUE'),
       'DOUBLE' => array('VALUE'),
@@ -433,6 +436,7 @@
                $GLOBALS['_xh']['php_class']=null;
                break;
             case 'I4':
+            case 'I8':
             case 'INT':
             case 'STRING':
             case 'BOOLEAN':
@@ -600,6 +604,7 @@
                break;
             case 'BOOLEAN':
             case 'I4':
+            case 'I8':
             case 'INT':
             case 'STRING':
             case 'DOUBLE':
@@ -2728,6 +2733,7 @@
                   $this->me['string']=$val;
                   break;
                case 'i4':
+               case 'i8':
                case 'int':
                case 'double':
                case 'string':
@@ -2944,6 +2950,7 @@
                      break;
                   case $GLOBALS['xmlrpcInt']:
                   case $GLOBALS['xmlrpcI4']:
+                  case $GLOBALS['xmlrpcI8']:
                      $rs.="<${typ}>".(int)$val."</${typ}>";
                      break;
                   case $GLOBALS['xmlrpcDouble']:
@@ -3159,7 +3166,8 @@
       {
          reset($this->me);
          list($a,)=each($this->me);
-         if($a==$GLOBALS['xmlrpcI4'])
+         if($a==$GLOBALS['xmlrpcI4']
+         || $a==$GLOBALS['xmlrpcI8'])
          {
             $a=$GLOBALS['xmlrpcInt'];
          }

Teraz należy nadać odpowiednie prawa na katalog wtorrent/
Code:
chown -R apache:apache wtorrent/


Uruchamianie
Uruchamiamy apache i rtorrenta.
Aby sprawdzić czy autoryzacja działa łączymy się ze stroną http://TWOJA.DOMENA/RPC2, jeśli wszystko jest OK, to powinien wyskoczyć monit o podanie loginu i hasła.

Łączymy się teraz ze stroną http://ADRES.TWOJA.DOMENA/install.php i konfigurujemy według potrzeb, na przykład:
Code:
<?php
/* wTorrent autoconfiguration file. Created 17/11/2009 */
define ('LANGUAGE', 'pl_PL');
define ('DB_FILE', 'db/database.db'); //zostawiamy bez zmian
define ('RT_HOST', 'localhost'); //zostawiamy bez zmian
define ('RT_PORT', 80); //zostawiamy bez zmian
define ('RT_DIR', '/RPC2'); //zostawiamy bez zmian
define ('RT_AUTH', true); //zostawiamy bez zmian
define ('RT_USER', 'UZYTKOWNIK'); //użytkownik wykorzystywany do autoryzacji
define ('RT_PASSWD', 'HASLO'); // hasło jak wyżej
define ('NO_MULTICALL', true);
define ('EFFECTS', true);
define ('DIR_TORRENTS', 'torrents/'); //zostawiamy bez zmian
define ('DIR_EXEC', '/SCIEZKA_INSTALACJI_WTORRENTA/');
define ('DIR_DOWNLOAD', '/SCIEZKA_ZAPISYWANIA/');
?>

+ podajemy login i hasło dostępu do wTorrenta
Jeżeli ścieżka położenia plików .torrent jest inna niż wtorrent/torrents/, to należy zrobić link do odpowiedniego folderu:
Code:
rm -R torrents
ln -s /SCIEZKA_DO_PLIKÓW_TORRENT/ torrents

Dla bezpieczeństwa usuwamy także plik wtorrent/install.php
I już wszystko powinno działać.


Proszę pamiętać, że udostępnianie plików, które są chronione prawi autorskimi jest przestępstwem!

PS. Czekam na kreatywną krytykę :wink:

--EDIT--
Dodano informację o zmianie sekcji ratio.
Poprawiono scgi_port.
Zmieniono adres strony projektu wTorrent'a.


Last edited by Bialy on Fri Aug 27, 2010 10:53 am; edited 7 times in total
Back to top
View user's profile Send private message
SlashBeast
Retired Dev
Retired Dev


Joined: 23 May 2006
Posts: 2922

PostPosted: Tue Nov 17, 2009 2:27 pm    Post subject: Reply with quote

Quote:
Proszę pamiętać, że udostępnianie plików, które łamią prawa autorskie jest przestępstwem!

Raczej udostepnianie plikow obietych prawem autorksim jest lamaniem praw autorskich.

Anyway, po co takie cos dodajesz do posta? Zdziwil bys sie ile ludzi uzywa torrenta nie lamaic zadnych praw czy norm...

A co do php, nie wlaczyles w nim safemode? Pewnie nie, bo wtorrent by nie dzialal z nim, ale masz profil hardened a nie pobawiles sie w ograniczanie php? Nawet system() nie zablokowales? You doing it wrong.
Back to top
View user's profile Send private message
timor
Guru
Guru


Joined: 25 May 2005
Posts: 517
Location: Poland

PostPosted: Mon Nov 30, 2009 9:38 pm    Post subject: Reply with quote

Będę świnia... no cóż... ;)
Korzystałem z tego tandemu przez pewien czas, ale ostatnio pobawiłem się przez chwilę transmission. Może panel bardziej prymitywny ale klient w moim odczuciu dużo szybszy. Na podobnych ustawieniach i tym samym sprzęcie działa aż huczy. Ściągałem obrazy Fedory zaraz jak 12-tka wyszła i szczena mi opadła. Do tego podstawowa konfiguracja jest prostsza i nie wymaga serwera www.
_________________
Nie lubię chomików.... budzą we mnie agresję...
Back to top
View user's profile Send private message
vinkler
n00b
n00b


Joined: 15 Dec 2009
Posts: 1

PostPosted: Tue Dec 15, 2009 12:46 pm    Post subject: Reply with quote

Witam.
Jak widzę instalacja znacznie bardziej "rozbudowana" niż w moim U9.10, ale nie o tym chciałem.
wTorrent posiada całkiem milutki i spolszczony interface, ale ma też bardzo irytująca cechę mianowicie nie potrafi samoczynie aktualizować statystyk czyli tego co wyświetla.
Znalazł Ktoś sposób na tą niedogodność?

P.S.
Z tego własnie względu obecnie korzystam z rTgui, który nie wymaga specjalnych zabiegów podczas instalacji i pracuje jak należy.
Back to top
View user's profile Send private message
tgR10
Apprentice
Apprentice


Joined: 23 Oct 2007
Posts: 262
Location: caly ten ambaras

PostPosted: Mon Jan 11, 2010 8:41 pm    Post subject: Reply with quote

SlashBeast wrote:

A co do php, nie wlaczyles w nim safemode? Pewnie nie, bo wtorrent by nie dzialal z nim, ale masz profil hardened a nie pobawiles sie w ograniczanie php? Nawet system() nie zablokowales? You doing it wrong.

a safe mode w php to sie nadaje ... sami tworcy php mowia ze to pic na wode i w php 6.0 wogole safe mode nie bedzie ...
takze ten tekst o safemode mozna sobie wsadzic
i wracajac do tematu to jest to opis jak to zrobic, a nie zabezpieczyc bo zabezpieczenie serwera www/php/sql to troszke inna sprawa
a howto ciekawe napewno ktos skorzysta, sam znajomemu linka wyslalem bo szukal czegos takiego :)
_________________
"bo kto ma racje ? ten kto z bliska zobaczy"
"moge nie wiedziec,wchlaniam niewiedze z malych torebek"
http://i12.tinypic.com/4pow0mu.png
http://userbar.tgr.debil.eu/userbar.jpg
Back to top
View user's profile Send private message
SlashBeast
Retired Dev
Retired Dev


Joined: 23 May 2006
Posts: 2922

PostPosted: Mon Jan 11, 2010 9:02 pm    Post subject: Reply with quote

safe_mode to naraz kupa blokad, sam fakt, ze wtorrent dziala mowi o tym, ze openbasedir nawet jest dozwolone, masakra a nie bezpieczenstwo. Nie opowiadaj o safe_mode ze to pic, bo blokuje to i owo, ktos Cie przeczyta i stwierdzi, ze nie ma roznicy z czy bez safe_mode. w php6 ma nie byc safemode, i ludzie beda skazani na reczne blokowanie tego i owego, nic magicznego.
Back to top
View user's profile Send private message
tgR10
Apprentice
Apprentice


Joined: 23 Oct 2007
Posts: 262
Location: caly ten ambaras

PostPosted: Wed Jan 13, 2010 9:06 pm    Post subject: Reply with quote

co niezmienia faktu ze ten tutek to nie o bezpieczenstwie jest a ludzie nie powinni przyzwyczajac sie do safemode
po to napisalem zeby ktos przeczytal.
_________________
"bo kto ma racje ? ten kto z bliska zobaczy"
"moge nie wiedziec,wchlaniam niewiedze z malych torebek"
http://i12.tinypic.com/4pow0mu.png
http://userbar.tgr.debil.eu/userbar.jpg
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish) Instalacja i sprzęt All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum