Astra linux lamp server

Настройка web-сервера на Astra Linux SE 1.5

Web-сервер Apache2, входящий в состав Astra Linux SE 1.5 Smolensk, не допускает возможности анонимного использования ресурсов web-сервера и требует обязательной настройки авторизации пользователей.

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

После установки сервера необходимо установить пакет libapache2-mod-auth-pam . После этого сервер настроен и готов к приему запросов на всех сетевых интерфейсах на 80 порту. Если по каким-то причинам он не работоспособен, следует проверить минимально необходимые настройки сервера.

В файле /etc/apache2/ports.conf должны быть указаны параметры:

NameVirtualHost *:80 Listen 80 

В каталоге /etc/apache2/sites-available должны находиться файлы с настройками виртуальных хостов и как минимум один из них должен быть разрешен к использованию командой:

В команде необходимо использовать только имя файла (без указания полного пути).

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

 ServerAdmin webmaster@localhost ServerName server.domain.name AuthPAM_Enabled on AuthType Basic AuthName "PAM authentication" require valid-user DocumentRoot /var/www/ Options Indexes FollowSymLinks MultiViews AllowOverride None ErrorLog /var/log/apache2/error.log LogLevel warn CustomLog /var/log/apache2/access.log combined 

Если не настроена аутентификация через Kerberos, то для всех ресурсов должна использоваться аутентификация и авторизация через PAM, при этом будет использоваться пользовательская БД, прописанная в настройках ОС. Для выполнения аутентификации и авторизации через PAM должен быть установлен пакет libapache2-mod-auth-pam и выполнена следующая команда:

Логин и пароль пользователя будут передаваться от пользователя к серверу в открытом виде с использованием метода аутентификации Basic.

Для корректного функционирования авторизации через PAM пользователю, от которого работает web-сервер (по умолчанию — www-data ), необходимо выдать права на чтение информации из БД пользователей и сведений о мандатных метках:

# usermod -a -G shadow www-data # 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 auth_kerb из пакета libapache2-mod-auth-kerb для аутентификации через Kerberos, нужно отключить его использование при помощи команды:

Читайте также:  Astra linux аппаратный raid

После окончания правки конфигурационных файлов необходимо перезапустить сервер командой:

ДОКУМЕНТАЦИЯ: ОПЕРАЦИОННАЯ СИСТЕМА СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ «ASTRA LINUX SPECIAL EDITION». Руководство администратора. Часть 1 (РУСБ.10015-01 95 01-1) Раздел 12. ЗАЩИЩЕННЫЙ КОМПЛЕКС ПРОГРАММ ГИПЕРТЕКСТОВОЙ ОБРАБОТКИ ДАННЫХ.

Источник

Установка и настройка связки NGINX + PHP + СУБД на Astra Linux

Обновлено

Обновлено: 21.03.2023 Опубликовано: 2016 год или раньше

Мы рассмотрим процесс настройки небольшого веб-сервера на базе NGINX с интерпретатором PHP и системами управления базами данных MySQL и PostgreSQL.

Данную инструкцию можно использовать для любой операционной системы Linux на основе Debian.

Подготовка сервера

Заходим в систему под суперпользователем:

Настраиваем сеть. В Astra Linux это делается также как и в Ubuntu:

auto eth0
iface lo inet eth0
address 192.168.0.15
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1 192.168.0.2

* В данном примере мы настроили сетевой интерфейс eth0 (задали IP-адрес 192.168.0.15 маску 255.255.255.0 и шлюз по умолчанию 192.168.0.1)

Для применения настроек необходимо перезапустить сетевую службу:

service networking restart

В Astra Linux по умолчанию не настроены репозитории для установки пакетов, поэтому необходимо это сделать:

deb ftp://ftp.astra-linux.com/astra/current/orel/repository orel main contrib non-free

* Эта строчка подключает официальный репозиторий Astra Linux.

Теперь нужно обновить список пакетов и обновить систему:

Установим sshd для возможности удаленного управления нашим сервером:

apt install openssh-server

Установка и настройка Nginx, PHP, MySQL

Устанавливаем пакет mysql-server:

* Во время установки будет предложено ввести новый пароль для mysql-записи root

В официальных репозиториях Astra Linux нет Nginx, поэтому подключим официальный от nginx inc.:

deb http://nginx.org/packages/debian/ wheezy nginx

* wheezy соответствует 7-й версии Debian. У вас может быть другая версия. Будьте внимательны.

