Все, что нужно знать про Apache Basic authorization. Установка утилит Apache. Проверка работы файла.htaccess на сервере

When setting up a web server, there are often sections of the site that you wish to restrict access to. Web applications often provide their own authentication and authorization methods, but the web server itself can be used to restrict access if these are inadequate or unavailable.

In this guide, we"ll demonstrate how to password protect assets on an Apache web server running on Ubuntu 14.04.

Prerequisites

To get started, you will need access to an Ubuntu 14.04 server environment. You will need a non-root user with sudo privileges in order to perform administrative tasks. To learn how to create such a user, follow our .

Install the Apache Utilities Package

In order to create the file that will store the passwords needed to access our restricted content, we will use a utility called htpasswd . This is found in the apache2-utils package within the Ubuntu repositories.

Update the local package cache and install the package by typing this command. We will take this opportunity to also grab the Apache2 server in case it is not yet installed on the server:

  • sudo apt-get update
  • sudo apt-get install apache2 apache2-utils

Create the Password File

We now have access to the htpasswd command. We can use this to create a password file that Apache can use to authenticate users. We will create a hidden file for this purpose called .htpasswd within our /etc/apache2 configuration directory.

The first time we use this utility, we need to add the -c option to create the specified file. We specify a username (sammy in this example) at the end of the command to create a new entry within the file:

  • sudo htpasswd -c /etc/apache2/.htpasswd sammy

You will be asked to supply and confirm a password for the user.

Leave out the -c argument for any additional users you wish to add:

  • sudo htpasswd /etc/apache2/.htpasswd another_user

If we view the contents of the file, we can see the username and the encrypted password for each record:

  • cat /etc/apache2/.htpasswd
sammy:$apr1$lzxsIfXG$tmCvCfb49vpPFwKGVsuYz. another_user:$apr1$p1E9MeAf$kiAhneUwr.MhAE2kKGYHK.

Configure Apache Password Authentication

Now that we have a file with our users and passwords in a format that Apache can read, we need to configure Apache to check this file before serving our protected content. We can do this in two different ways.

The first option is to edit the Apache configuration and add our password protection to the virtual host file. This will generally give better performance because it avoids the expense of reading distributed configuration files. If you have this option, this method is recommended.

