Sådan oprettes adgangskodebeskyttet webkatalog i Apache
Denne artikel er en del af Apache Server Guide serien:
- Sikring af Apache på Ubuntu - Del 1
- Sikring af Apache på Ubuntu - Del 2
- Optimering af Apache Performance - Del 1
- Optimering af Apache Performance - Del 2
- Opsætning af navnebaseret Virtualhost Apache
- Opsætning af IP og portbaseret Virtualhost i Apache
- Sådan oprettes adgangskodebeskyttet webkatalog i Apache
- Opsætning af Apache Server med SSL-support på Ubuntu
- Opsætning af Fail2ban for at beskytte Apache fra et DDOS-angreb
- Sådan opsættes Webdav med Apache på Ubuntu
- Overvåg Apache Web Server ved hjælp af Mod_status
- Sådan beskytter du mod DDoS med Mod_evasive på Apache Server
Apache er en af de mest anvendte og populære webservere i verden, så det er vigtigt at holde dine websites private fra uautoriserede brugere. Apache-godkendelse kan konfigureres til at kræve, at besøgende på webstedet logger ind med et bruger-id og en adgangskode. Der er mange måder, du kan passwordbeskytte mapper under en Apache webserver.
Denne artikel beskriver en nem måde at kodeordbeskytte et webkatalog i Apache ved hjælp af en .htaccess
fil.
Bemærk : Denne vejledning udføres på en Ubuntu-server med Apache installeret.
Installation af Apache Utilities Package
For det første skal du installere apache2-utils
pakken, som indeholder et værktøj, der hedder htpasswd
at oprette en adgangskodefil.
Du kan installere det ved at køre følgende kommando:
sudo apt-get install apache2-utils
Konfigurer Apache til Tillad .htaccess-godkendelse
Apache tillader ikke som standard en .htaccess-fil i Ubuntu 14.04. Du skal konfigurere Apache config-filen for at tillade .htacces-baseret godkendelse.
Du kan gøre dette ved at redigere Apache config filen:
sudo nano /etc/apache2/apache2.conf
Find den sektion, der begynder med Directory "/var/www/html"
og ændre linjen fra AllowOverride none
til AllowOverride AuthConfig
Valg Indekser FølgSymLinks TilladOverride AuthConfig Kræv alle tildelte
Gem og luk filen.
Opret adgangskodefilen
Du kan bruge kommandolinjeprogrammet htpasswd
til at oprette en adgangskodefil, som Apache kan bruge til at godkende brugere. Opret nu en skjult .htpasswd-fil i konfigurationsmappen "/ etc / apache2".
sudo htpasswd -c /etc/apache2/.htpasswd authuser1
Dette vil bede dig om at levere og bekræfte et kodeord til authuser1.
Hvis du vil tilføje en anden bruger, skal du forlade -c
argumentet med htpasswd
kommandoen.
Nu, for at oprette en anden godkendelse til en anden bruger, authuser2:
sudo htpasswd /etc/apache2/.htpasswd authuser2
Du kan se brugernavnet og det krypterede kodeord for hver post ved at køre:
sudo cat /etc/apache2/.htpasswd
Du skal give tilladelse til "www-data" -brugeren for at kunne læse .htpasswd-filen.
sudo chown www-data: www-data /etc/httpd/.htpasswd sudo chmod 0660 /etc/httpd/.htpasswd
Konfigurer Apache Password Authentication
Du skal oprette en ".htaccess" -fil i det webkatalog, du ønsker at begrænse. I dette eksempel vil jeg oprette en ".htaccess" -fil i mappen "/ var / www / html /" for at begrænse hele dokumentrotten.
sudo nano /var/www/html/.htaccess
Tilføj følgende indhold:
AuthType Basic AuthName "Begrænset indhold" AuthUserFile /etc/apache2/.htpasswd Kræv gyldig bruger
Her er hvad ovennævnte kode betyder:
- AuthType : Denne indstilling definerer typen af godkendelse.
- AuthName : Dette er indhold, der vises på websiden, når du bliver bedt om brugernavn og adgangskode.
- AuthUserFile : Denne indstilling angiver placeringen af brugeroplysninger.
- kræve gyldig bruger : Dette indikerer, at kun succesfulde autentiske anmodninger kan indlæse siden.
Gem og luk filen, og genstart Apache for at gøre disse ændringer gældende.
sudo /etc/init.d/apache2 genstart
Testing af adgangskode godkendelse
Nu på en fjernmaskine, få adgang til dit website i en webbrowser. Du bliver bedt om at få et brugernavn og adgangskode for at få adgang til websiden.
Hvis du indtaster de korrekte brugeroplysninger, får du adgang til indholdet. Hvis du indtaster de forkerte brugeroplysninger eller klikker på "Cancel", vil du se den uautoriserede fejlside.
Konklusion
Du skal nu have tilstrækkelig viden til at oprette grundlæggende godkendelse til din Apache webserver. Husk også, at adgangskodebeskyttelse skal kombineres med SSL-kryptering, så dine referencer ikke sendes til serveren i almindelig tekst.