Как да настроите удостоверяването на Apache htpasswd в Ubuntu
Заключете сайта си с Apache htpasswd на AlexHost Ubuntu VPS
Защо да използвате htpasswd? Htpasswd на Apache е бърз билет за защита на уеб директориите – мислете за административни панели или сайтове за разработчици – с проста порта за потребителско име/парола. Той е лек, идеален за основен контрол на достъпа и е лесен за настройка на AlexHost Ubuntu VPS с Apache. Това ръководство ще ви помогне да добавите тази атмосфера на заключване и ключове към сайта си, за да запазите чувствителните области, без да се потите.
Предварителни условия
- Сървър с Ubuntu и инсталиран Apache2.
- Rout или sudo достъп до сървъра.
- Основни познания за използване на команден ред.
Стъпка 1: Инсталиране на Apache (ако вече не е инсталиран)
Ако Apache не е инсталиран на вашия сървър Ubuntu, можете да го инсталирате със следната команда:
sudo apt update
sudo apt install apache2
Стъпка 2: Активиране на помощната програма htpasswd
Помощната програма htpasswd се предоставя от пакета apache2-utils, който обикновено се инсталира заедно с Apache. Ако той не е инсталиран, можете да го инсталирате, като изпълните:
sudo apt install apache2-utils
Тази команда инсталира необходимите инструменти за управление на пароли за файловете за удостоверяване htpasswd.
Стъпка 3: Създаване на файла .htpasswd
Файлът .htpasswd се използва за съхраняване на потребителски имена и криптирани пароли за удостоверяване.
- За да създадете нов файл .htpasswd и да добавите потребител, изпълнете следната команда:
sudo htpasswd -c /etc/apache2/.htpasswd your_username
Заменете your_username с потребителското име, което искате да създадете.
- Опцията -c създава нов файл .htpasswd . Ако файлът вече съществува и използвате -c, той ще бъде презаписан, така че я използвайте само когато създавате файла за първи път.
- Въвеждане и потвърждаване на парола: След изпълнение на командата ще бъдете подканени да въведете и потвърдите парола за потребителя. ще бъде създаден файл /etc/apache2/.htpasswd с криптираната парола за вашето_име.
- Добавяне на допълнителни потребители (по избор): За да добавите още потребители, без да презаписвате съществуващия файл .htpasswd, изпълнете:
sudo htpasswd /etc/apache2/.htpasswd another_username
Заменете another_username с новото потребителско име. Тази команда добавя новия потребител към съществуващия файл .htpasswd.
Стъпка 4: Конфигуриране на Apache за защита с парола
Трябва да посочите коя директория или място искате да защитите с парола. Това става с помощта на файл .htaccess или чрез директно редактиране на конфигурационния файл на Apache.
Вариант 1: Използване на файла .htaccess
- Разрешаване на файловете .htaccess: Ако искате да използвате файловете .htaccess, за да настроите защитата с парола, уверете се, че директивата AllowOverride е настроена на All за директорията, която искате да защитите. Редактирайте съответния конфигурационен файл на Apache (например /etc/apache2/sites-available/000-default.conf):
sudo nano /etc/apache2/sites-available/000-default.conf
Намерете раздела за вашия уеб корен (например /var/www/html) и задайте AllowOverride на All:
AllowOverride All - Рестартирайте Apache: След като редактирате конфигурацията, рестартирайте Apache, за да приложите промените:
sudo systemctl restart apache2
- Създаване на файл .htaccess: Вътре в директорията, която искате да защитите (например /var/www/html), създайте или редактирайте файл .htaccess:
sudo nano /var/www/html/.htaccess
- Добавете следните директиви: Добавете следните редове към файла .htaccess:AuthType Basic
AuthName “Restricted Content”
AuthUserFile /etc/apache2/.htpasswd
Изискване за valid-user- AuthType Basic: Указва основно удостоверяване.
- AuthName: Съобщение, което ще се показва в съобщението за удостоверяване.
- AuthUserFile: Пътят до вашия .htpasswd файл.
- Require Valid User (Изискване за валиден потребител): Ограничава достъпа до потребителите, изброени в .htpasswd файла.
- Запазете и затворете файла.
Вариант 2: Директно използване на конфигурационния файл на Apache
Ако предпочитате да управлявате удостоверяването директно в конфигурационните файлове на Apache, вместо да използвате .htaccess, следвайте следните стъпки:
- Редактирайте конфигурацията на виртуалния хост: Отворете конфигурационния файл на Apache за сайта, който искате да защитите (например /etc/apache2/sites-available/000-default.conf):
sudo nano /etc/apache2/sites-available/000-default.conf
- Добавете директивите за удостоверяване: Вътре в блока или в блока, който съответства на директорията, която искате да защитите, добавете следното:
<Directory "/var/www/html">
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user - Запазете и затворете конфигурационния файл.
- Рестартирайте Apache: След като направите промените, рестартирайте Apache:
sudo systemctl restart apache2
Стъпка 5: Тестване на удостоверяването
Сега отидете на URL адреса на защитената директория, като използвате уеб браузъра си (например http://your_server_ip_or_domain). Трябва да се появи покана за влизане с искане за потребителско име и парола.
- Въведете потребителското име и паролата, които сте създали с командата htpasswd.
- Ако данните са верни, ще ви бъде предоставен достъп до директорията; в противен случай достъпът ще ви бъде отказан.
Стъпка 6: Защита на файла .htpasswd
От съображения за сигурност се уверете, че файлът .htpasswd се съхранява извън уеб корена (например /etc/apache2/.htpasswd), така че да не може да бъде достъпен директно от уеб браузър.
Уверете се, че файлът .htpasswd има правилните разрешения:
sudo chmod 640 /etc/apache2/.htpasswd
sudo chown www-data:www-data /etc/apache2/.htpasswd
Това гарантира, че само потребителят на Apache (www-data) и root имат достъп за четене до файла .htpasswd.
Заключение: Защитете сайта си с лекота
Apache htpasswd е бързо решение за заключване на уеб директориите на вашия AlexHost Ubuntu VPS. Инсталирайте инструментите, създайте
.htpasswd
.htaccess