Аннотация
В данной статье представлена инструкция по установке web-сервера NGINX. Web-сервера NGINX (пакет nginx) доступен в составе расширенного репозитория Astra Linux Special Edition x.7 (см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования ).
Программное обеспечение расширенного репозитория является сторонним по отношению к Astra Linux, не дорабатывается с точки зрения выполнения требований по безопасности информации и не проверяется при сертификации.
Подробнее см. Использование стороннего программного обеспечения в аттестованных информационных системах, функционирующих под управлением Astra Linux Special Edition.
При использовании программного обеспечения расширенного репозитория рекомендуется для дополнительной изоляции процессов осуществлять их запуск в изолированной программной среде (контейнере) [п. 7.2 РукКСЗ1]. При использовании для этих целей Docker-контейнеров их запуск целесообразно осуществлять от имени непривилегированного пользователя в rootless-режиме, а при включенном мандатном контроле целостности (МКЦ) с применением технологии запуска контейнеров на пониженном [п. 7.2.1] или выделенном [п. 7.2.7] уровне МКЦ.
Что такое NGINX
Общая информация
NGINX (читается [engine x]) — это HTTP-сервер и обратный прокси-сервер, почтовый прокси-сервер, а также TCP/UDP прокси-сервер общего назначения, выполняющий следующие функции:
- Основная функциональность HTTP-сервера:
- Обслуживание статических запросов, индексных файлов, автоматическое создание списка файлов, кэш дескрипторов открытых файлов;
- Акселерированное обратное проксирование с кэшированием, распределение нагрузки и отказоустойчивость;
- Акселерированная поддержка FastCGI, uwsgi, SCGI и memcached серверов с кэшированием, распределение нагрузки и отказоустойчивость;
- Модульность;
- Фильтры, в том числе сжатие (gzip), byte-ranges (докачка), chunked ответы, XSLT-фильтр, SSI-фильтр, преобразование изображений; параллельная обработка подзапросов на одной странице в SSI-фильтре через прокси или FastCGI/uwsgi/SCGI;
- Поддержка SSL и расширения TLS SNI;
- Поддержка HTTP/2 с приоретизацией на основе весов и зависимостей;
- Виртуальные серверы, определяемые по IP-адресу и имени;
- Поддержка keep-alive и pipelined соединений;
- Настройка форматов журналов, буферизованная запись в журналы, быстрая ротация журналов, запись журналов в syslog;
- Специальные страницы для ошибок 3xx-5xx;
- rewrite-модуль: изменение URI с помощью регулярных выражений;
- Выполнение разных функций в зависимости от адреса клиента;
- Ограничение доступа в зависимости от адреса клиента, по паролю (HTTP Basic аутентификация) и по результату подзапроса;
- Проверка HTTP referer;
- Методы PUT, DELETE, MKCOL, COPY и MOVE;
- FLV и MP4 стриминг;
- Возможность ограничения скорости отдачи ответов;
- Возможность ограничение числа одновременных соединений и запросов с одного адреса;
- Геолокация по IP-адресу;
- A/B-тестирование;
- Зеркалирование запросов;
- Встроенный Perl;
- Сценарный язык njs;
- Перенаправление пользователей на IMAP- или POP3-серверы с использованием внешнего HTTP-сервера аутентификации;
- Аутентификация пользователей с помощью внешнего HTTP-сервера аутентификации и перенаправление соединения на внутренний SMTP-сервер;
- Поддерживаемые методы аутентификации:
- POP3: USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
- IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
- SMTP: AUTH LOGIN/PLAIN/CRAM-MD5;
- Проксирование TCP и UDP;
- Поддержка SSL и расширения TLS SNI для TCP;
- Распределение нагрузки и отказоустойчивость;
- Ограничение доступа в зависимости от адреса клиента;
- Выполнение разных функций в зависимости от адреса клиента;
- Ограничение числа одновременных соединений с одного адреса;
- Настройка форматов журналов, буферизованная запись в журналы, быстрая ротация журналов, запись журналов в syslog;
- Геолокация по IP-адресу;
- A/B-тестирование;
- Сценарный язык njs;
- Один главный и несколько рабочих процессов, рабочие процессы работают под непривилегированным пользователем;
- Изменение настроек и обновление исполняемого файла без перерыва в обслуживании клиентов;
- Поддержка kqueue (FreeBSD 4.1+), epoll (Linux 2.6+), /dev/poll (Solaris 7 11/99+), event ports (Solaris 10), select и poll:
- Использование возможностей, предоставляемых kqueue, таких как EV_CLEAR, EV_DISABLE (для временного выключения события), NOTE_LOWAT, EV_EOF, число доступных данных, коды ошибок;
- Использование возможностей, предоставляемых epoll, таких как EPOLLRDHUP (Linux 2.6.17+, glibc 2.8+) и EPOLLEXCLUSIVE (Linux 4.5+, glibc 2.24+);
Оригинальная документация NGINX
Оригинальная документация NGINX доступна по ссылке: https://nginx.org/ru/
Установка NGINX
Для установки пакета nginx:
- Подключить репозитории:
- актуальное оперативное обновление расширенного репозитория;
Astra linux web server
Заходим в систему под суперпользователем: Настраиваем сеть. В Astra Linux это делается также как и в Ubuntu:
* В данном примере мы настроили сетевой интерфейс eth0 (задали IP-адрес 192.168.0.15 маску 255.255.255.0 и шлюз по умолчанию 192.168.0.1) Для применения настроек необходимо перезапустить сетевую службу:
В Astra Linux по умолчанию не настроены репозитории для установки пакетов, поэтому необходимо это сделать:
Для синхронизации времени установим пакет ntpdate, синхронизируем время и настроим автоматическое задание: # apt-get install ntpdate
# ntpdate ru.pool.ntp.org
# mkdir -p /var/cron/tabs && echo ‘0 0 * * * /usr/sbin/ntpdate ru.pool.ntp.org’ >> /var/cron/tabs/crontab && crontab /var/cron/tabs/crontab && crontab -lУстановка и настройка Nginx, PHP, MySQL
Теперь можем обновлять список пакетов и устанавливать веб-сервер nginx: # apt-get update
# apt-get install nginx Демон запускается автоматически. Попробуйте открыть браузер и ввести IP-адрес сервера. Вы должны увидеть приветствие от Nginx. Устанавливаем php и php-интерпретатор: # apt-get install php5 php5-fpm В Astra Linux по умолчанию nginx работает от учетной записи nginx, а php-fpm — от www-data. В результате этого при попытке использовать веб-сервер с php-скриптами мы получим ошибку. Для решения этой проблемы необходимо поменять пользователя, от которого будет работать либо nginx, либо php-fpm. В данном примере, nginx: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. Источник
Операционные системы Astra Linux
Операционные системы Astra Linux Common Edition и Astra Linux Special Edition разработаны коллективом открытого акционерного общества «Научно-производственное объединение Русские базовые информационные технологии» и основаны на свободном программном обеспечении. Astra Linux Common Edition предназначена для автоматизации коммерческих предприятий и органов государственного управления. Astra Linux Special Edition предназначена для применения в автоматизированных системах в защищенном исполнении, обрабатывающих информацию ограниченного распространения, включая государственную тайну до степени секретности «особой важности» . На сайте представлена подробная информация о разработанных операционных системах семейства Astra Linux, а также техническая документация для пользователей операционных систем и разработчиков программного обеспечения. Кроме того, предоставлена возможность скачать дистрибутивы и исходные тексты операционной системы Astra Linux Common Edition, а также задать интересующие вопросы разработчикам . Мы будем признательны Вам за вопросы и предложения, которые позволят совершенствовать наши изделия в Ваших интересах и адаптировать их под решаемые Вами задачи!
Репозитория открытого доступа в сети Интернет для операционной системы Astra Linux Special Edition нет. Операционная система распространяется посредством DVD-дисков. Информацию о сетевых репозиториях операционной системы Astra Linux Common Edition Вы можете получить на нашем сайте. Источник
Установка и настройка Apache2 на Astra Linux
В данной статье приведён пример установки и настройки Apache HTTP Server (Apache2) на OC Astra Linux SE. Если в ОС уже настроен виртуальный дисплей xvfb, то подготовка системы не требуется и можно перейти сразу к установке Apache2.
Подготовка системы
Выполните следующие действия: Разрешите доступ к DISPLAY 0.0. Для этого откройте файл X0.hosts, выполнив в терминале команду: sudo nano /etc/X0.hosts
В открывшемся файле добавьте строку: Примечание . Если у вас физический дисплей настроен на другой номер, то после X необходимо указать соответствующую цифру. Откройте конфигурационный файл xserverrc: sudo nano /etc/X11/xinit/xserverrc exec /usr/bin/X -nolisten tcp «$@» Откройте конфигурационный файл fly-dmrc: sudo nano /etc/X11/fly-dm/fly-dmrc
sudo service fly-dm restart После перезагрузки X-сервера запустите его заново командой startx и авторизуйтесь. Для корректной работы сервисов должен быть произведён вход пользователем в графическое окружение системы из физической консоли.
Установка и настройка Apache2
В стандартной поставке Astra Linux SE Apache2 доступен только в конфигурации prefork. В связи с этим для Astra Linux используется Apache2 собственной сборки, собранный с модулем coworker. Apache HTTP Server поставляется с архивом платформы и распаковывается в каталог /opt/ Foresight /fp9.2 -biserver/bin/apache/2.2. Примечание . При смене каталога расположения Apache HTTP Server надо изменить в файле conf/httpd.conf значения параметров ServerRoot, DocumentRoot, Directory и ScriptAlias, где указан путь до /opt/ Foresight /fp9.2-biserver/bin/apache/2.2, на соответствующий новому расположению веб-сервера. Перенесите init-файл apache2-fp9.2 в каталог /etc/init.d/ командами в терминале: sudo cp /opt/ Foresight /fp9.2 -biserver/bin/apache/2.2/apache2-fp9.2 /etc/init.d/ sudo chmod +x /etc/init.d/apache2-fp9.2
init-файл запуска Apache2 можно создать вручную, вставив листинг скрипта ниже в файл /etc/init.d/apache2-fp9.2. Откройте файл для редактирования: sudo juffed /etc/init.d/apache2-fp9.2 Вставьте текст скрипта и сохраните файл apache2-fp9.2: # Required-Start: $local_fs $remote_fs $network $syslog $named # Required-Stop: $local_fs $remote_fs $network $syslog $named # Default-Start: 2 3 4 5 # Short-Description: Start/stop apache2 web server