.htaccess voor Spotweb

Wally73 edited this page Jan 30, 2015 · 1 revision

Deze pagina geldt alleen voor de Apache webserver (dus ook Synology NAS).

Een korte uitleg over .htaccess. Deze is nodig voor Spotweb als je de api wilt gebruiken, of als je het inloggen wilt beveiligen met bijvoorbeeld een wachtwoord.

Een .htaccess is gewoon een textbestand met daarin regels voor je website. Het ligt eraan wat je wilt beveiligen. De .htaccess werkt alleen voor de webdirectory waarin hij is geplaatst (en alle submappen daaronder).

Als spotweb in /volume1/web/spotweb staat dan sla je de .htaccess dus op als /volume1/web/spotweb/.htaccess.

Een .htaccess is het veiligst opgebouwd door alles te verbieden, en daarna uit te zonderen. Je kunt het ook andersom benaderen, door alles toe te staan, en daarna uit te zonderen.

De spotweb-api inschakelen

In de .htaccess voor spotweb zet je in ieder geval dit bovenaan (als je de api tenminste wilt gebruiken):
RewriteEngine on
RewriteCond %{REQUEST_URI} !api/
RewriteRule ^api/?$ index.php?page=newznabapi [QSA,L]

Afschermen met wachtwoord

Let op - we raden aan om het Spotweb systeem zelf te gebruiken om je Spotweb installatie af te schermen. Onderstaande maakt bijvoorbeeld integratie met sabnzbd of nzbget een stuk lastiger!

Als je wilt dat mensen een wachtwoord op moeten geven, en er meerdere users zijn, dan voeg je het volgende toe aan je .htaccess.
AuthName "Hier kun je wat leuks neer zetten"
AuthUserFile /pad/naar/.htpasswd
AuthType Basic
Zoals je ziet word er een pad opgegeven naar .htpasswd. Deze file zet je nooit in een webmap! Sla hem ergens op op een plek op het systeem wat niet wordt geshared zodat niemand zonder lokale toegang erbij kan. In dit bestand staan namelijk de users die toegang mogen hebben, met daarachter hun geëncrypte wachtwoorden. Hier kun je dit maken: http://www.htpasswd.nl/
Voer namen en wachtwoorden in. Druk daarna op Generate en kopieer de tekst uit de onderste box naar je .htpasswd file.

Onthou de wachtwoorden goed. Piet met wachtwoord Precies wordt namelijk: Piet:sC0TmN8qkLkiQ. Daar is niet uit op te maken dat Piet als wachtwoord Precies moet invullen als hij moet inloggen.

Uitzonderingen ongehinderd toestaan

Nu zul je niet elke keer wachtwoorden in willen vullen als je van bepaalde IP-adressen komt, zoals die binnen je eigen netwerk. Dat kan. We gaan iedereen weigeren en daarna lokale adressen uitzonderen. Hierbij kun je * als wildcards gebruiken (als in alle waarden mogen), of / om ranges te bepalen (als in 1/24 = 1 tot en met 24).

Order deny,allow
deny from all
require valid-user
Allow from localhost
Allow from 192.168.1.*
Allow from 10.0.0.1/30
Allow from en.nog.1.ofzo
Satisfy Any

Zo is je .htaccess klaar. Met Allow from .... kun je alles en iedereen toevoegen die zonder wachtwoord mag inloggen. Ieder ander zal tegen het user/wachtwoord-veld aanlopen en dus niet kunnen inloggen als ze de user of het wachtwoord niet weten.