Перевірте свої навички на всіх наших хостингових послугах та отримайте знижку 15%!

Використовуйте код під час оформлення замовлення:

Skills
09.12.2024

Як налаштувати аутентифікацію Apache htpasswd в Ubuntu

Блокування сайту за допомогою Apache htpasswd на VPS AlexHost Ubuntu

Навіщо використовувати htpasswd? Apache htpasswd – це ваш швидкий шлях до захисту веб-каталогів – наприклад, адмін-панелей або сайтів розробників – за допомогою простих воріт з іменем користувача та паролем. Він легкий, ідеально підходить для базового контролю доступу, і його легко встановити на VPS AlexHost Ubuntu під управлінням 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

    Замініть ваше_ім’я користувача на ім’я користувача, якого ви хочете створити.

    • Параметр -c створює новий файл .htpasswd . Якщо файл вже існує і ви використовуєте -c, він буде перезаписаний, тому використовуйте його тільки при першому створенні файлу.
  2. Введіть і підтвердіть пароль: Після запуску команди вам буде запропоновано ввести і підтвердити пароль для користувача. буде створено файл /etc/apache2/.htpasswd із зашифрованим паролем для вашого_імені.
  3. Додайте додаткових користувачів (необов’язково): Щоб додати більше користувачів, не перезаписуючи існуючий файл .htpasswd, виконайте:
    sudo htpasswd /etc/apache2/.htpasswd 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 Основний
    AuthName “Обмежений вміст”
    AuthUserFile /etc/apache2/.htpasswd
    Вимагати valid-user
    • AuthType Basic: Вказує базову автентифікацію.
    • AuthName: Ім’я, яке буде показано в повідомленні про автентифікацію.
    • AuthUserFile: шлях до вашого файлу .htpasswd.
    • Вимагати дійсного користувача: обмежує доступ користувачам, переліченим у файлі .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