rtGui i Arch Linux

jako że ostatnio zamieniłem dystrybucję Linuksa na moim serwerze (wspomnianym tutaj wcześniej) na Arch Linuxa (zamiast Slackware) – wizja rolling release model mnie po prostu urzekła, poza tym sam pacman to całkiem fajna rzecz, o ABS już nie wspominając – chciałem na nim zainstalować coś podobnego do tego, co miałem na Slacku. nie obyło się jednak bez problemów. oczywiście podstawowy opis przeprowadzenia wszystkich czynności jest mniej więcej taki sam, jak na Slackware, to trzeba wziąć pod uwagę następujące rzeczy :

1) rtorrent który znajduje się w repozytoriach community pacmana jest skompilowany bez obsługi XMLRPC-C. musimy go więc przekompilować, aby obsługę tego protokołu zawierał. w tym celu wykorzystamy wspomniane już ABS. najpierw kopiujemy PKGBUILD z ABS dla tego właśnie rTorrenta i dodajemy flagę –with-xmlrpc-c w ./configure.

następnie w katalogu wpisujemy makepkg i czekamy, aż kompilacja się zakończy. jeśli dostaniemy jakieś komunikaty odnośnie niespełnionych zależności – pacman -S nazwapaczki. jeśli mamy już gotową paczkę z nowym, zaXMLRPC-owanym rTorrentem, wpisujemy pacman -U nazwapaczkiznowymrtorrentem.pkg.tar.gz, oczywiście jako root. i tyle.

2) uprawnienia – w slackware domyślnymi uprawnieniami dla katalogów domowych było 755, w archu jest to 700 (co w sumie ma większy sens) – dlatego plik, do którego dostęp będzie uzyskiwał serwer http (lokalnego socketa SCGI tworzonego przez rtorrenta), trzeba umieścić w jakimś innym katalogu, do którego on też będzie miał dostęp. nie zapominamy oczywiście o nadaniu odpowiednich uprawnień na sam socket – ja to robię od razu w skrypcie startowym. można, oczywiście, uruchamiać serwer z uprawnieniami tego samego użytkownika i tej samej grupy, co rTorrenta (i tak chyba zrobiłem ostatnio, a nawet tak napisałem), jednak odseparowanie ich wydaje mi się bardziej eleganckie.

3) PHP – ten problem w sumie zajął mi najwięcej czasu – otóż domyślna konfiguracja PHP dostarczana wraz z archlinuxową paczką różni się od domyślnej php.ini-dist. wydawałoby się, że paroma ustawieniami, zmienionymi dla zapewnienia wyższego bezpieczeństwa i „promowania poprawności kodu”. a jednak przy odpalaniu rtorrenta (nawet gdy xmlrpc już stuprocentowo działał) zawsze pojawiało się „cannot connect to rtorrent :(” (później zmieniłem to sobie na „you’re a filthy old slut”, coby to bardziej siebie zmotywować do poszukiwania błędu). dlaczego? ano dlatego :

allow_url_fopen = Off
allow_url_include = Off

te dwie linijki, mianowicie – odpowiednio 607 i 610 – efektywnie uniemożliwiały połączenie się rtgui z rtorrentem, z powodów mi nieznanych (oprócz oczywistych, czyli że blokują funkcje, których rtgui używa – jednak „głębiej” nie wchodziłem w to). po zamianie wartości na „On” wszystko elegancko działa.

oprócz uploadu torrentów. wtedy mi rtgui wywala „error moving file, check permissions etc.”. ale to już – chyba – mniejszy problem.

errata : po odpaleniu lighttpd na momencik z uprawnieniami roota i próbie uploadu torrenta na serwer ujrzałem taki sam komunikat, jak powyżej – było więc oczywiste, że coś nie gra. winny jest znowu plik konfiguracyjny PHP, a mianowicie dyrektywa :

open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear

która ogranicza jakiekolwiek operacje plikowe tylko i wyłącznie do wymienionych katalogów. odpowiednie jej wyedytowanie (bądź wykomentowanie. tak, poszedłem na łatwiznę) umożliwia upload torrentów.

Informacje o Daniel

freezingly cold soul
Ten wpis został opublikowany w kategorii komputer. Dodaj zakładkę do bezpośredniego odnośnika.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s