Strona 1 z 1

[+] Rtgui - nie pokazuje wolnego miejsca, nie można dodać torrenta

: 07 lutego 2012, 19:27
autor: bagheera
Witam.
M
am zainstalowanego Debiana w wersji 6. Zainstalowałem również program rtorrent oraz rtgui z oficjalnego repozytorium. Skonfigurowałem, w zasadzie dobrze oprócz dwóch funkcji, na których mi zależy. Niestety nie jestem w stanie stwierdzić, dlaczego one nie działają, i tutaj potrzebne jest mi Wasze wsparcie.

Nie mogę dodawać nowych torrentów przez przesyłanie plików oraz nie jest prawidłowo raportowane wolne miejsce na dysku.

Próba dodania pliku kończy się komunikatem:

Kod: Zaznacz cały

Error moving file - check permissions etc! Continue.

Sprawdziłem więc, co znajduje się w logu /var/log/apache2/error.log

Kod: Zaznacz cały

[Mon Feb 06 21:17:43 2012] [error] [client 192.168.2.100] PHP Warning:  move_uploaded_file(/home/bagheera/download/rtorrent/watch/South_Park_S15E14_HDTV_XviD-ASAP_[eztv].6824093.TPB.torrent): failed to open stream: Permission denied in /usr/share/rtgui/www/control.php on line 91, referer: http://192.168.2.108/rtgui/index.php?setview=main
[Mon Feb 06 21:17:43 2012] [error] [client 192.168.2.100] PHP Warning:  move_uploaded_file(): Unable to move '/tmp/phpkcHUwv' to '/home/bagheera/download/rtorrent/watch/South_Park_S15E14_HDTV_XviD-ASAP_[eztv].6824093.TPB.torrent' in /usr/share/rtgui/www/control.php on line 91, referer: http://192.168.2.108/rtgui/index.php?setview=main
Jak widać, wydaje się to być problem z uprawnieniami. Sprawdziłem więc uprawnienia do katalogu ,,watch''.

Kod: Zaznacz cały

bagheera@debian:/var/www$ ls -al /home/bagheera/download/rtorrent/
razem 24
drwxrw-rw- 6 bagheera bagheera 4096 01-31 20:16 .
drwxrw-rw- 3 bagheera bagheera 4096 01-31 20:24 ..
drwxr-xr-x 2 bagheera bagheera 4096 01-31 20:10 completed
drwxrw-rw- 6 bagheera bagheera 4096 02-05 23:18 download
drwxrw-rw- 2 bagheera bagheera 4096 02-06 21:16 session
drwxrw-rw- 2 bagheera bagheera 4096 01-31 20:41 watch
Jak widać, uprawnienia do zapisu przez innych są.

Nie znam php, ale zajrzałem do pliku control.php, i mamy tutaj kawałek kodu, który zatrzymał moją dalszą analizę problemu

Kod: Zaznacz cały

// Upload torrent file...
if (isset($r_uploadtorrent)) {
   if ($_FILES['uploadtorrent']['name']!="") {
      $tmpfile=$_FILES['uploadtorrent']['name'];
      if (move_uploaded_file($_FILES['uploadtorrent']['tmp_name'], $watchdir.basename($_FILES['uploadtorrent']['name']))) {
         $response = do_xmlrpc(xmlrpc_encode_request("load_start",array($watchdir.basename($_FILES['uploadtorrent']['name']))));
         header("Location: index.php");
      } else {
         echo "Error moving file - check permissions etc!  <a href=index.php>Continue</a>.\n";
      }
      die();
   }
}
Wróćmy jeszcze do funkcji sprawdzania wolnego miejsca. W logu pojawia się informacja:

Kod: Zaznacz cały

[Mon Feb 06 21:06:23 2012] [error] [client 192.168.2.100] PHP Warning:  disk_total_space(): Permission denied in /usr/share/rtgui/www/json.php on line 78, referer: http://192.168.2.108/rtgui/index.php
[Mon Feb 06 21:06:23 2012] [error] [client 192.168.2.100] PHP Warning:  Division by zero in /usr/share/rtgui/www/json.php on line 78, referer: http://192.168.2.108/rtgui/index.php
Co zrobiłem źle. Dlaczego to nie działa?

Dodane:
Udało mi się rozwiązać problem, stworzyłem katalog watch w /usr/share/rtgui/www. Do tego katalogu utworzyłem dowiązanie w swoim katalogu domowym. Teraz funkcje wysyłania plików oraz pokazywania wolnego miejsca działają prawidłowo.