Po zainstalowaniu rtorrent++ z paczki qpkg dysponujemy trzema różnymi interfejsami do obsługi dostępnymi z poziomu przeglądarki. Problem polega na tym, że dostęp do nich nie jest w żaden sposób zabezpieczony więc jeśli nasz Qnap jest podłączony do internetu na publicznym adresie IP lub korzystamy z wbudowanego serwera web to każdy ciekawski może nam w tych interfejsach grzebać Postanowiłem coś z tym zrobić i po odszukaniu odpowiednich informacji zastosowałem autoryzację dostępu za pomocą loginu i hasła. Poniżej opis jak to zrobić na przykładzie TS-109 II, w innych urządzeniach ścieżki do plików mogą się różnić.
//edycja
Uwaga, część pierwsza (wzięta w quote) opisu dotycząca konfiguracji serwera Apache zawiera gdzieś błąd. Początkowo wszystko działało jednak po restarcie Qnapa zauważyłem problemy, nie chciały się wczytywać żadne strony. Na tę chwilę nie wiem co powoduję problem, moja wiedza o Apache jest praktycznie zerowa więc proszę bardziej zorientowanych o przeanalizowanie i pomoc w naprawie błedu. Jednocześnie też będę oczywiście szukał przyczyny problemów na własną rękę. Druga część opisu dotycząca lighttpd jest ok, nie zauważyłem żadnych problemów.
Drugi etap to konfiguracja serwera lighttpd bo trzeci interfejs jak i strona główna wyboru interfejsu korzysta właśnie z niego.
Odnajdujemy plik:
robimy kopie na wszelki wypadek i edytujemy go.
Odnajdujemy linię:
i "okomentowujemy ją usuwając znak # na początku wiersza. Następnie wiersz:
zamieniamy na:
Dodajemy sekcję:
i zapisujemy plik.
Teraz pozostało w katalogu:
utworzyć plik .lightpasswd i umieścić w nim listę autoryzowanych użytkowników wraz z hasłami w formacie:
zapisać plik, zrestartować rtorrent++ z panelu zarządzania paczkami QPKG i gotowe.
ps. być może popełniłem gdzieś w opisie błąd, robiłem taką operację po raz pierwszy więc mogło się zdarzyć, w każdym razie u mnie działa
//edycja
Uwaga, część pierwsza (wzięta w quote) opisu dotycząca konfiguracji serwera Apache zawiera gdzieś błąd. Początkowo wszystko działało jednak po restarcie Qnapa zauważyłem problemy, nie chciały się wczytywać żadne strony. Na tę chwilę nie wiem co powoduję problem, moja wiedza o Apache jest praktycznie zerowa więc proszę bardziej zorientowanych o przeanalizowanie i pomoc w naprawie błedu. Jednocześnie też będę oczywiście szukał przyczyny problemów na własną rękę. Druga część opisu dotycząca lighttpd jest ok, nie zauważyłem żadnych problemów.
Krok pierwszy to przystosowanie serwera Apache do obsługi plików .htacces. Odnajdujemy plik:
robimy kopie w bezpiecznym miejscu i edytujemy go.Code:/mnt/HDA_ROOT/apache/conf/apache.conf
Należy znaleźć następującą sekcję:
i zmienić ją na:Code:<Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory "/share/Qweb"> Options FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory>
Następnie tworzymy plik .htaccess o poniższej zawartości:Code:<Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory "/share/Qweb"> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory>
gdzie /home/.htpasswd to ścieżka do pliku z listą użytkowników z zapisanymi hasłami, może być inna ale plik .htpasswd należy utworzyć w obszarze niedostępnym dla wszystkich.Code:AuthUserFile /home/.htpasswd AuthType Basic AuthName "Password protected area" <LIMIT GET POST> require valid-user </LIMIT>
Plik .htaccess kopiujemy do katalogów:
Teraz tworzymy plik .htpasswd w lokalizacji wskazanej w plikach .htaccess (w powyższym przykładzie to katalog /home).Code:/share/HDA_DATA/Qweb/rtgui /share/HDA_DATA/Qweb/wTorrent
Na tej stronie http://www.htmlite.com/HTA006a.php możemy wygenerować zakodowane hasła dla autoryzowanych użytkowników, wpisujemy nazwę użytkownika i hasło a następnie wygenerowany wynik umieszczamy w pliku .htpasswd i zapisujemy go.
Restartujemy serwer web i od tej chwili mamy już zabezbieczony dostęp do dwóch pierwszych interfejsów obsługiwanych przez Apache.
Drugi etap to konfiguracja serwera lighttpd bo trzeci interfejs jak i strona główna wyboru interfejsu korzysta właśnie z niego.
Odnajdujemy plik:
Code:
/mnt/HDA_ROOT/rootfs_2_3_6/root/.rtorrent++/lighttpd.conf
Odnajdujemy linię:
Code:
#auth.backend = "plain"
Code:
#auth.backend.plain.userfile = "lighttpd.user"
Code:
auth.backend.plain.userfile = "/root/.rtorrent++/.lightpasswd"
Code:
auth.require = ( "/" =>
(
"method" => "basic",
"realm" => "Password protected area",
"require" => "valid-user"
)
)
Teraz pozostało w katalogu:
Code:
/mnt/HDA_ROOT/rootfs_2_3_6/root/.rtorrent++
Code:
uzytkownik:haslo
uzytkownik2:haslo
ps. być może popełniłem gdzieś w opisie błąd, robiłem taką operację po raz pierwszy więc mogło się zdarzyć, w każdym razie u mnie działa