Перейти к основному содержимому
Версия: 7.0

Astra Linux

к сведению

Инструкция по установке Пассворка на ОС:

  • Astra Linux SE 1.7
  • Astra Linux SE 1.8
осторожно

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

1. Минимальные системные требования

Пассворк не требователен к системным ресурсам, а необходимое количество серверов зависит от числа активных пользователей, объема хранимых данных и требований к отказоустойчивости системы.

Ознакомьтесь с полными системными требованиями.

к сведению

Если сервер имеет 2-4 ГБ оперативной памяти, мы рекомендуем включить SWAP файл.

2. Базовые действия перед установкой

Получить права root и обновить локальную базу данных пакетов:

sudo -i 
apt-get update

Установить веб-сервер Apache2 и утилиту передачи данных curl:

apt-get install -y apache2 unzip curl zip jq

3. Установка PHP

3.1 Загрузка архива

Получить PHP-архив в текущую директорию:

wget https://repos.passwork.ru/repository/php/builds/83/linux/astra/18/x86_64/php_latest.tar.gz
к сведению

Вы также можете скачать архив вручную:

Создать директорию и разархивируйте содержимое:

mkdir ./php && tar -zxvf ./php_latest.tar.gz -C ./php/

3.2 Установка

Установить все .deb пакеты из архива:

