Установить nginx astra linux

nginx: пакеты для Linux

Поддерживаемые дистрибутивы и версии

Пакеты nginx доступны для следующих дистрибутивов Linux и их версий:

Версия Поддерживаемые платформы
7.4+ x86_64, ppc64le, aarch64/arm64
8.x x86_64, aarch64/arm64
Версия Поддерживаемые платформы
10.x “buster” x86_64, i386, aarch64/arm64
11.x “bullseye” x86_64, aarch64/arm64
Версия Поддерживаемые платформы
18.04 “bionic” x86_64, aarch64/arm64
20.04 “focal” x86_64, aarch64/arm64
21.04 “hirsute” x86_64, aarch64/arm64
Версия Поддерживаемые платформы
12 SP5+ x86_64
15 SP2+ x86_64
Версия Поддерживаемые платформы
3.11 x86_64
3.12 x86_64, aarch64/arm64
3.13 x86_64, aarch64/arm64
3.14 x86_64, aarch64/arm64
Версия Поддерживаемые платформы
2 (LTS) x86_64, aarch64/arm64

Инструкции по установке

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

RHEL/CentOS

Установите пакеты, необходимые для подключения yum-репозитория:

Для подключения yum-репозитория создайте файл с именем /etc/yum.repos.d/nginx.repo со следующим содержимым:

По умолчанию используется репозиторий для стабильной версии nginx. Если предпочтительно использовать пакеты для основной версии nginx, выполните следующую команду:

Чтобы установить nginx, выполните следующую команду:

При запросе подтверждения GPG-ключа проверьте, что отпечаток ключа совпадает с 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62 , и, если это так, подтвердите его.

Debian

Установите пакеты, необходимые для подключения apt-репозитория:

Теперь нужно импортировать официальный ключ, используемый apt для проверки подлинности пакетов. Скачайте ключ:

Проверьте, верный ли ключ был загружен:

Вывод команды должен содержать полный отпечаток ключа 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 :

Если отпечаток отличается от вышеуказанного, удалите файл ключа.

Для подключения apt-репозитория для стабильной версии nginx, выполните следующую команду:

Если предпочтительно использовать пакеты для основной версии nginx, выполните следующую команду вместо предыдущей:

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

Чтобы установить nginx, выполните следующие команды:

Ubuntu

Установите пакеты, необходимые для подключения apt-репозитория:

Теперь нужно импортировать официальный ключ, используемый apt для проверки подлинности пакетов. Скачайте ключ:

Проверьте, верный ли ключ был загружен:

Вывод команды должен содержать полный отпечаток ключа 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 :

Если отпечаток отличается от вышеуказанного, удалите файл ключа.

Для подключения apt-репозитория для стабильной версии nginx, выполните следующую команду:

Если предпочтительно использовать пакеты для основной версии nginx, выполните следующую команду вместо предыдущей:

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

Чтобы установить nginx, выполните следующие команды:

Установите пакеты, необходимые для подключения zypper-репозитория:

Для подключения zypper-репозитория для стабильной версии nginx, выполните следующую команду:

Если предпочтительно использовать пакеты для основной версии nginx, выполните следующую команду вместо предыдущей:

Теперь нужно импортировать официальный ключ, используемый zypper/rpm для проверки подлинности пакетов. Скачайте ключ:

Проверьте, верный ли ключ был загружен:

Вывод команды должен содержать полный отпечаток ключа 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62 :

Импортируйте ключ в базу данных rpm:

Чтобы установить nginx, выполните следующую команду:

Alpine

Установите пакеты, необходимые для подключения apk-репозитория:

Для подключения apk-репозитория для стабильной версии nginx, выполните следующую команду:

Если предпочтительно использовать пакеты для основной версии nginx, выполните следующую команду вместо предыдущей:

Читайте также:  Структура окна windows виды окон

Теперь нужно импортировать официальный ключ, используемый apk для проверки подлинности пакетов. Скачайте ключ:

Проверьте, верный ли ключ был загружен:

Вывод команды должен содержать следующий модуль:

Переместите ключ в каталог доверенных ключей apk:

Чтобы установить nginx, выполните следующую команду:

Тэг @nginx должен быть указан и при установке пакетов с динамическими модулями:

Amazon Linux

Установите пакеты, необходимые для подключения yum-репозитория:

Для подключения yum-репозитория создайте файл с именем /etc/yum.repos.d/nginx.repo со следующим содержимым:

