Розміщення серверів в надійних дата-центрах Європи. Відкрийте хмарний VPS / VDS сервер на швидких SSD за 1 хвилину!
Кращий хостинг:
- захистить дані від несанкціонованого доступу в охоронюваному європейському ЦОДі
- прийме оплату хоч в bitcoin.
- дозволить поставити свій дистрибутив
- захист від DDos-атак
- безкоштовний backup
- Uptime 99,9999%
- ЦОД - TIER III
- провайдер - TIER I
Підтримаємо російською мовою 24/7/365 Працюємо з юрособами і фізособами. Вам прямо зараз потрібно 24 ядра і 72 Gb RAM. Будь ласка!
Наші вигідні тарифи доведуть, що дешевий хостинг ви ще не знали!
Хвилинна справа: виберіть конфігурацію, оплатіть і CMS на VPS готова.
Money Back - 30 днів!
Банківськими картами, електронною валютою, через термінали Qiwi, Webmoney, PayPal, Новоплат і ін.
Задайте питання в службу підтримки 24/7/365
Знайдіть відповіді в нашій базі і познайомтеся з рекомендаціями
вимоги
Установка утиліт Apache
Щоб створити файл для зберігання паролів, знадобиться утиліта htpasswd. Вона входить в пакет apache2-utils, який можна знайти в репозиторії Ubuntu.
Оновлення список пакетів і встановіть необхідні утиліти і сервер Apache2 за допомогою наступної команди:
sudo apt-get update
sudo apt-get install apache2 apache2-utils
Створення файлу паролів
При першому запуску даної утиліти потрібно використовувати прапор -c, який і створить необхідний файл. Вкажіть ім'я користувача в кінці команди, щоб створити новий запис у файлі:
sudo htpasswd -c /etc/apache2/.htpasswd 8host
Програма запропонує створення та підтвердження пароля для цього користувача.
Щоб додати інших користувачів в файл паролів, використовуйте команду htpasswd без прапора -з:
sudo htpasswd /etc/apache2/.htpasswd another_user
Файл паролів містить імена користувачів і їхні паролі в зашифрованому вигляді:
cat /etc/apache2/.htpasswd
8host: $ apr1 $ lzxsIfXG $ tmCvCfb49vpPFwKGVsuYz.
another_user: $ apr1 $ p1E9MeAf $ kiAhneUwr.MhAE2kKGYHK.
Отже, необхідний файл паролів готовий. Тепер потрібно налаштувати Apache для перевірки цього файлу перед обслуговуванням закритого контенту. Це можна зробити двома способами.
Перший спосіб: відредагувати настойки Apache і додати відомості про файлі паролів в віртуальний хост. Такий спосіб, як правило, більш продуктивний, оскільки дозволяє уникнути читання загальних конфігураційних файлів. Якщо ви використовуєте віртуальні хости, рекомендується вдатися до цього способу настройки.
Другий спосіб більше підходить користувачам, які не мають можливості редагувати віртуальний хост. В такому випадку обмежити доступ до деяких розділів сайту можна за допомогою файлу .htaccess. Сервер Apache використовує файли .htaccess для того, щоб налаштувати певні елементи конфігурації в каталозі, що зберігає контент. Недоліком такого способу є те, що сервер Apache повинен перечитувати всі ці файли при кожному запиті до цього каталогу, що може негативно вплинути на продуктивність.
Вибрати найбільш відповідний спосіб настройки і дотримуйтесь інструкцій відповідного розділу.
Відкрийте файл віртуального хоста сайту, доступ до якого потрібно обмежити. В даному прикладі використовується стандартний файл 000-default.conf, що містить віртуальний хост за замовчуванням.
sudo nano /etc/apache2/sites-enabled/000-default.conf
ServerAdmin webmaster @ localhost
DocumentRoot / var / www / html
ErrorLog $ / error.log
CustomLog $ / access.log combined
/etc/apache2/sites-enabled/000-default.conf
ServerAdmin webmaster @ localhost
DocumentRoot / var / www / html
ErrorLog $ / error.log
CustomLog $ / access.log combined
ServerAdmin webmaster @ localhost
DocumentRoot / var / www / html
ErrorLog $ / error.log
CustomLog $ / access.log combined
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
Збережіть і закрийте файл. Перезапустіть Apache, щоб оновити конфігурації.
sudo service apache2 restart
Тепер доступ до контенту, що знаходиться в цьому каталозі, захищений паролем.
Для початку потрібно налаштувати Apache для підтримки файлів .htaccess. Відкрийте конфігурації Apache:
sudo nano /etc/apache2/apache2.conf
Знайдіть блок
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
.
Збережіть і закрийте файл.
Потім потрібно додати файл .htaccess в каталог, доступ до якого потрібно обмежити. Знову ж таки, в прикладі доступ буде обмежений до каталогу document root, / var / www / html (тобто до всього сайту). Щоб обмежити доступ до іншого каталогу, внесіть в код відповідні поправки.
sudo nano /var/www/html/.htaccess
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
Збережіть і закрийте файл. Перезапустіть веб-сервер, щоб оновити його налаштування.
sudo service apache2 restart
Authentication Required
The server requires a username and password. The server says:
Restricted server.
User Name:
Password:
Введіть валідниє облікові дані, щоб отримати доступ до контенту. У разі отримання невірних облікових даних сервер поверне помилку «Unauthorized».
висновок
Тепер контент сайту захищений за допомогою пароля. Майте на увазі, що захист паролем слід комбінувати з шифруванням SSL, в іншому випадку облікові дані будуть передаватися на сервер у вигляді простого тексту, а це дуже серйозна уразливість для безпеки.