View previous topic :: View next topic |
Author |
Message |
Bialy Guru
Joined: 20 Mar 2006 Posts: 486
|
Posted: Tue Nov 17, 2009 1:40 pm Post subject: Poprawne zainstalowanie rTorrent'a i wTorrent'a (x86) HowTo |
|
|
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ę
--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 |
|
|
SlashBeast Retired Dev
Joined: 23 May 2006 Posts: 2922
|
Posted: Tue Nov 17, 2009 2:27 pm Post subject: |
|
|
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 |
|
|
timor Guru
Joined: 25 May 2005 Posts: 517 Location: Poland
|
Posted: Mon Nov 30, 2009 9:38 pm Post subject: |
|
|
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 |
|
|
vinkler n00b
Joined: 15 Dec 2009 Posts: 1
|
Posted: Tue Dec 15, 2009 12:46 pm Post subject: |
|
|
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 |
|
|
tgR10 Apprentice
Joined: 23 Oct 2007 Posts: 262 Location: caly ten ambaras
|
Posted: Mon Jan 11, 2010 8:41 pm Post subject: |
|
|
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 |
|
|
SlashBeast Retired Dev
Joined: 23 May 2006 Posts: 2922
|
Posted: Mon Jan 11, 2010 9:02 pm Post subject: |
|
|
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 |
|
|
tgR10 Apprentice
Joined: 23 Oct 2007 Posts: 262 Location: caly ten ambaras
|
Posted: Wed Jan 13, 2010 9:06 pm Post subject: |
|
|
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 |
|
|
|
|
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
|
|