If you do not have the ability to modify the virtual host file (or if you are already using .htaccess files for other purposes), you can restrict access using an .htaccess file. Apache uses .htaccess` files in order to allow certain configuration items to be set within a file in a content directory. The disadvantage is that Apache has to re-read these files on every request that involves the directory, which can impact performance.

Choose the option that best suits your needs below.

Configuring Access Control within the Virtual Host Definition

Begin by opening up the virtual host file that you wish to add a restriction to. For our example, we"ll be using the 000-default.conf file that holds the default virtual host installed through Ubuntu"s apache package:

  • sudo nano

Inside, with the comments stripped, the file should look similar to this:

/etc/apache2/sites-enabled/000-default.conf

Authentication is done on a per-directory basis. To set up authentication, you will need to target the directory you wish to restrict with a block. In our example, we"ll restrict the entire document root, but you can modify this listing to only target a specific directory within the web space:

/etc/apache2/sites-enabled/000-default.conf

ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined

Within this directory block, specify that we wish to set up Basic authentication. For the AuthName , choose a realm name that will be displayed to the user when prompting for credentials. Use the AuthUserFile directive to point Apache to the password file we created. Finally, we will require a valid-user to access this resource, which means anyone who can verify their identity with a password will be allowed in:

/etc/apache2/sites-enabled/000-default.conf

ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/apache2/.htpasswd Require valid-user

Save and close the file when you are finished. Restart Apache to implement your password policy:

  • sudo service apache2 restart

The directory you specified should now be password protected.

Configuring Access Control with .htaccess Files

If you wish to set up password protection using .htaccess files instead, you should begin by editing the main Apache configuration file to allow .htaccess files:

  • sudo nano /etc/apache2/apache2.conf

Find the block for the /var/www directory that holds the document root. Turn on .htaccess processing by changing the AllowOverride directive within that block from "None" to "All":

/etc/apache2/apache2.conf

. . . Options Indexes FollowSymLinks AllowOverride All Require all granted . . .

Save and close the file when you are finished.

Next, we need to add an .htaccess file to the directory we wish to restrict. In our demonstration, we"ll restrict the entire document root (the entire website) which is based at /var/www/html , but you can place this file in any directory you wish to restrict access to:

  • sudo nano /var/www/html/.htaccess

Within this file, specify that we wish to set up Basic authentication. For the AuthName , choose a realm name that will be displayed to the user when prompting for credentials. Use the AuthUserFile directive to point Apache to the password file we created. Finally, we will require a valid-user to access this resource, which means anyone who can verify their identity with a password will be allowed in:

/var/www/html/.htaccess

AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/apache2/.htpasswd Require valid-user

Save and close the file. Restart the web server to password protect all content in or below the directory with the .htaccess file:

  • sudo service apache2 restart

Confirm the Password Authentication

To confirm that your content is protected, try to access your restricted content in a web browser. You should be presented with a username and password prompt that looks like this:

If you enter the correct credentials, you will be allowed to access the content. If you enter the wrong credentials or hit "Cancel", you will see the "Unauthorized" error page:

Conclusion

You should now have everything you need to set up basic authentication for your site. Keep in mind that password protection should be combined with SSL encryption so that your credentials are not sent to the server in plain text. To learn how to create a self-signed SSL certificate to use with Apache, follow . To learn how to install a commercial certificate, follow .

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

Из данной статьи вы узнаете, как установить авторизацию при помощи пароля на веб-сервер Apache, работающий на Ubuntu 16.04.

Требования

Перед тем, как приступить к выполнению дальнейших шагов, убедитесь, что у вас есть доступ к серверу Ubuntu 16.04.

Также для выполнения инструкции вам понадобится следующее:

  • пользователь, который может выполнять команды sudo на вашем сервере;
  • веб-сервер Apache;
  • сайт, на котором установлен SSL-сертификат (к примеру, Let’s Encrypt).

Если все вышеперечисленное у вас в наличии, тогда авторизуйтесь на сервере как пользователь с sudo-правами и перейдите к выполнению первого шага.

Шаг 1: устанавливаем пакет с утилитами Apache

Вам понадобится утилита под названием htpasswd, которая является частью пакета apache2-utils. Она используется для создания файла, а также имени пользователя и паролей, которые будут использоваться для доступа к запрещенному для просмотра обычными пользователями контенту.

Введите следующие команды:

$ sudo apt-get update $ sudo apt-get install apache2-utils

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

Теперь вы можете воспользоваться командой htpasswd. При помощи нее вам будет необходимо создать файл с паролями, который Apache будет использовать для аутентификации пользователей. Для этих целей вам следует создать скрытый файл под названием.htpasswd внутри директории с настройками /etc/apache2.

При первом использовании данной утилиты вам будет необходимо прибавить к команде ключ -c для того, чтобы создать указанный файл. Также в конце команды вам необходимо указать имя пользователя (sinatra в данном примере) - это нужно для того, чтобы создать новую запись внутри файла:

$ sudo htpasswd -c /etc/apache2/.htpasswd sinatra

У вас будет запрошен пароль и его подтверждение для созданного пользователя.

Если вы хотите добавить еще каких-либо других пользователей (к примеру, another_user), используйте эту же команду, но уже без ключа -c:

$ sudo htpasswd /etc/apache2/.htpasswd another_user

Посмотрите содержимое этого файла:

$ cat /etc/apache2/.htpasswd

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

Output sinatra:$apr1$.0CAabqX$rb8lueIORA/p8UzGPYtGs/ another_user:$apr1$fqH7UG8a$SrUxurp/Atfq6j7GL/VEC1

Шаг 3: настраиваем авторизацию при помощи пароля на Apache

Теперь у вас есть файл с именами пользователей и паролями в формате, доступном для чтения Apache.

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

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

То есть выбирайте путь, исходя из своих требований.

Путь 1 (предпочтительный): настраиваем авторизацию через виртуальный хост

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

Для начала откройте файл виртуального хоста, к которому вы собираетесь ограничить доступ. Для примера в данном руководстве будет использоваться файл 000-default.conf, который содержит в себе виртуальный хост по умолчанию, установленный при помощи пакета Apache в Ubuntu.

$ sudo nano /etc/apache2/sites-enabled/000-default.conf

Внутри файл с раскомментированными строками будет выглядеть примерно так:

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

ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined

Внутри блока директории укажите, что вы хотите установить базовую аутентификацию (Basic). Для графы AuthName необходимо выбрать имя, которое будет отображаться пользователю при запросе данных для аутентификации. В графе AuthUserFile необходимо указать файл с паролем, который был создан ранее, для того, чтобы Apache мог его найти. Также вам понадобится valid-user, который может получить доступ к данным; иными словами, в директорию будет допущен любой, кто сможет подтвердить свою личность при помощи пароля.

ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/apache2/.htpasswd Require valid-user

После редактирования сохраните и закройте файл.

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

$ sudo apache2ctl configtest

Если все нормально, и вы увидели Syntax OK, тогда перезагрузите сервер для того, чтобы новая политика доступа с запросом пароля вступила в силу. Для этого введите следующие команды:

Теперь директория, которую вы обозначили ранее, находится под защитой пароля.

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

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

$ sudo nano /etc/apache2/apache2.conf

Далее найдите блок для директории /var/www, который содержит корневой каталог документов. Включите поддержку файлов.htaccess, изменив значение директивы AllowOverride с "None" на "All" - в этом случае сервер будет допускать все директивы.htaccess файла:

. . . Options Indexes FollowSymLinks AllowOverride All Require all granted . . .

После этого сохраните и закройте файл.

Теперь вам необходимо добавить файл.htaccess в директорию, доступ к которой вы хотите ограничить. В данном руководстве для примера доступ будет запрещен ко всему корневому каталогу документов (то есть полностью к сайту), который находится в /var/www/html, но вы можете поместить этот файл в любую директорию, доступ к которой вы хотите ограничить:

$ sudo nano /var/www/html/.htaccess

Внутри этого файла укажите, что вы хотите установить базовую аутентификацию (Basic). Для графы AuthName необходимо выбрать имя, которое будет отображаться пользователю при запросе данных для аутентификации. В графе AuthUserFile необходимо указать файл с паролем, который был создан ранее, для того, чтобы Apache мог его найти. Также вам понадобится valid-user, который может получить доступ к данным; иными словами, в директорию будет допущен любой, кто сможет подтвердить свою личность при помощи пароля:

AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/apache2/.htpasswd Require valid-user

Сохраните и закройте файл. Перезагрузите сервер для того, чтобы все изменения, касающиеся защиты паролем выбранной директории, вступили в силу. Затем используйте команду systemctl status для того, чтобы убедиться в успешной перезагрузке:

$ sudo systemctl restart apache2 $ sudo systemctl status apache2

Шаг 4: проверяем наличие защиты при аутентификации

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

Если вы введете правильные данные, то вы сможете увидеть запрашиваемые данные. Если вы введете некорректные данные или нажмете отмену (Cancel), то вы увидите страницу с ошибкой (Unauthorized), которая говорит о том, что для не прошедших аутентификацию пользователей доступ запрещен:


Заключение

Если вы выполнили все перечисленные в этом руководстве шаги, то теперь на вашем сайте есть базовая аутентификация. Однако не забывайте и про другие способы защиты от несанкционированного доступа к вашим данным, например, о SSL-сертификатах и использовании SSH.

If you want to let more than one person in, you"ll need to create a group file that associates group names with a list of users in that group. The format of this file is pretty simple, and you can create it with your favorite editor. The contents of the file will look like this:

GroupName: rbowen dpitts sungo rshersey

That"s just a list of the members of the group in a long line separated by spaces.

To add a user to your already existing password file, type:

htpasswd /usr/local/apache/passwd/passwords dpitts

You"ll get the same response as before, but it will be appended to the existing file, rather than creating a new file. (It"s the -c that makes it create a new password file).

Mod_auth_basic and mod_authz_host which contain some more information about how this all works. The directive can also help in simplifying certain authentication configurations.

The various ciphers supported by Apache for authentication data are explained in Password Encryptions .

And you may want to look at the Access Control howto, which discusses a number of related topics.

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

Базовая аутентификация

В данной статье будет рассмотрен самый простой и доступный способ защиты - базовая аутентификация.

Замечание

Аутентификация - процесс, с помощью которого проверяется, что некто является именно тем, за кого он себя выдает. Как правило, проверка включает в себя ввод имени и пароля.

Рассмотрим, как работает базовая аутентификация.
При обращении посетителя в защищаемую директорию, сервер Apache в ответ на запрос посылает заголовок с кодом 401 (401 authentication required header). Браузер посетителя принимает заголовок с кодом 401 и выводит окно с полями для ввода имени пользователя и пароля. После ввода имени и пароля эти данные отсылаются назад серверу, который проверяет имя пользователя на предмет нахождения в специальном списке, а пароль на правильность. Если все верно, то посетитель получает доступ к ресурсу. Вместе с заголовком браузеру посылается специальной имя, называемое областью действия. Браузер кэширует не только имя и пароль, чтобы передавать их при каждом запросе, но и область действия. Благодаря этому, ввод имени и пароля в защищаемой директории осуществляется только раз. В противном случае их необходимо было бы вводить при каждом запросе к защищаемой директории. Кэширование параметров аутентификации (имя, пароль, область действия), обычно осуществляет только в пределах одного сеанса.

Замечание

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

Замечание

WEB-сервер Apache поддерживает еще один вид защиты - digest-аутентификацию. При digest-аутентификации пароль передается не в открытом виде, а в виде хеш-кода, вычисленному по алгоритму MD5. Поэтому пароль не может быть перехвачен при сканировании трафика. Но, к сожалению, для использования digest-аутентификации необходимо установить на сервер специальный модуль - mod_auth_digest. А это находится только в компетенции администрации сервера. Также, до недавнего времени, digest-аутентификация поддерживалась не всеми видами браузеров.

Защита сайта - это просто

Для того чтобы защитить сайт, нужно выполнить следующую последовательность действий: создать файл с паролями, переписать его на сервер, создать файл.htaccess и тоже переписать его на сервер.
Для организации защиты понадобится.

  1. WEB-сайт и FTP-доступ к нему.
  2. Права на создание файлов.htpaccess и организацию защиты с помощью них.
  3. Утилита генерации паролей htpasswd.exe

Проверка работы файла.htaccess на сервере

Для того чтобы проверить есть ли у Вас права на организацию защиты с помощью файлов.htaccess создайте текстовый файл с именем.htaccess (первым символом идет точка, расширение отсутствует).

Замечание

Удобно создавать файлы.htaccess с помощью встроенного редактора в оболочках Far, WindowsCommander, TotalCommander и т.п., а также в редакторе Блокнот.

Замечание

Чтобы блокнот не подставлял автоматически расширение txt, в диалоге сохранения в выпадающем списке "тип файла" следует выбрать опцию "Все файлы".


Рис. Сохранение файлов.htaccess в блокноте

Проверка работы.htaccess

AuthType Basic
AuthName admin
require valid-user

Затем, через FTP-доступ, перепишите файл.htaccess на сайт, в ту директорию, которую вы хотите защитить.

Замечание

Действие файлов.htaccess распространяется не только на ту директорию, где лежит файл, но и на все поддиректрии, лежащие уровнем ниже.

Далее через браузер обратитесь к этой директории. Если Вы защищаете директорию admin и переписали туда файл.htaccess, то для проверки Вам следует вписать в адресную строку браузера следующий URL: http://www.mysite.ru/admin/.

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

Рис. Окно ввода логина и пароля


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

Замечание

Если по каким либо причинам Вы не можете удалить файл.htaccess, то создайте пустой файл.htaccess и замените им файл, лежащий на сервере.

Создание файла с паролями.htpasswd

Файл с паролями создается утилитой htpasswd.exe . Если у Вас на машине установлен WEB-сервер Apache, то данная утилита находится в директории с установленным Apache -ем в подкаталоге bin .

Замечание

Если у Вас не установлен Apache, то утилиту htpasswd.exe можете скачать по ссылке: .

Для работы с утилитой htpasswd.exe необходим интерфейс работы с командной строкой. Интерфейсом работы с командной строкой обладают такие программы как Far, WindowsCommander и т.п. Здесь будет рассмотрена работа с командной строкой с помощью утилиты cmd, которая входит в поставку Windows 2000/XP и т.п.
Нажмите "Пуск"->"Выполнить" , введите в строку ввода cmd и нажмите ОК . Вам откроется окно утилиты CMD.

Рис. Окно утилиты CMD


Далее необходимо перейти в директорию, где находится утилита htpasswd.exe . Допустим, сервер Apache установлен в директории с:/Apache2, тогда введите в командную строку команду: cd../../apache2/bin и нажмите ввод.


Вы перешли в директорию с:Apache2in. Теперь нужно дать команду на создание файла с паролем. Введите в командную строку следующее:

Htpasswd -cm .htpasswd admin

  • -cm - это ключи для утилиты. Ключ с - указывает, что необходимо создать новый файл с паролями. Если файл с таким именем уже существует, то он будет перезаписан. Ключ m - определяет шифрование по алгоритму MD5.
    .htpasswd - имя файла с паролями (можете использовать любое имя).
    admin - имя посетителя, которому будет разрешен доступ в закрытую область сайта.

В ответ, должен появится запрос на ввод пароля и его повтор. Если все правильно, то в завершении появится сообщение: Adding password for user admin. И в директории c:Apache2in появится файл.htpasswd, к котором будет находиться строка с именем пользователя и хеш-кодом его пароля. Для того, что бы в тот же файл.htpasswd добавить еще одного пользователя следует убрать ключ -c из команды запуска утилиты htpasswd.exe

Htpasswd -m .htpasswd admin


Замечание

Если файл с паролями не был создан, то возможно, некоторые ключи утилиты не поддерживаются в Вашей операционной системе. Например, иногда не поддерживается ключ m. В этом случае, Вам нужно ввести htpasswd -c .htpasswd admin
Для того, чтобы посмотреть ключи и параметры работы утилиты введите htpasswd.exe /? Вам будет выдано описание интерфейса.

Итак, файл с паролями создан. Теперь Вам необходимо переписать его на сервер. Файлы с паролями очень желательно класть выше корневой директории сайта - туда, куда не будет доступа посетителям.
Если это невозможно, то файлы с паролями следует обязательно защитить. Это можно сделать с помощью файлов.htaccess. Чтобы защитить файлы с паролями создайте файл со строками, представленными в следующем листинге.

Защита файлов.htpasswd


deny from all

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

Создание файла.htaccess

Для защиты директории могут использоваться следующие директивы:

  • AuthType - Тип используемой аутентификации. Для базовой аутентификации эта директива должна иметь значение: Basic
    AuthName - Имя области действия аутентификации. Текст, помогающий посетителю понять, куда он пытается получить доступ. Например, может быть написано: "Private zone. Only for administrator!"
    AuthUserFile - путь к файлу с паролями (.htpasswd).
    AuthGroupFile - путь к файлу групп, если он существует.
    Require - Одно или несколько требований, которые должны быть выполнены для получения доступа к закрытой области.

Пример файла.htaccess

AuthType Basic



require group admins

Следует более подробно описать директивы AuthUserFile и AuthGroupFile. В них прописываются абсолютные пути к соответствующим файлам от корня сервера.

Внимание!

Относительные пути работать не будут!

Путь от корня сервера, можно узнать, спросив у администрации сервера, либо можно попробовать выяснить его самим. Для этого выполните функцию phpinfo(). На экран будет выведена фиолетовая таблица. Значение абсолютного пути от корня сервера можно посмотреть в переменных: doc_root, open_basedir, DOCUMENT_ROOT.
Директива Require определяет кому разрешен доступ к закрытой области. Например,

  • require valid-user - разрешен доступ всем прошедшим проверку
  • require user admin alex mango - разрешен доступ только посетителям с именами admin, alex, mango. Естественно, они должны пройти аутентификацию.
    AuthName "Private zone. Only for administrator!"
    AuthUserFile /usr/host/mysite/.htpasswd
    require valid-user

    Доступ только пользователям admin и root

    AuthType Basic
    AuthName "Private zone. Only for administrator!"
    AuthUserFile /usr/host/mysite/.htpasswd
    require user admin root

    Доступ только пользователей из группы admins

    AuthType Basic
    AuthName "Private zone. Only for administrator!"
    AuthUserFile /usr/host/mysite/.htpasswd
    AuthGroupFile /usr/host/mysite/group
    require group admins

    Запрет доступа только к файлу private.zip


    AuthType Basic
    AuthName "Private zone. Only for administrator!"
    AuthUserFile /usr/host/mysite/.htpasswd
    require valid-user