Astra Linux.Как сделать.Установка LAMP

Материал из ТХАБ.РФ
(перенаправлено с «Astra Linux.Справка.Apache2»)
Перейти к: навигация, поиск

Настройка 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 по пути, указанному в конфигурационном параметре 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://.