Как да направим защитена с парола директория на Apache
За да може да приложите нещата, описани по-долу, вашият Apache уеб сървър трябва да бъде с активирани модули mod_auth и mod_access.
Началото
Да предположим, че имате директория на сайта си с информация, която не всеки трябва да вижда - например снимките от онзи рожден ден, на който всички се излагаха, ама много ;). Най-лесния, бърз и сигурен начин е да се използва системата за автентикация на Apache.
Първа стъпка - да направим файла с паролите.
Изисква се да се направи един файл със всички потребители и техните пароли (криптирани), които имат право на достъп до директорията. Този файл изглежда горе-долу така:
user1:7yefORPzkOGtw
user2:Zwes8W.81oqJ2
Имената на потребителите са до 255 символа и не трябва да съдържат :.
Файлът може да се генерира ръчно, като за паролата се ползва някой готов инструмент (ето един - http://www.flash.net/cgi-bin/pw.pl). След това се качва на сървъра с ftp.
Друг начин е като се използва инструмента htpasswd, който върви към Apache дистрибуцията. Когато се създава файлът за първи път се използва следния код:
htpasswd -c /home/vank0/.htpasswd -c vank0
След два пъти въвеждане на паролата файлът е създаден и потребителя vank0 е добавен. Оттук нататък само се добавят:
htpasswd -c /home/vank0/.htpasswd pesho
htpasswd -c /home/vank0/.htpasswd misho
htpasswd -c /home/vank0/.htpasswd diana
htpasswd -c /home/vank0/.htpasswd petq
Втора стъпка - задаване на .htaccess файла
В директорията, която искаме да ограничим, създаваме .htaccess файл. Да предположим, че document root е /home/vank0/www/, а директорията е /home/vank0/www/taino/ и сайтът е vank0.example.com. Ето съдържанието на /home/vank0/www/taino/.htaccess
AuthType Basic
AuthName "Taina direktoriq"
AuthUserFile /home/vank0/.htpasswd
Require valid-user
По този начин директорията http://vank0.example.com/taino/ е достъпна за всеки от потребителите в /home/vank0/.htpasswd
Само един потребител
Ако имаме директория, която трябва да е достъпна само за един потребител например /home/vank0/www/po-taino/ да е достъпна само за vank0, създаваме /home/vank0/www/po-taino/.htaccess със следното съдържание:
AuthType Basic
AuthName "Taina direktoriq na vank0"
AuthUserFile /home/vank0/.htpasswd
Require user vank0
Така само vank0 има достъп до http://vank0.example.com/po-taino/.
Няколко потребителя
Може да се наложи само няколко потребителя да имат достъп до определен ресурс. Например само pesho и misho до /home/vank0/www/pesho-misho/. Ще е необходим още един файл - с потребителски групи, в който ще опишем една група. Нека файла с групите е /home/vank0/.htgroups, със единствен ред:
grupata: misho pesho
Тогава във файла /home/vank0/www/pesho-misho/.htaccess трябва да се въведе:
AuthType Basic
AuthName "Taina direktoriq na grupata"
AuthUserFile /home/vank0/.htpasswd
AuthGroupFile /home/vank0/.htgroups
Require group grupata
Няма коментари
Обратно към списъка със статиите
Тази страница последно е променяна на 2025-04-30 13:00:50