По умолчанию используется репозиторий для стабильной версии nginx. Если предпочтительно использовать пакеты для основной версии nginx, выполните следующую команду:

Чтобы установить nginx, выполните следующую команду:

При запросе подтверждения GPG-ключа проверьте, что отпечаток ключа совпадает с 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62 , и, если это так, подтвердите его.

Пакеты с исходным кодом

Исходные коды пакетов находятся в соответствующем репозитории.

Ветка репозитория default содержит исходные коды пакетов для mainline-версии, в то время как ветки stable-* содержат исходные коды пакетов для стабильных релизов. Для сборки бинарных пакетов запустите make в каталоге debian/ для Debian/Ubuntu, или в каталоге rpm/SPECS/ для RHEL/CentOS/SLES/Amazon Linux, или в каталоге alpine/ для Alpine.

Исходные коды пакетов распространяются под той же BSD-подобной лицензией из 2 пунктов, что и сам nginx.

Динамические модули

Для того чтобы избежать увеличения числа зависимостей, основной пакет nginx не включает модули, которым требуются дополнительные библиотеки. Начиная с версии 1.9.11 nginx поддерживает динамические модули, и следующие модули собираются как динамические и поставляются в виде отдельных пакетов:

Подписи

Поскольку наши PGP-ключи находятся на том же сервере, что и пакеты, им следует доверять в равной степени. Поэтому мы настоятельно рекомендуем дополнительно проверить подлинность загруженных PGP-ключей. В PGP есть понятие “сети доверия”, когда ключ подписывается чьим-либо другим ключом, тот в свою очередь третьим, и т.д. Это зачастую позволяет построить цепочку от произвольного ключа до ключа человека, которого вы знаете и кому доверяете лично, и таким образом удостовериться в подлинности первого ключа в цепочке. Подробно эта концепция описана в GPG Mini Howto. У наших ключей есть достаточное количество подписей, поэтому проверить их подлинность относительно несложно.

Источник

Установить nginx astra linux

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

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

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

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

# vi /etc/network/interfaces

auto eth0
iface lo inet eth0

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 по умолчанию не настроены репозитории для установки пакетов, поэтому необходимо это сделать:

# vi /etc/apt/sources.list

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

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

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

# apt-get update && apt-get upgrade && apt-get dist-upgrade

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

# apt-get install openssh-server

Для синхронизации времени установим пакет 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

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

# apt-get install mysql-server

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

# service mysql start

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

# vi /etc/apt/sources.list

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

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

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

# wget http://nginx.org/keys/nginx_signing.key
# apt-key add nginx_signing.key

Теперь можем обновлять список пакетов и устанавливать веб-сервер 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:

# vi /etc/nginx/nginx.conf

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

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

# vi /etc/nginx/conf.d/site.local.conf

set $root_path /var/www/site.local;

gzip_proxied expired no-cache no-store private auth;

gzip_types application/x-javascript text/plain application/xml text/css;

fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;

fastcgi_param DOCUMENT_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.

Источник

Установить nginx astra linux

Скачиваем дистрибутив КриптоПро CSP с сайта.

Распаковываем и устанавливаем КриптоПро CSP КС2 с дополнительными компонентами lsb-cprocsp-devel cprocsp-stunnel:
tar -xvf ./linux-amd64_deb.tgz && cd ./linux-amd64_deb/
sudo ./install.sh kc2 lsb-cprocsp-devel cprocsp-stunnel

Добавляем криптопровайдеры КриптоПро HSM в конфигурацию КриптоПро CSP:
sudo -s
cd /opt/cprocsp/sbin/amd64/
./cpconfig -ini ‘\cryptography\Defaults\Provider\Crypto-Pro HSM CSP’ -add string ‘Image Path’ /opt/cprocsp/lib/amd64/libcspr.so
./cpconfig -ini ‘\cryptography\Defaults\Provider\Crypto-Pro HSM CSP’ -add string ‘Function Table Name’ CPSRV_GetFunctionTable
./cpconfig -ini ‘\cryptography\Defaults\Provider\Crypto-Pro HSM CSP’ -add long Type 75
./cpconfig -ini ‘\cryptography\Defaults\Provider\Crypto-Pro HSM CSP’ -add string Channel .clientk2