Для успешного получения списка пакетов от нового репозитория, добавляем в систему PGP-ключ:

apt-key add nginx_signing.key

Теперь можем обновлять список пакетов и устанавливать веб-сервер nginx:

Демон запускается автоматически. Попробуйте открыть браузер и ввести IP-адрес сервера. Вы должны увидеть приветствие от Nginx.

Устанавливаем php и php-интерпретатор:

В Astra Linux по умолчанию nginx работает от учетной записи nginx, а php-fpm — от www-data. В результате этого при попытке использовать веб-сервер с php-скриптами мы получим ошибку. Для решения этой проблемы необходимо поменять пользователя, от которого будет работать либо nginx, либо php-fpm. В данном примере, nginx:

* самая первая строчка — меняем nginx на www-data.

Настраиваем виртуальный домен для нового сайта:

Читайте также:  Linux mint отключить ipv6

server listen 80;
server_name site.local;
set $root_path /var/www/site.local;

gzip on;
client_max_body_size 128M;
gzip_min_length 1000;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_types application/x-javascript text/plain application/xml text/css;

location / allow 192.168.0.0/16;
deny all;
root $root_path;
index index.php;
>

location ~ \.php$ fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT $root_path;
>

location ~* ^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|exe|tar|bmp|js)$ root $root_path;
expires modified +1w;
>
>

* site.local необходимо заменить на домен вашего веб-приложения или сайта.
** /var/www/site.local — директория, в которую мы поместим файлы сайта.
*** allow 192.168.0.0/16 — подсеть, для которой мы разрешаем доступ к сайту. Если ограничивать не требуется, удалите строчку и следующую за ней deny all.
**** Остальные параметры я рекомендую изучить самостоятельно.

Создаем директорию для сайта, которую мы указали в конфигурационном файле:

Создаем в нем файл index.php с функцией phpinfo:

Перезапускаем наши демоны:

service php5-fpm restart && service nginx restart

Проверьте работоспособность сервера, введя в адресной строке браузера IP-адрес сервера (в данном примере, 192.168.0.15). Сервер должен вернуть много параметров в различных таблицах.

Также в данных таблицах вы должны увидеть «MySQL Suppert — Enabled». Это говорит о том, что сервер готов к работе с базой MySQL.

Источник

Настройка Apache2 в Astra Linux

Сразу после установки сервер настроен и готов к приему запросов на всех сетевых интерфейсах на 80 порту. Если по каким-то причинам он не работоспособен, следует проверить минимально необходимые настройки сервера. В файле /etc/apache2/ports.conf должны быть указаны параметры:
NameVirtualHost *:80
Listen 80
В каталоге /etc/apache2/sites-available должны находиться файлы с настройками виртуальных хостов и как минимум один из них должен быть разрешен к использованию командой:
a2ensite config_filename
Минимальное содержимое таких файлов с конфигурациями виртуальных хостов выглядит следующим образом:

ServerAdmin webmaster@localhost
ServerName server.domain.name
DocumentRoot /path/to/root/dir/

Options Indexes FollowSymLinks MultiViews
AllowOverride None

ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined

После окончания правки конфигурационных файлов необходимо перезапустить сервер командой:
/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

Читайте также:  Открыть файл через блокнот linux

Настройка 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 при помощи команды:
  • в конфигурационных файлах виртуальных хостов web-сервера Apache 2.2 для областей, требующих авторизации, указать:
  • создать в БД ALD с помощью утилиты администрирования ALD принципала, соответствующего настраиваемому web-серверу Apache. Принципал создается с автоматически сгенерированным случайным ключом:
  • ввести созданного принципала в группу сервисов mac, используя следующую команду:
  • создать файл ключа Kerberos для web-сервера Apache с помощью утилиты администрирования ALD ald-client, используя следующую команду:

Полученный файл должен быть доступен web-серверу Apache по пути, указанному в конфигурационном параметре Krb5Keytab (в данном случае — /etc/apache2/keytab). Права доступа к этому файлу должны позволять читать его пользователю, от имени которого работает web-сервер Apache (как правило, владельцем файла назначается пользователь www-data);

  • сменить владельца полученного на предыдущем шаге файла keytab на пользователя www-data, выполнив следующую команду:
  • сделать файл /etc/apache2/keytab доступным на чтение для остальных пользователей:
  • перезапустить web-сервер Apache, выполнив команду:

Источник

Оцените статью
Adblock
detector