apt install ./php/*.deb -y

Установить утилиту PEAR с помощью go-pear.phar:

php ./php/go-pear.phar
к сведению

Выполнить стандартную (без изменений) установку — Enter

Убедиться, что служба php8.3-fpm запущена:

systemctl status php8.3-fpm

Запустить и активировать автозапуск службы, если она остановлена:

systemctl start php8.3-fpm
systemctl enable php8.3-fpm

3.3 Установка драйвера PHP MongoDB

Установить драйвер PHP MongoDB:

pecl install ./php/mongodb-*.tgz

Создать файлы конфигурации для загрузки и включения PHP MongoDB:

echo "extension=mongodb.so" | tee /etc/php/8.3/fpm/conf.d/20-mongodb.ini
echo "extension=mongodb.so" | tee /etc/php/8.3/cli/conf.d/20-mongodb.ini

4. Установка базы данных MongoDB

к сведению

Eсли вы планируете использовать PostgreSQL, пропустите 4-й шаг установки.

Подробнее о поддержке PostgreSQL

Получить архив MongoDB в текущую директорию:

wget https://repos.passwork.ru/repository/mongodb/7/astra/18/x86_64/mongodb_latest.tar.gz

Создать директорию и разархивируйте содержимое:

mkdir ./mongodb && tar -zxvf ./mongodb_latest.tar.gz -C ./mongodb/

Установить MongoDB с помощью dpkg:

dpkg -i ./mongodb/*.deb

Запустить службу mongod.service:

systemctl start mongod.service

Включить автозапуск службы:

systemctl enable mongod.service

5. Получение и настройка Пассворка

Онлайн

Получить скрипт:

wget https://repos.passwork.ru/repository/linux/scripts/passwork.sh
осторожно

Скрипт установки Пассворка не должен располагаться в каталоге вместе с файлами сервера приложений.

Назначить скрипту права на исполнение:

chmod +x passwork.sh

По умолчанию, скрипт passwork.sh выполнит:

  • Создание скрытого .script_env файла в текущем каталоге;
  • Создание директории passwork_archive для резервного копирования Пассворка;
  • Получение последней доступной верси Пассворка, подпись и открытый ключ;
  • Установку ранее полученного архива в /var/www/
к сведению

Чтобы использовать нестандартный путь установки, отключить проверку сертификата или изменить поведение вы можете использовать параметрами запуска скрипта.

Запустить скрипт:

sudo ./passwork.sh

При первом запуске скрипт запросит API ключ и выполнит базовые проверки окружения:

Пример запуска скрипта

Пример успешного выполнения скрипта:

Успешное выполнение скрипта
Офлайн

Получить скрипт на другой машине с доступом в Интернет:

wget https://repos.passwork.ru/repository/linux/scripts/passwork.sh
к сведению

Или получить passwork.sh скрипт вручную используя ссылку

осторожно

Скрипт установки Пассворка не должен располагаться в каталоге вместе с файлами сервера приложений.

Назначить скрипту права на исполнение:

chmod +x passwork.sh

Перед запуском passwork.sh необходимо:

  • Получить 7 версию Пассворка из клиентского портала (Обязательно);
  • Поместить в директорию запуска или использовать --input аргумент для указания расположение (Обязательно);
  • Получить подпись архива и публичный ключ Пассворка (необязательно если используется --skip аргумент). 

По умолчанию, скрипт passwork.sh выполнит:

  • Создание директории passwork_archive для резервного копирования Пассворка;
  • Разархивирование архива с Пассворком;
  • Установку ранее полученного архива в /var/www/
к сведению

Чтобы использовать нестандартный путь установки, отключить проверку сертификата или изменить поведение вы можете использовать параметрами запуска скрипта.

После подготовки запустить passwork.sh скрипт:

sudo ./passwork.sh -offline

Пример успешного выполнения скрипта:

Успешное выполнение скрипта офлайн

6. Настройка веб-сервера для HTTPS-протокола

к сведению

Для обеспечения корректной работы необходимо использовать HTTPS протокол. Использование HTTP приведёт к ошибкам.

6.1 Генерация самоподписанного SSL-сертификата

Создать новую директорию для хранения закрытого ключа и сертификата:

mkdir /etc/apache2/ssl/

Сгенерировать самоподписанный сертификат X.509 для Apache2 с помощью OpenSSL:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -subj '/CN=your.domain.name' -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
  • Common Name (CN) — Важно указать IP-адрес сервера или имя хоста, так как сертификат должен соответствовать домену (или IP-адресу) для веб-сайта;

Установить права доступа root пользователю для защиты закрытого ключа и сертификата:

chmod 600 /etc/apache2/ssl/*

6.2 Настройка виртуального хоста для доступа по HTTPS-протоколу

осторожно

Перед настройкой веб-сервера с включённой SSL-терминацией, рекомендуется ознакомиться с особенностями настройки.

Активировать модуль SSL в Apache2, позволяя серверу поддерживать протокол HTTPS:

a2enmod ssl

Включить конфигурационный файл виртуального хоста сайта с настройками для SSL-соединения:

a2ensite default-ssl

Открыть файл конфигурации виртуального хоста для HTTPS-соединения:

nano /etc/apache2/sites-enabled/default-ssl.conf

Внести следующие изменения:

  • Добавить строку ServerName и изменить www.example.com на IP-адрес или домен сервера (в зависимости от указанного значения в Common Name сертификата):
  • Раскомментировать строку DocumentRoot и изменить путь на корневой каталог Пассворка (/var/www/public);
ServerAdmin webmaster@localhost
ServerName passwork:443
DocumentRoot /var/www/public
  • Добавить директиву <Directory> после ServerName:
<Directory /var/www/public>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
  • Обновить пути к файлам сертификатов, которые были сгенерированы ранее:
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
  • Изменить обработчик .php-файлов, указав проксирование запросов к сокету php-fpm:
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.3-fpm.sock|fcgi://localhost/"
</FilesMatch>
  • После внесения изменений проверить, что файл конфигурации виртуального хоста соответствует примеру:
<VirtualHost *:443>
ServerName passwork:443
DocumentRoot /var/www/public

<Directory /var/www/public>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.3-fpm.sock|fcgi://localhost/"
</FilesMatch>
</VirtualHost>

Отключить режим AstraMode в Apache2:

sed -i 's/# AstraMode on/AstraMode off/' /etc/apache2/apache2.conf

Включить модули и перезапустить службы:

a2enmod rewrite proxy_fcgi setenvif
systemctl restart php8.3-fpm
systemctl restart apache2

7. Прохождение чек-листа

При первом подключении к Пассворку потребуется пройти чек-лист, в ходе которого будут проверены:

  • Необходимые параметры
  • Подключение к базе данных MongoDB
осторожно

Изменить подключение к MongoDB на адрес — mongodb://localhost:27017

  • Случайно сгенерированный ключ шифрования данных в MongoDB
  • Лицензионный ключ

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

к сведению

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