Astra Linux.Как сделать.Установка LAMP — различия между версиями
Админ (обсуждение | вклад) (Новая страница: «= Настройка Apache2 в Astra Linux = == Astra Linux Special Edition версия 1.2 == === Настройка web-сервера === Сразу по…») |
(нет различий)
|
Версия 18:18, 6 февраля 2016
Содержание
Настройка Apache2 в Astra Linux
Astra Linux Special Edition версия 1.2
Настройка web-сервера
Сразу после установки сервер настроен и готов к приему запросов на всех сетевых интерфейсах на 80 порту. Если по каким-то причинам он не работоспособен, следует проверить минимально необходимые настройки сервера. В файле /etc/apache2/ports.conf должны быть указаны параметры:
NameVirtualHost *:80
Listen 80
В каталоге /etc/apache2/sites-available должны находиться файлы с настройками виртуальных хостов и как минимум один из них должен быть разрешен к использованию командой:
a2ensite config_filename
Минимальное содержимое таких файлов с конфигурациями виртуальных хостов выглядит следующим образом:
пример:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName server.domain.name
DocumentRoot /path/to/root/dir/
<Directory /path/to/root/dir/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
После окончания правки конфигурационных файлов необходимо перезапустить сервер командой:
/etc/init.d/apache2 restart
ВНИМАНИЕ! Для обеспечения нормальной работы пользователя с сетевыми сервисами должны быть явно заданы диапазоны его мандатных уровней и категорий с помощью соответствующих утилит, даже если ему не доступны уровни и категории выше 0.
Настройка авторизации
Если не настроена авторизация через 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-сервера Apache2 в ALD
Для обеспечения совместной работы web-сервера Apache 2.2 с ALD необходимо:
- – наличие в системе, на которой функционирует 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 2.2 auth_kerb при помощи команды:
Полученный файл должен быть доступен 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
- сменить владельца полученного на предыдущем шаге файла keytab на пользователя www-data, выполнив следующую команду:
Браузер пользователя должен поддерживать аутентификацию negotiate. В последних версиях браузера Konqueror данная поддержка присутствует автоматически. В браузере Mozilla Firefox в настройках, доступных по адресу about:config, необходимо указать, для каких серверов доступна аутентификация negotiate. Для выполнения данной настройки необходимо задать маски доменов или в общем случае http- и https- соединения в качестве значений параметра network.negotiate-auth.trusted-uris, вставив, например, значение http://, https://.