./cpconfig -ini ‘\cryptography\Defaults\Provider\Crypto-Pro GOST R 34.10-2012 HSM CSP’ -add string ‘Image Path’ /opt/cprocsp/lib/amd64/libcspr.so
./cpconfig -ini ‘\cryptography\Defaults\Provider\Crypto-Pro GOST R 34.10-2012 HSM CSP’ -add string ‘Function Table Name’ CPSRV_GetFunctionTable
./cpconfig -ini ‘\cryptography\Defaults\Provider\Crypto-Pro GOST R 34.10-2012 HSM CSP’ -add long Type 80
./cpconfig -ini ‘\cryptography\Defaults\Provider\Crypto-Pro GOST R 34.10-2012 HSM CSP’ -add string Channel .clientk2

./cpconfig -ini ‘\cryptography\Defaults\Provider\Crypto-Pro GOST R 34.10-2012 Strong HSM CSP’ -add string ‘Image Path’ /opt/cprocsp/lib/amd64/libcspr.so
./cpconfig -ini ‘\cryptography\Defaults\Provider\Crypto-Pro GOST R 34.10-2012 Strong HSM CSP’ -add string ‘Function Table Name’ CPSRV_GetFunctionTable
./cpconfig -ini ‘\cryptography\Defaults\Provider\Crypto-Pro GOST R 34.10-2012 Strong HSM CSP’ -add long Type 81
./cpconfig -ini ‘\cryptography\Defaults\Provider\Crypto-Pro GOST R 34.10-2012 Strong HSM CSP’ -add string Channel .clientk2

Перезапускаем службу cprocsp:
# service cprocsp restart

Экспортируем в файл корневой сертификат КриптоПро HSM из ключевого контейнера ключа доступа:

# /opt/cprocsp/bin/amd64/csptest -keys -cont cont_name -saveext /root/hsmroot.p7b

Имя ключевого контейнера можно вывести командой:
# /opt/cprocsp/bin/amd64/csptest -keys -enum -verifyc

Устанавливаем корневой сертификат КриптоПро HSM:
# /opt/cprocsp/bin/amd64/certmgr -inst -store root -file /root/hsmroot.p7b

Устанавливаем сертификат ключа доступа с привязкой к ключевому контейнеру:
# /opt/cprocsp/bin/amd64/csptest -absorb -certs -autoprov

Экспортируем сертификат ключа доступа в файл:
# /opt/cprocsp/bin/amd64/certmgr -export -dest /root/user.cer

Создаем файл /etc/opt/cprocsp/stunnel/stunnel.conf со следующим содержимым:
# mkdir /etc/opt/cprocsp/stunnel/ && touch /etc/opt/cprocsp/stunnel/stunnel.conf
# nano /etc/opt/cprocsp/stunnel/stunnel.conf

pid = /var/opt/cprocsp/tmp/stunnel-k2.pid
output = /var/log/stunnel-k2.log
socket = r:TCP_NODELAY=1
socket = r:SO_KEEPALIVE=1
TIMEOUTidle = 2147483
debug = 0
for_hsm = yes

[clientk2]
client = yes
connect = 192.168.0.1:1501
accept = /var/opt/cprocsp/tmp/.clientk2
cert = /root/user.cer
pincode =12345678

В данном случае IP-адрес КриптоПро HSM 192.168.0.1, пин-код ключевого контейнера 12345678.

Запускаем процесс stunnel_fork:
# /opt/cprocsp/sbin/amd64/stunnel_fork

Проверяем доступность криптопровайдеров КриптоПро HSM:
/opt/cprocsp/bin/amd64/csptest -enum -provider «Crypto-Pro HSM CSP» -provtype 75 -info
/opt/cprocsp/bin/amd64/csptest -enum -provider «Crypto-Pro GOST R 34.10-2012 HSM CSP» -provtype 80 -info
/opt/cprocsp/bin/amd64/csptest -enum -provider «Crypto-Pro GOST R 34.10-2012 Strong HSM CSP» -provtype 81 -info

Настраиваем автозапуск stunnel_fork как службы в Astra Linux 1.6

Создаем файл /etc/systemd/system/stunnel.service
# nano /etc/systemd/system/stunnel.service

Со следующим содержанием:
[Unit]
Description=stunnel_fork
After=network.target

[Service]
Type=forking
ExecStart=/opt/cprocsp/sbin/amd64/stunnel_fork
ExecReload=/bin/kill -HUP -$MAINPID
KillMode=process
Restart=always

