Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...

Виртуальные хосты

Текущий рейтинг: 3.5 (проголосовало 2)
 Посетителей: 1026 | Просмотров: 1345 (сегодня 0)  Шрифт: - +
С помощью директив модуля mod_auth можно создавать на Web-узле раздел с ограниченным доступом, для которого будет требоваться аутентификация на основе имени пользователя и пароля. Необходимо знание следующих директив:

директивы, описывающие доступ и права работы с данным URL

директивы, описывающие доступ и права работы с данным каталогом

директивы, описывающие доступ и права работы с данным файлом

В секции обычно используются следующие директивы:

Options

AllowOverride

order

allow

deny

Возможные значения параметров Options:

ExecCGI - разрешить выполнение CGI-сценариев в данном каталоге и его поддереве;
FollowSymLinks - разрешить переходы по символическим ссылкам (создаваемым командой ln);
Includes - разрешить SSI (Server Side Includes);
Indexes - разрешить выдачу листинга каталога, если в нем нет файла index.html (или файла индекса, заданного директивой DirectoryIndex);
MultiViews - разрешить поддержку многих языков; по умолчанию она отключена, и включать ее, как правило, не нужно; поддержка перекодирования "на лету" для русского языка устанавливается с помощью других директив
All - установить сразу все перечисленные режимы кроме MultiViews.

При отсутствии специальных требований к безопасности вполне допустимо указать "Options All" в секции ; в противном случае нужно описать параметры каждого каталога отдельно.

AllowOverride [options ...]

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

AuthConfig - разрешить установку авторизации по имени пользователя и паролю;

FileInfo - разрешить директивы, отвечающие за типы документов;

Indexes - разрешить директивы, связанные с листингом каталогов;

Limit - разрешить команды allow и deny, которые ограничивают доступ к файлам в зависимости от адреса клиентского компьютера;

Options - разрешить описанную выше директиву Options.

- защита URL, по которым обращается пользователь

В секции Location обычно используются следующие директивы:

AuthType – задает тип контроля полномочий. Обычно используется basic.

AuthName – имя области, в которой имена и пароли пользователей действительны. Это имя области пользователь увидит в окне аутентификации при попытке доступа к серверу.

AuthUserFile – файл, содержащий имена пользователей и их пароли в зашифрованном виде

require – список пользователей и групп, которым разрешен доступ к серверу. Для разрешения доступа всем пользователям, имена которых есть в файле паролей, используется значение require valid-user.

Для защиты какого-либо каталога необходимо сделать следующее:

Создать в файле httpd.conf новый псевдоним – например /memberonly

Alias /memberonly “/www/mysite/htdocs/memberonly”

Первый параметр – псевдоним для доступа к каталогу (то, что набирает пользователь в адресной строке Web-браузера.

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

(Внимание – вы должны заменить эти параметры на свои, соответствующие вашей системе)

Добавить следующие директивы:

AuthName “Member-Only Access”

AuthType Basic

AuthUserFile /www/secrets/.members

require valid-user

Параметр директивы Location – это псевдоним, указанный в предыдущем путь на жестком диске к папке, содержащей файлы,

Что такое AuthUserFile – написано выше.

Применить утилиту htpasswd для создания паролей из папки /usr/local/apache2/bin/:

./htpasswd –c путь_к_файлу_паролей имя_пользователя

Ключ –c надо задавать только один раз: когда вы регистрируете самого первого пользователя.

Убедитесь, что лишь пользователь от имени которого работает Apache имеет право на доступ к файлу с паролями (например юзер и группа названы httpd):

chown httpd:httpd /www/secrets/.members

chmod 750 /www/secrets/.members

Перезапустить сервер.

./apachectl restart

Если что-то не работает, проверьте разрешен ли доступ к данной папке с помощью директив Order, Deny и Allow.

Виртуальные узлы на основе имен

В случае создания виртуальных узлов в первую очередь рекомендуется использовать имен host1.my_domain.com но этот метод. Предположим что у вас есть ip-адрес 111.22.33.44 и вы хотите создать узлы host1.my_domain.com и host2.my_domain.com.

Создайте соответствующие записи в файле DNS, указывающие для имен host1.my_domain.com и host2.my_domain.com на адрес 111.22.33.44.

Создайте в файле httpd.conf в разделе Virtual Hosts сегмент, подобный следующему:

NameVirtualHost 111.22.33.44

ServerName host1.my_domain.com

ServerAdmin whoAmI@ host1.my_domain.com

DocumentRoot ...

ErrorLog ...

CustomLog ... common

ScriptAlias ...

....

ServerName host2.my_domain.com

ServerAdmin whoAmI@ host2.my_domain.com

DocumentRoot ...

ErrorLog ...

CustomLog ... common

ScriptAlias ...

...

Перезапустите Web-сервер Apache.

Виртуальные узлы на основе IP-адресов.

Данный метод требует использования различных IP-адресов для создания виртуальных узлов. В результате, при смене IP-адресов сопровождение системы может значительно усложнится. Рассмотрим пример : два виртуальных узла на адресах 111.22.33.44 и 111.22.33.55

ServerName host1.my_domain.com

ServerAdmin whoAmI@ host1.my_domain.com

DocumentRoot ...

ErrorLog ...

CustomLog ... common

ScriptAlias ...

....

ServerName host2.my_domain.com

ServerAdmin whoAmI@ host2.my_domain.com

DocumentRoot ...

ErrorLog ...

CustomLog ... common

ScriptAlias ...

...

Каждый из IP-адресов должен быть привязан к одному или нескольким Ethernet-интерфейсам на сервере.

Во FreeBSD для создания нескольких IP-адресов на одном Ethernet-интерфейсе служит команда ifconfig с параметром alias (man ifconfig).

Кроме этого, доступ к папкам определенным директивой DocumentRoot внутри контейнеров VirtualHost должен быть разрешен доступ с помощью директив Order, Allow и Deny, а сам уникальный IP-адрес должен быть указан в директиве Listen.

Опубликована: 22.05.2005
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:  


Оценить статью:
Вверх
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.