Релиз кандидат
Ручная установка

Alma/Rocky/CentOS/MSVSPhere

45min

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

  • CentOS 8 Stream, Alma Linux 8, Rocky Linux 8, MSVSPhere 8.
  • CentOS 9 Stream, Alma Linux 9, Rocky Linux 9, MSVSPhere 9.

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

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

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

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

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

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

shell


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

bash


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

shell


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

shell


2.1 Установка и базовая настройка Firewalld

Установить службу динамического управления брандмауэром Firewalld:

shell


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

shell


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

shell


Добавить HTTP-протокол в список разрешенных сервисов конфигурации Firewalld:

shell


Добавить HTTPS-протокол в список разрешенных сервисов конфигурации Firewalld:

shell


Применить изменения в конфигурации Firewalld:

shell


2.2 Отключение SELinux и перезагрузка ОС

Отредактировать конфигурационный файл /etc/selinux/config:

shell


Изменить значение параметра SELINUX с enforcing на disabled:

shell


Сохранить изменения (Ctrl+O) и выйдите (Ctrl+X). Перезагрузить систему, чтобы применить изменения в SELinux:

shell


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

Установить пакет EPEL (epel-release) и утилиты для управления пакетами yum (yum-utils):

Shell


Получить и установите последний EPEL репозиторий:

OS 8
OS 9


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

OS 8
OS 9


Включить модуль PHP версии 8.3 из репозитория REMI:

Shell


Установить PHP и дополнительные расширения:

Shell


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

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

Shell


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

Shell


3.2 Дополнительная настройка opcache

Получить расположение конфигурационного файла opcache:

shell


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

shell


Добавить следующие строки в конфигурационный файл:

shell


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

Создать файл для добавления репозитория MongoDB к системе управления пакетами yum:

Shell


Поместить в файл следующее содержимое:

OS 8
OS 9


Установить MongoDB:

Shell


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

shell


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

shell


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

Перейти на клиентский портал Пассворка и скопировать номер сертификата для получения Релиз-кандидата:

Document image


Проверить доступную версию релиз-кандидата Пассворка из клиентского портала с помощью скопированного номера сертификата запросом:

Shell


Необходимо убедиться, что для скачивания доступна релиз-кандидат версия Пассворка — 07xxxxxx

Получить Пассворк с помощью запроса:

Shell


Разархивировать релиз-кандидат версию Пассворка в физическое расположение:

shell


Назначить права на директории и файлы и сделать apache владельцем всех файлов:

shell


6. Настройка Apache2 для доступа по HTTP-протоколу

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

shell


Отредактировать содержимое файла и привести к следующему виду:

shell


Перезапустить веб-сервер (httpd.service):

shell


Открыть http://passwork.local или http://127.0.0.1 для проверки подключения к Пассворк

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

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

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

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

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

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

Первый пользователь по умолчанию является локальным и владельцем Пассворка. В случае назначения владельцем LDAP/SSO пользователя, он автоматически станет локальным и вы не сможете авторизоваться.

8. Настройка доступа по HTTPS-протоколу

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

Установить SSL модуль для Apache2:

shell


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

shell


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

shell


В поле Common Name (CN) важно указать IP-адрес вашего сервера или имя хоста, так как ваш сертификат должен соответствовать домену (или IP-адресу) для веб-сайта

Сгенерировать параметры Диффи-Хеллмана с длиной ключа 2048:

shell


Добавить параметры Диффи-Хеллмана к самоподписанному сертификату:

shell


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

shell


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

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

shell


Найти раздел, начинающийся с <VirtualHost _default_:443> и внести следующие изменения:

  • Раскомментировать строку DocumentRoot и изменить путь на корневой каталог Пассворка (/var/www/public);
  • Раскомментировать строку ServerName и изменить www.example.com на IP-адрес или домен сервера (в зависимости от указанного значения в Common Name сертификата):
Shell

  • Добавить директиву — <Directory> после ServerName:
Shell

  • Закомментировать строки с SSLProtocol и SSLCipherSuite в конфигурации:
Shell

  • Обновить пути к файлам сертификатов, которые были сгенерированы ранее:
shell

  • Проверить, что файл конфигурации виртуального хоста соответствует примеру:
shell


Перезапустить веб-сервер (httpd.service):

bash


Проверить подключение к Пассворку по HTTPS протоколу — https://passwork.local

8.3 Настройка Пассворка для работы по HTTPS-протоколу

При использовании защищенного SSL-соединения (HTTPS) клиентские браузеры требуют определенных флагов для обработки данных Пассворка.

Если флаг session.cookie_secure не установлен, браузеры не смогут установить соединение, что может приведет к ошибкам авторизации.

Установить параметр session.cookie_secure в файле /etc/php.ini:

bash


Не устанавливайте этот параметр или верните в исходное значение, если вы передумаете использовать SSL и будете работать через HTTP-протокол.

9. Настройка фоновых задач

Фоновые задачи — это задачи, которые выполняются по планировщику в фоновом режиме. Узнайте, как настроить фоновые задачи.

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

  • Работы LDAP;
  • Отправки почтовых уведомлений;
  • Загрузки фавиконов;
  • Очистки коллекции session в базе данных Пассворка.