Изпробвайте уменията си за всички наши хостинг услуги и получете 15% отстъпка!

Използвайте код на касата:

Skills
09.12.2024

Как да настроите удостоверяването на 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 се използва за съхраняване на потребителски имена и криптирани пароли за удостоверяване.

  1. За да създадете нов файл .htpasswd и да добавите потребител, изпълнете следната команда:
    sudo htpasswd -c /etc/apache2/.htpasswd your_username

    Заменете your_username с потребителското име, което искате да създадете.

    • Опцията -c създава нов файл .htpasswd . Ако файлът вече съществува и използвате -c, той ще бъде презаписан, така че я използвайте само когато създавате файла за първи път.
  2. Въвеждане и потвърждаване на парола: След изпълнение на командата ще бъдете подканени да въведете и потвърдите парола за потребителя. ще бъде създаден файл /etc/apache2/.htpasswd с криптираната парола за вашето_име.
  3. Добавяне на допълнителни потребители (по избор): За да добавите още потребители, без да презаписвате съществуващия файл .htpasswd, изпълнете:
    sudo htpasswd /etc/apache2/.htpasswd another_username

    Заменете another_username с новото потребителско име. Тази команда добавя новия потребител към съществуващия файл .htpasswd.

Стъпка 4: Конфигуриране на Apache за защита с парола

Трябва да посочите коя директория или място искате да защитите с парола. Това става с помощта на файл .htaccess или чрез директно редактиране на конфигурационния файл на Apache.

Вариант 1: Използване на файла .htaccess

  1. Разрешаване на файловете .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

  2. Рестартирайте Apache: След като редактирате конфигурацията, рестартирайте Apache, за да приложите промените:
    sudo systemctl restart apache2
  3. Създаване на файл .htaccess: Вътре в директорията, която искате да защитите (например /var/www/html), създайте или редактирайте файл .htaccess:
    sudo nano /var/www/html/.htaccess
  4. Добавете следните директиви: Добавете следните редове към файла .htaccess:
    AuthType Basic
    AuthName “Restricted Content”
    AuthUserFile /etc/apache2/.htpasswd
    Изискване за valid-user
    • AuthType Basic: Указва основно удостоверяване.
    • AuthName: Съобщение, което ще се показва в съобщението за удостоверяване.
    • AuthUserFile: Пътят до вашия .htpasswd файл.
    • Require Valid User (Изискване за валиден потребител): Ограничава достъпа до потребителите, изброени в .htpasswd файла.
  5. Запазете и затворете файла.

Вариант 2: Директно използване на конфигурационния файл на Apache

Ако предпочитате да управлявате удостоверяването директно в конфигурационните файлове на Apache, вместо да използвате .htaccess, следвайте следните стъпки:

  1. Редактирайте конфигурацията на виртуалния хост: Отворете конфигурационния файл на Apache за сайта, който искате да защитите (например /etc/apache2/sites-available/000-default.conf):
    sudo nano /etc/apache2/sites-available/000-default.conf
  2. Добавете директивите за удостоверяване: Вътре в блока или в блока, който съответства на директорията, която искате да защитите, добавете следното:
    <Directory "/var/www/html">
    AuthType Basic
    AuthName "Restricted Content"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user

  3. Запазете и затворете конфигурационния файл.
  4. Рестартирайте 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
или Apache и тест-бум, частната зона е готова. Защитете този файл, добавете SSL за сигурност и сте готови. Имате нужда от помощ? Поддръжката на AlexHost е на един билет разстояние. Заключете го и продължавайте да програмирате!

Изпробвайте уменията си за всички наши хостинг услуги и получете 15% отстъпка!

Използвайте код на касата:

Skills