CentOS 8 Stream
💡 Это руководство по установке не подходит для CentOS Linux 8, срок службы которого истекает 31 декабря 2021 г.
Пассворк не требователен к ресурсам сервера(-ов). Объемы необходимых ресурсов (RAM, CPU, HDD) и количество серверов зависят от количества активных пользователей, объема хранимых данных, а также требований к отказоустойчивости системы.
💡 Если на сервере 2-4 ГБ RAM, то рекомендуется включить SWAP файл для корректной сборки всех библиотек.
Измените имя сервера на "passwork".
Скачайте и распакуйте архив с пакетами MongoDB
Установите MongoDB
Измените режим работы SELinux на disabled. Откройте файл /etc/selinux/config и измените значение параметра SELINUX на disabled.
Приведите файл к следующему виду:
Для того чтобы внесенные изменения вступили в силу, необходимо перезагрузить систему.
Запустите службу MongoDB.
Включите автозапуск службы mongod при загрузке системы.
💡 Необходимо установить версию PHP 8.0. Более новые версии пока не поддерживаются.
Установка пакета конфигурации Remi репозитория
Установка PHP и дополнительных расширений
Проверка основной версии PHP
Убедитесь, что PHP 8 используется в качестве основной версии.
Клонируйте репозиторий используя ваш логин и пароль.
💡 Система запросит логин и пароль к репозиторию, которые вы можете найти в вашем клиентом портале Пассворка. Если у вас нет доступа к клиентскому порталу — свяжитесь с нами.
Установите права доступа на папки и файлы.
Конфигурация Apache2
Создайте конфигурационный файл для non-ssl соединения.
Приведите содержимое файла к следующему виду:
Перезапустите Apache.
Откройте http://passwork.local или http://<IP адрес сервера> для доступа к вебсайту.
При первом открытии Пассворк вы увидите диалог инсталляции, который проверит корректность настройки сервера и позволит ввести базовые параметры.
💡 Оставьте все поля в значениях по умолчанию, если вы устанавливаете новую копию Пассворк.
💡 Обратите внимание, случайно генерируемый ключ используется для шифрования базы данных.
Зарегистрируйте администратора Пассворк
Введите логин и пароль для первого пользователя. Пользователь автоматически станет администратором и владельцем организации.
Установите SSL модуль для Apache.
Создайте новую директорию для хранения закрытого ключа (директория /etc/ssl/certs доступна по умолчанию для хранения файла сертификата):
Установите правильные разрешения на директорию:
Создайте новый сертификат и закрытый ключ для его защиты.
- Common Name(CN): Укажите IP-адрес вашего сервера или имя хоста. Это поле имеет значение, так как ваш сертификат должен соответствовать домену (или IP-адресу) для вашего веб-сайта.
- subjectAltName(SAN): Альтернативные имена домена или IP-адрес.
Создайте группу Диффи-Хеллмана.
Добавьте содержимое сгенерированного файла в конец самоподписанного сертификата.
При работе через SSL-соединение (HTTPS) браузер Chrome требует наличия флагов Secure и SameSite у cookie. Без этих флагов браузер не будет принимать куки, и вы не сможете авторизоваться в Пассворке в Chrome.
Для того чтобы установить эти флаги, включите параметр session.cookie_secure в файле /etc/php.ini вручную или командой:
И установите параметр disableSameSiteCookie (секция [application])в файле /var/www/app/config/config.ini в значение Off вручную или командой:
💡 Обратите внимание, файл `config.ini` генерируется после прохождения первоначальной настройки на странице установки.
💡 Не устанавливайте эти параметры или верните их в исходное значение, если вы передумаете использовать SSL и будете работать через HTTP-протокол.
Откройте конфигурационный файл SSL в текстовом редакторе.
Найдите раздел, начинающийся с <VirtualHost _default_:443> и внесите следующие изменения.
- Раскомментируйте строку DocumentRoot и измените путь в кавычках на путь к корневому каталогу вашего сайта. По умолчанию это будет /var/www/html.
- Затем, раскомментируйте строку ServerName и замените www.example.com на IP-адрес или домен сервера (в зависимости от того, что вы указали в качестве Common Name в своем сертификате):
- Добавьте директиву “Directory” после “ServerName”.
- Затем найдите строки SSLProtocol и SSLCipherSuite и либо удалите их, либо закомментируйте. Новая конфигурация, которую мы добавим ниже имеет более безопасные параметры, чем настройки Apache по умолчанию в CentOS:
Найдите строки SSLCertificateFile и SSLCertificateKeyFile и приведите их к следующему виду:
После внесения изменений проверьте, что ваш файл конфигурации виртуального хоста соответствует примеру ниже.
Мы закончили с изменениями в блоке VirtualHost. Сохраните изменения (Ctr+O) и выйдите (Ctr+X).
Перезапустите Apache, чтобы изменения вступили в силу.
Проверьте SSL-соединение, откройте ссылку https://passwork.local.
Фоновые задачи — это задачи, которые выполняются по планировщику в фоновом режиме. Например, синхронизация LDAP, загрузка фавиконов и другие задачи, которые требует много времени, постоянного выполнения или распределения ресурсов.