# systemctl enable stunnel
# systemctl start stunnel

Для сборки Nginx на Astra Smolensk 1.6 SE необходимо установить пакеты build-essential и patch.

Скачиваем актуальный devel DVD — https://download.astralinux.ru/astra/stable/smolensk/devel/1.6/
Монтируем:
sudo apt-cdrom add
sudo apt update
sudo apt-get install build-essential patch

Скачиваем Nginx и накладываем патч:
wget https://nginx.org/download/nginx-1.18.0.tar.gz
tar -xvf ./nginx-1.18.0.tar.gz
cp ./ng-nginx.1.18.0.patch ./nginx-1.18.0 && cd ./nginx-1.18.0/
patch -p1

Получаем дополнительные исходные тексты:
wget https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz
tar -xvf ./pcre-8.44.tar.gz
wget https://zlib.net/zlib-1.2.11.tar.gz
tar -xvf ./zlib-1.2.11.tar.gz
wget https://www.openssl.org/source/openssl-1.1.1h.tar.gz
tar -xvf ./openssl-1.1.1h.tar.gz

Собираем (предварительно проверив пути):
./configure \
—user=nginx \
—group=nginx \
—with-cc-opt=’-fstack-protector -fstack-protector-strong —param=ssp-buffer-size=4 -Wformat -Werror=format-security -Werror=implicit-function-declaration -Winit-self -Wp,-D_FORTIFY_SOURCE=2 -fPIC’ \
—with-ld-opt=’-Wl,-z,relro -Wl,-z,now -Wl,—as-needed -pie -L/opt/cprocsp/lib/amd64 -lrdrsup -lssp -lcapi10 -lcapi20′ \
—prefix=/opt/nginx \
—conf-path=/etc/nginx/nginx.conf \
—error-log-path=/var/log/nginx/error.log \
—http-log-path=/var/log/nginx/access.log \
—lock-path=/var/run/lock/nginx.lock \
—pid-path=/var/run/nginx.pid \
—with-pcre=./pcre-8.44/ \
—with-pcre-jit \
—with-zlib=./zlib-1.2.11/ \
—with-http_ssl_module \
—with-http_sspi_module \
—with-http_stub_status_module \
—with-openssl=./openssl-1.1.1h/ \
—with-openssl-opt=’no-gost no-comp no-dtls no-deprecated no-dynamic-engine no-engine no-hw-padlock no-nextprotoneg no-psk no-tests no-ts no-ui-console no-ocsp’ \
—with-stream \
—with-stream_ssl_module \
—with-stream_sspi_module \
—with-http_v2_module

Для rhel based дистрибутивов добавляются опции:
—with-pcre-opt=-fPIC —with-zlib-opt=-fPIC

Копируем базовый конфиг в директорию с кодом:
sudo cp ./nginx.conf.sample ./nginx-1.18.0/conf/nginx.conf
make
sudo make install

Создаем системного пользователя:
sudo adduser —system —no-create-home —group nginx
sudo chown -R nginx:nginx /var/log/nginx/

Переносим init скрипт:
sudo cp ./nginx.init /etc/init.d/nginx
sudo chmod +x /etc/init.d/nginx
sudo systemctl daemon-reload

Создаем запрос на сертификат для Nginx:
sudo -u nginx /opt/cprocsp/bin/amd64/cryptcp -creatrqst -provname «Crypto-Pro GOST R 34.10-2012 HSM CSP» -provtype 80 -rdn ‘CN=Astra, C=RU ,S=77 Москва, L=г. Москва’ -certusage 1.3.6.1.5.5.7.3.1 -cont nginx1 -ex /tmp/request.req

Выпускаем на УЦ сертификат по запросу и устанавливаем в контейнре:
sudo -u nginx /opt/cprocsp/bin/amd64/certmgr -install -store uMy -cont ‘\\.\HSMDB\nginx1’ -provname «Crypto-Pro GOST R 34.10-2012 HSM CSP» -file /tmp/user.crt

Дополнительная информация и пример конфигурационного файла по ссылке.

Доступность сервиса проверяем с помощью:

csptest
/opt/cprocsp/bin/amd64/csptest -tlsc -server host_name -v

браузера с поддержкой ГОСТ TLS (на Linux — Chromium GOST)

Открыть страницу в браузере, посмотреть сертификат, убедиться что алгоритм ГОСТ.

Источник

Читайте также:  Имя компа mac os
Оцените статью