Ручная установка
Linux

Ubuntu

37min

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

  • Ubuntu 20.04
  • Ubuntu 22.04

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

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

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

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

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

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

bash


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

bash


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

Установить пакет software-properties-common и добавить репозиторий ppa:ondrej/php:

Shell


Обновить локальный список пакетов и репозиториев:

Shell


Установить PHP и модули расширений:

Shell


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

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

Shell


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

Shell


3.2 Установка расширения PHP Phalcon

Установить расширение PHP Phalcon:

Shell


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

Shell


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

Загрузить и преобразовать GPG-ключ MongoDB в файл:

Bash


Добавить строку репозитория в файл /etc/apt/sources.list.d/mongodb-org-6.0.list:

Ubuntu 22.04
Ubuntu 20.04


Обновить список доступных пакетов:

Shell


Установить MongoDB c помощью менеджера пакетов apt:

Shell


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

shell


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

shell


5. Управление и скачивание последней версии Пассворк с помощью Git

Перейти в директорию /var/www/:

bash


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

bash


Инициализировать Git репозиторий в директории /var/www/:

bash


Добавить удалённый репозиторий Пассворк:

bash


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

bash


Система запросит логин и пароль к репозиторию, которые расположены на клиентском портале Пассворк. Если у вас нет доступа к клиентскому порталу — свяжитесь с нами.

Переключиться на ветку v6 с последней актуальной версией Пассворк:

bash


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

bash


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

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

bash


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

bash


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

bash


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

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

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

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

Оставьте все поля в значениях по умолчанию, если вы устанавливаете новую копию Пассворк.

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

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

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

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

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

bash


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

bash

  • Common Name (CN) — Здесь важно указать IP-адрес вашего сервера или имя хоста, так как ваш сертификат должен соответствовать домену (или IP-адресу) для веб-сайта;
  • subjectAltName (SAN) — Альтернативное имя домена или IP-адрес.

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

bash


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

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

bash


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

bash


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

bash


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

  • Добавить директиву ServerName (имя сервера или IP-адрес) и порт :443 под строкой ServerAdmin:
bash

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

  • Найти следующие изменения и обновить пути к файлам, которые были сгенерированы ранее или указать своё расположение до сертификата и ключа:
bash

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


Перезапустить службу Apache2 чтобы применить внесённые изменения в конфигурацию:

bash


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

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

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

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

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

bash


Установить параметр disableSameSiteCookie в /var/www/app/config/config.ini на значение Off:

bash


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

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

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

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

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

10. Настройка безопасности

Перед изменением и настройке параметров безопасности, настоятельно рекомендуем убедиться в стабильной и корректной работе Пассворка, а также создать резервную копию файлов

Безопасность сервера является важной частью обеспечения защиты ценных данных и ресурсов компании. Это процесс, который требует планирования и исполнения, чтобы обеспечить максимальную защиту от различных угроз.

Ознакомьтесь с рекомендуемыми параметрами безопасности Пассворка.

Обновлено 15 Jan 2025
Doc contributor
Doc contributor
Doc contributor
Помогла ли вам эта страница?