...
Сразу после установки сервер настроен и готов к приему запросов на всех сетевых интерфейсах на 80
порту. Если по каким-то причинам он не работоспособен, следует проверить минимально необходимые настройки сервера. В файле /etc/apache2/ports.conf
должны быть указаны параметры:
Подсказка | ||
---|---|---|
| ||
NameVirtualHost *:80 Listen 80 |
В каталоге /etc/apache2/sites-available
должны находиться файлы с настройками виртуальных хостов и как минимум один из них должен быть разрешен к использованию командой:
...
Если не настроена авторизация через Kerberos, по умолчанию для всех ресурсов будет использоваться авторизация через PAM
, при этом будет использоваться пользовательская БД, прописанная в настройках ОС. Логин и пароль пользователя будут передаваться от пользователя к серверу в открытом виде с использованием метода аутентификации Basic
. Для корректного функционирования авторизации через PAM
пользователю, от которого работает web-сервер (по умолчанию — www-data
), необходимо выдать права на чтение информации из БД пользователей и сведений о мандатных метках. Например, добавить права на чтение файла /etc/shadow:
Блок кода |
---|
usermod -a -G shadow www-data |
и права на чтение каталога /etc/parsec/macdb
:
Блок кода |
---|
setfacl -d -m u:www-data:r /etc/parsec/macdb setfacl -R -m u:www-data:r /etc/parsec/macdb setfacl -m u:www-data:rx /etc/parsec/macdb |
...
– наличие в системе, на которой функционирует web-сервер, установленного пакета клиента ALD — ald-client
; – разрешение имен должно быть настроено таким образом, чтобы имя системы разрешалось, в первую очередь, как полное имя (например, myserver.example.ru
); – клиент ALD должен быть настроен на используемый ALD домен; – в системе должен быть установлен модуль web-сервера Apache 2.2 auth_kerb из пакета libapache2-mod-auth-kerb
.
Наличие модуля web-сервера Apache 2.2 auth_kerb предоставляет возможность организации совместной работы с ALD с использованием для аутентификации пользователей посредством Kerberos метода GSSAPI. Для проведения операций по настройке ALD и администрированию Kerberos необходимо знание паролей администраторов ALD и Kerberos. Для обеспечения возможности работы web-сервера Apache 2.2 с ALD необходимо:
активировать модуль web-сервера Apache 2.2 auth_kerb при помощи команды:
Блок кода |
---|
a2enmod auth_kerb |
в конфигурационных файлах виртуальных хостов web-сервера Apache 2.2 для областей, требующих авторизации, указать:
Блок кода |
---|
AuthType Kerberos |
...
KrbAuthRealms REALM |
...
KrbServiceName HTTP/server.my_domain.org |
...
Krb5Keytab /etc/apache2/keytab |
...
KrbMethodNegotiate on |
...
KrbMethodK5Passwd off |
...
require valid-user |
создать в БД ALD с помощью утилиты администрирования ALD принципала, соответствующего настраиваемому web-серверу Apache. Принципал создается с автоматически сгенерированным случайным ключом:
Блок кода |
---|
ald-admin service-add HTTP/server.my_domain.org |
ввести созданного принципала в группу сервисов mac, используя следующую команду:
Блок кода |
---|
ald-admin sgroup-svc-add HTTP/server.my_domain.org --sgroup=mac |
создать файл ключа Kerberos для web-сервера Apache с помощью утилиты администрирования ALD ald-client, используя следующую команду:
Блок кода |
---|
ald-client update-svc-keytab HTTP/server.my_domain.org --ktfile="/etc/apache2/keytab" |
Полученный файл должен быть доступен web-серверу Apache по пути, указанному в конфигурационном параметре Krb5Keytab (в данном случае — /etc/apache2/keytab
). Права доступа к этому файлу должны позволять читать его пользователю, от имени которого работает web-сервер Apache (как правило, владельцем файла назначается пользователь www-data);
сменить владельца полученного на предыдущем шаге файла keytab на пользователя www-data, выполнив следующую команду:
Блок кода |
---|
chown www-data /etc/apache2/keytab |
сделать файл /etc/apache2/keytab
доступным на чтение для остальных пользователей:
Блок кода |
---|
chmod 644 /etc/apache2/keytab |
перезапустить web-сервер Apache, выполнив команду:
Блок кода |
---|
/etc/init.d/apache2 restart |
Браузер пользователя должен поддерживать аутентификацию negotiate. В последних версиях браузера Konqueror данная поддержка присутствует автоматически. В браузере Mozilla Firefox в настройках, доступных по адресу about:config, необходимо указать, для каких серверов доступна аутентификация negotiate. Для выполнения данной настройки необходимо задать маски доменов или в общем случае http- и https- соединения в качестве значений параметра network.negotiate-auth.trusted-uris
, вставив, например, значение http://, https://
.