Tutorial

Настройка аутентификации по паролю для Apache в Ubuntu 18.04 [Краткое руководство]

Published on February 20, 2020
Русский
Настройка аутентификации по паролю для Apache в Ubuntu 18.04 [Краткое руководство]

Введение

В этом обучающем руководстве мы познакомимся с защищенными паролем активами на веб-сервере Apache под управлением Ubuntu 18.04. После выполнения этих действий вы сможете обеспечить дополнительную безопасность для вашего сервера, чтобы неавторизованные пользователи не смогли получить доступ к некоторым частям вашей страницы.

Более подробную версию настоящего обучающего руководства с более подробным описанием каждого действия можно найти в статье Настройка аутентификации по паролю для Apache в Ubuntu 18.04.

Предварительные требования

Для выполнения этого обучающего руководства вам потребуется доступ к следующим компонентам на сервере Ubuntu 18.04:

  • Пользователь sudo на сервере

  • Веб-сервер Apache2

  • Защищенный с помощью SSL сайт

Шаг 1 — Установка пакета утилит Apache

Мы установим утилиту с названием htpasswd, которая является частью пакета apache2-utils, для управления именами пользователя и паролями для доступа к ограниченному контенту.

  1. sudo apt update
  2. sudo apt install apache2-utils

Шаг 2 — Создание файла с паролями

Мы создадим первого пользователя следующим образом (замените `first_username на имя пользователя по вашему выбору):

  1. sudo htpasswd -c /etc/apache2/.htpasswd first_username

Вам нужно будет предоставить и подтвердить пароль для пользователя.

Оставьте аргумент -c для любых дополнительных пользователей, которых вы захотите добавить, чтобы избежать необходимости перезаписывать файл:

  1. sudo htpasswd /etc/apache2/.htpasswd another_user

Шаг 3 — Настройка аутентификации по паролю для Apache

На этом шаге вам нужно настроить Apache для проверки этого файла перед предоставлением вашего защищенного контента. Для этого мы воспользуемся файлом виртуального хоста на сайте, но есть другая возможность, описанная в подробном обучающем руководстве, если у вас нет доступа к этому файлу или вы предпочитаете использовать файл .htaccess.

Откройте файл виртуального хоста, в который вы хотите добавить ограничение, в текстовом редакторе, например nano:

  1. sudo nano /etc/apache2/sites-enabled/default-ssl.conf

Аутентификация выполняется для отдельных директорий. В нашем примере мы ограничим всю корневую директорию документов, но вы можете изменить этот список, указав конкретную директорию внутри вашего веб-пространства.

На этом шаге добавьте в файл следующие выделенные строки:

/etc/apache2/sites-enabled/default-ssl.conf
<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined

  <Directory "/var/www/html">
      AuthType Basic
      AuthName "Restricted Content"
      AuthUserFile /etc/apache2/.htpasswd
      Require valid-user
  </Directory>
</VirtualHost>

Проверьте конфигурацию с помощью следующей команды:

Вы можете перезапустить сервер для вступления вашей политики использования пароля в силу, а затем проверить состояние вашего сервера.

  1. sudo systemctl restart apache2
  2. sudo systemctl status apache2

Шаг 4 — Подтверждение аутентификации по паролю

Чтобы подтвердить, что ваш контент защищен, попробуйте получить доступ к ограниченному контенту в браузере. Вы должны увидеть запрос имени пользователя и пароля:

Запрос пароля Apache2

Другие обучающие руководства

Ниже представлены ссылки на более подробные материалы, связанные с настоящим обучающим руководством:

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the authors

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Become a contributor for community

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and SMBs

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

New accounts only. By submitting your email you agree to our Privacy Policy

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.