Wéi Passwuert schützen Web Verzeechnes an Apache Benotzt .htaccess Datei


Wann Dir Online-Projete geréiert, musst Dir dacks den Zougang zu deem Projet limitéieren fir et géint d'Äussewelt ze schützen. Et gi vläicht verschidde Grënn dofir - zum Beispill Dir wëllt verhënneren datt Sichmotorcrawler Zougang zu Ärem Site kréien, während et nach ëmmer an der Entwécklungsphase ass.

An dësem Tutorial, ech weisen Iech wéi Dir verschidde Websäite Verzeichnisser am Apache Webserver mat Passwuert geschützt hutt. Et gi vill Weeër fir dëst z'erreechen, awer mir wäerten zwee vun hinnen iwwerpréiwen, déi am meeschte benotzt ginn.

Déi éischt Method konfiguréiert Passwuertschutz direkt an der Apache-Konfiguratiounsdatei, während déi zweet .htaccess-Datei benotzt.

Ufuerderunge

Fir Äert Passwuertschutz fir Är Webverzeechnes opzestellen, musst Dir hunn:

  • En funktionéierenden Apache Webserver
  • D'AllowOverride AuthConfig Direktiv muss an der Apache Konfiguratiounsdatei aktivéiert sinn.

Setup Apache Passwuert geschützt Verzeechnes

1. Fir dësen Tutorial schütze mir den Haaptwebroot Verzeechnes /var/www/html. Fir dëse Verzeechnes ze schützen, öffnen Är Apache Konfiguratioun:

---------------- On RedHat/CentOS based systems ----------------
# vi /etc/httpd/conf/httpd.conf

---------------- On Debian/Ubuntu based systems ----------------
# nano /etc/apache2/sites-available/000-default.conf

2. Fannt den Apache Document Verzeichnis root fir /var/www/html a füügt déi folgend Saachen un wéi proposéiert:

<Directory /var/www/html> 
Options Indexes Includes FollowSymLinks MultiViews 
AllowOverride All
Order allow,deny
Allow from all 
</Directory>
<Directory /var/www/html> 
Options Indexes Includes FollowSymLinks MultiViews 
AllowOverride All 
Require all granted 
</Directory>

3. Späichert d'Datei an nei start Apache andeems Dir de folgende Kommando benotzt:

--------------- On Systemd -------------------
# systemctl restart httpd         [On RedHat based systems]
# systemctl restart apache2       [On Debian based systems]


--------------- On SysV init -----------------
# service httpd restart           [On RedHat based systems]
# service apache2 restart         [On Debian based systems]

4. Elo benotze mir de Kommando htpasswd fir Benotzernumm a Passwuert fir eise geschützte Verzeichnis ze generéieren. Dëse Kommando gëtt benotzt fir Benotzerdateien fir Basis Authentifikatioun ze verwalten.

Déi allgemeng Syntax vum Kommando ass:

# htpasswd -c filename username

D'Optioun -c spezifizéiert de Fichier deen dat verschlësselte Passwuert behält an Benotzernumm spezifizéiert de Benotzer fir d'Authentifikatioun.

5. Eis Passwuertdatei muss aus dem Apache's Web accessible Verzeichnis lokaliséiert ginn, sou datt et gutt geschützt ass. Fir dësen Zweck wäerte mir en neie Verzeechnes erstellen:

# mkdir /home/tecmint

6. Duerno generéiere mir eise Benotzernumm a Passwuert dat an deem Verzeichnis gespäichert gëtt:

# htpasswd -c /home/tecmint/webpass tecmint

Wann Dir dëse Kommando ausféiert, musst Dir zweemol e Passwuert fir eisen neie Benotzer \tecmint\ aginn:

Duerno musse mir sécher sinn datt Apache fäeg ass d'Webpass Datei ze liesen. Fir dësen Zweck musst Dir d'Besëtzer vun dëser Datei mat dem folgenden Kommando änneren:

---------------- On RedHat/CentOS based systems ----------------
# chown apache: /home/tecmint/webpass
# chmod 640 /home/tecmint/webpass
---------------- On Debian/Ubuntu based systems ----------------
# chown www-data /home/tecmint/webpass
# chmod 640 /home/tecmint/webpass

7. Zu dësem Zäitpunkt sinn eis nei Benotzer a Passwuert prett. Elo musse mir Apache soen fir Passwuert ze froen wann Dir op eise geziilten Verzeichnis zougitt. Fir dësen Zweck erstellt eng Datei mam Numm .htaccess an /var/www/html:

# vi /var/www/html/.htaccess

Füügt de folgende Code derbäi:

AuthType Basic
AuthName "Restricted Access"
AuthUserFile /home/tecmint/webpass
Require user tecmint

8. Elo späichert d'Datei a setzt Äre Setup op den Test. Öffnen Äre Browser a gitt Är IP Adress oder Domain Numm am Webbrowser, zum Beispill:

http://ip-address

Dir sollt fir Benotzernumm a Passwuert gefrot ginn:

Gitt de Benotzernumm a Passwuert un, déi Dir agestallt hutt fir op Är Säit weiderzemaachen.

Zousätzlech Notizen

Wann Dir Shared Hosting benotzt, hutt Dir héchstwahrscheinlech keen Zougang zu der Apache Konfiguratiounsdatei. Wéi och ëmmer, déi meescht Hostingfirmen hunn d'Optioun AllowOverride All als Standard aktivéiert. Dëst bedeit datt Dir nëmmen de Benotzernumm a Passwuert generéiere musst an dann den Verzeechnes wielt deen Dir wëllt schützen. Dëst erliichtert Är Aufgab wesentlech.

Conclusioun

Ech hoffen, datt Dir dësen Tutorial nëtzlech fonnt hutt an Iech hëlleft Äert Zil z'erreechen. Wann Dir Froen oder Kommentaren hutt, zéckt net fir se an der Rubrik hei drënner ze posten.