Tips och trix med Apace webserver
Har skrivit ihop en del tips hur man kan konfigurera Apache webserver, egna errorsidor, förhindra att man kommer åt vissa filer och hindra hotlänkning till bilder.
Alla kommandon skrivs in i .htaccess filen.
Begränsa åtkomst mha ip-nummer till en katalog
Koden begränsar så att man bara kommer åt den om man har ip-adressen 192.168.1.99 eller har en ip-adress ur 192.168.0.* serien.
Order deny,allow deny from all allow from 192.168.0 allow from 192.168.1.99
För att vända på det så att alla förutom ip-adressen 192.168.1.99 eller ip-serien 192.168.0.* kommer åt katalogen.
Order allow,deny allow from all deny from 192.168.0 deny from 192.168.1.99
Begränsa åtkomst mha användarnamn/lösenord till en katalog
Koden gör så att det krävs ett giltligt användarnamn och lösenord för att komma åt katalogen.
AuthType Basic AuthName Administration AuthUserFile /export/htdocs/hemligt/.htpassword Require valid-user
Filen /export/htdocs/hemligt/.htpassword skapas och hanteras med programmet htpasswd som följer med Apache.
Begränsa åtkomst mha användarnamn/lösenord till en katalog förutom vissa ip-nummer
Koden gör så att har man en godkänd ip-adress så kommer man åt sidan utan att behöva ange användarnamn/lösenord medans övriga måste ange användarnamn/lösenord för att komma åt sidan.
Order deny,allow deny from all allow from 192.168.0 AuthType Basic AuthName Administration AuthUserFile /export/htdocs/hemligt/.htpassword Require valid-user satisfy any
Eget felmeddelande när en sida kräver inloggning
ErrorDocument 401 /error401.html
Eget felmeddelande när man inte har rätt till en viss sida
ErrorDocument 403 /error403.html
Eget felmeddelande när man försöker komma åt en sida som inte finns
ErrorDocument 404 /error404.html
Hindra läsning av .htaccess (eg. alla filer som börjar med .ht)
Se till så att httpd.conf innehåller följande kod. Senare versioner av Apache gör det men en del versioner skyddar bara .htaccess.
<Files ~ "^\.ht"> Order allow,deny Deny from all </Files>
Koden hindrar att man kommer åt att titta i filerna, men Apache kan fortfarande läsa filerna.
Gör man så här så kan man ha lösenordsfilen i samma katalog om filnamnet börjar med .ht, ex: .htpassword.
Min .htaccess fungerar inte.
Det beror oftast på att Apache är konfigurerar att inte använda .htaccess överhuvudtaget eller just det du vill göra.
Konfigurationen för detta göres i httpd.conf, sätt in följande under (nedanstående kod står redan i httpd.conf fast AllowOverride är satt till None som default) <Directory …> som pekar på den katalogen som dina html filer finns i
# This controls which options the .htaccess files in directories can # override. Can also be "All", or any combination of "Options", "FileInfo", # "AuthConfig", and "Limit" AllowOverride All
Lista innehållet i en katalog om index.html inte finns.
Detta förutsätter att servern är konfigurerad med minst “AllowOverride Indexes”
Om det inte finns någon index.html (Eller vad DirectoryIndex är satt till i httpd.conf) så listas innehållet i katalogen.
Options Indexes
Hindra att man länkar till bilder från andra servrar.
Denna konfiguration använder jag här för att hindra att andra länkar till bilder på min server.
Bilderna är åtkomliga om referrer är satt till www.gunnard.se eller är tom, det sista måste jag ha med eftersom många brandväggar tar bort referrer, är referrer satt till något annat så kommer man inte åt bilderna.
setEnvIfNoCase Referer "^http://www.gunnard.se/" local_ref=1 setEnvIfNoCase Referer "^$" local_ref=1 <FilesMatch ".(gif|jpg)"> Order Allow,Deny Allow from env=local_ref </FilesMatch>