Kā ar paroli aizsargāt tīmekļa direktorijus Apache, izmantojot .htaccess failu


Pārvaldot tiešsaistes projektus, jums bieži ir jāierobežo piekļuve šim projektam, lai pasargātu to no ārpasaules. Tam var būt dažādi iemesli - piemēram, jūs vēlaties neļaut meklētājprogrammu rāpuļprogrammām piekļūt jūsu vietnei, kamēr tā vēl ir izstrādes fāzē.

Šajā apmācībā es jums parādīšu, kā ar paroli aizsargāt dažādus tīmekļa vietņu direktorijus Apache tīmekļa serverī. To var sasniegt daudzos veidos, taču mēs pārskatīsim divus no tiem, kas tiek izmantoti visbiežāk.

Pirmā metode konfigurē paroles aizsardzību tieši Apache konfigurācijas failā, bet otrā - .htaccess fails.

Prasības

Lai iestatītu tīmekļa direktoriju paroles aizsardzību, jums ir jābūt:

  • Darbojošs Apache tīmekļa serveris
  • Apache konfigurācijas failā ir jāiespējo direktīva AllowOverride AuthConfig.

Iestatiet Apache direktoriju, kas aizsargāts ar paroli

1. Šajā apmācībā mēs aizsargāsim galveno tīmekļa saknes direktoriju /var/www/html . Lai aizsargātu šo direktoriju, atveriet Apache konfigurāciju:

---------------- 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. Atrodiet Apache Document direktorija sakni mapei/var/www/html un pievienojiet šādas lietas, kā ieteikts:

<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. Saglabājiet failu un restartējiet Apache, izmantojot šādu komandu:

--------------- 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. Tagad mēs izmantosim komandu htpasswd, lai ģenerētu mūsu aizsargātā direktorija lietotājvārdu un paroli. Šo komandu izmanto, lai pārvaldītu lietotāju failus pamata autentifikācijai.

Komandas vispārējā sintakse ir šāda:

# htpasswd -c filename username

Opcija -c norāda failu, kas saglabās šifrēto paroli, un lietotājvārds norāda lietotāju autentifikācijai.

5. Mūsu paroles failam jāatrodas ārpus Apache tīmekļa pieejamā direktorija, lai tas būtu labi aizsargāts. Šim nolūkam mēs izveidosim jaunu direktoriju:

# mkdir /home/tecmint

6. Pēc tam mēs ģenerēsim savu lietotājvārdu un paroli, kas tiks saglabāti šajā direktorijā:

# htpasswd -c /home/tecmint/webpass tecmint

Pēc šīs komandas izpildes jums divreiz būs jāievada parole mūsu jaunajam lietotājam "tecmint" :

Pēc tam mums būs jāpārliecinās, vai Apache spēj nolasīt failu “webpass”. Šim nolūkam jums būs jāmaina šī faila īpašumtiesības ar šādu komandu:

---------------- 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. Šajā brīdī mūsu jaunais lietotājs un parole ir gatava. Tagad mums jāpasaka Apache pieprasīt paroli, piekļūstot mūsu mērķa direktorijai. Šim nolūkam izveidojiet failu .htaccess mapē/var/www/html:

# vi /var/www/html/.htaccess

Pievienojiet tajā šādu kodu:

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

8. Tagad saglabājiet failu un pārbaudiet iestatījumus. Atveriet pārlūkprogrammu un tīmekļa pārlūkprogrammā ievadiet savu IP adresi vai domēna nosaukumu, piemēram:

http://ip-address

Jums vajadzētu lūgt ievadīt lietotājvārdu un paroli:

Ievadiet lietotājvārdu un paroli, ko iestatījāt, lai pārietu uz savu lapu.

papildu piezīmes

Ja izmantojat dalītu mitināšanu, visticamāk, jums nebūs piekļuves Apache konfigurācijas failam. Tomēr lielākā daļa mitināšanas uzņēmumu pēc noklusējuma ir iespējojuši opciju “AllowOverride All”. Tas nozīmē, ka jums būs nepieciešams tikai ģenerēt lietotājvārdu un paroli un pēc tam atlasīt direktoriju, kuru vēlaties aizsargāt. Tas ievērojami atvieglo jūsu uzdevumu.

Secinājums

Es ceru, ka šī apmācība jums šķita noderīga un palīdzēs sasniegt mērķi. Ja jums ir kādi jautājumi vai komentāri, lūdzu, nevilcinieties tos ievietot zemāk esošajā sadaļā.