Инструкция по установке и настройке Passwork на операционной системе РЕД ОС 7.3
- Получение прав root и создание локальной базы данных пакетов
- Установка Git, httpd, firewalld, настройка файрвола
- Скачайте архив с пакетами
- Установка PHP и расширений
- Измените режим работы SELinux на disabled.
- Установка базы данных MongoDB
- Установка расширения Phalcon
- Установка Пассворк
- Инсталляция
- Создание SSL сертификата
- Настройка продукта для корректной работы в Chrome с SSL
- Настройка Apache для использования SSL-соединения
- Настройка фоновых задач
Получение прав root и создание локальной базы данных пакетов
su
cd ~
yum makecache Изменение имени сервера на «passwork»
hostnamectl set-hostname passwork Установка Git, httpd, firewalld, настройка файрвола
yum -y install git httpd curl nano
systemctl start httpd
systemctl enable httpd
yum -y install firewalld
systemctl start firewalld.service
systemctl enable firewalld.service
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload Скачайте архив с пакетами
mkdir distr
cd distr
curl -O https://portal.passwork.pro/rhel8_packets.tar.gz
tar -xzvf rhel8_packets.tar.gz Установка PHP и расширений
yum -y install php/*.rpm Измените режим работы SELinux на disabled.
nano /etc/selinux/config Приведите файл к следующему виду:
SELINUX=disabled Для того чтобы внесенные изменения вступили в силу необходимо перезагрузить систему.
reboot Установка базы данных MongoDB
Настройка системы управления пакетами (yum).
Создайте файл /etc/yum.repos.d/mongodb-org-4.4.repo для того, чтобы установить MongoDB с использованием менеджера пакетов yum.
nano /etc/yum.repos.d/mongodb-org-4.4.repo Приведите файл к следующему виду:
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=http://mirrors.cloud.tencent.com/mongodb/yum/el7-4.4/
gpgcheck=0
enabled=1 Для установки последней стабильной версии MongoDB выполните следующую команду:
yum -y install mongodb-org Установка расширения Phalcon
cd ~/distr/cphalcon/build/
./install
service mongod start
systemctl enable mongod.service
echo "extension=phalcon.so" | tee /etc/php.d/50-phalcon.ini
systemctl restart httpd Установка Пассворк
Клонируйте репозиторий используя ваш логин и пароль.
cd /var/www
git init
git remote add origin https://passwork.download/passwork/passwork.git
git fetch
git checkout v5 Установите права доступа на папки и файлы.
find /var/www/ -type d -exec chmod 755 {} \;
find /var/www/ -type f -exec chmod 644 {} \;
chown -R apache:apache /var/www/ Конфигурация Apache2
Создайте конфигурационный файл для non-ssl соединения.
nano /etc/httpd/conf.d/non-ssl.conf Приведите содержимое файла к следующему виду:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/public
<Directory /var/www/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
ErrorLog logs/error_log
TransferLog logs/access_log
LogLevel warn
</VirtualHost> Перезапустите Apache.
systemctl reload php-fpm
systemctl restart httpd Откройте http://passwork.local или http://<IP адрес сервера> для доступа к вебсайту.
Инсталляция
При первом открытии Пассворк вы увидите диалог инсталляции, который проверит корректность настройки сервера и позволит ввести базовые параметры.Инсталл
Оставьте все поля в значениях по умолчанию, если вы устанавливаете новую копию Пассворк.
Обратите внимание, случайно генерируемый ключ используется для шифрования базы данных.
Зарегистрируйте администратора ПассворкОбратите внимание, случайно генерируемый ключ используется для шифрования базы данных.
Введите логин и пароль для первого пользователя. Пользователь автоматически станет администратором и владельцем организации.Зарегистрируйте администратора Пассворк
Создание SSL сертификата
Установите SSL модуль для Apache.
yum -y install mod_ssl Создайте новую директорию для хранения закрытого ключа (директория /etc/ssl/certs доступна по умолчанию для хранения файла сертификата):
mkdir /etc/ssl/private Установите правильные разрешения на директорию:
chmod 700 /etc/ssl/private Создайте новый сертификат и закрытый ключ для его защиты.
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -subj '/CN=your.domain.name' -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt Создайте группу Диффи-Хеллмана.
openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048 Добавьте содержимое сгенерированного файла в конец самоподписанного сертификата.
cat /etc/ssl/certs/dhparam.pem | tee -a /etc/ssl/certs/apache-selfsigned.crt Настройка продукта для корректной работы в Chrome с SSL
При работе через SSL-соединение (HTTPS) браузер Chrome требует наличия флагов Secure и SameSite у cookie. Без этих флагов браузер не будет принимать куки, и вы не сможете авторизоваться в Пассворке в Chrome.
Для того чтобы установить эти флаги, включите параметр session.cookie_secure в файле /etc/php.ini вручную или командой:
sed -i '/session.cookie_secure =/c session.cookie_secure = On' /etc/php.ini И установите параметр disableSameSiteCookie (секция [application])в файле /var/www/app/config/config.ini в значение Off вручную или командой.
sed -i '/disableSameSiteCookie =/c disableSameSiteCookie = Off' /var/www/app/config/config.ini Обратите внимание, файл config.ini генерируется после прохождения первоначальной настройки на странице установки.
Не устанавливайте эти параметры или верните их в исходное значение, если вы передумаете использовать SSL и будете работать через HTTP-протокол.
Настройка Apache для использования SSL-соединения
Настройка Apache для использования SSL-соединения
nano /etc/httpd/conf.d/ssl.conf Найдите раздел, начинающийся с <VirtualHost _default_:443> и внесите следующие изменения.
- Раскомментируйте строку DocumentRoot и измените путь в кавычках на путь к корневому каталогу вашего сайта. По умолчанию это будет /var/www/html.
- Затем, раскомментируйте строку ServerName и замените www.example.com на IP-адрес или домен сервера (в зависимости от того, что вы указали в качестве Common Name в своем сертификате):
DocumentRoot /var/www/public
ServerName passwork.local:443 - Добавьте директиву “Directory” после “ServerName”.
<Directory /var/www/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory> - Затем найдите строки SSLProtocol и SSLCipherSuite и либо удалите их, либо закомментируйте. Новая конфигурация, которую мы добавим ниже имеет более безопасные параметры, чем настройки Apache по умолчанию в CentOS:
# SSLProtocol all -SSLv2
# SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA Найдите строки SSLCertificateFile и SSLCertificateKeyFile и приведите их к следующему виду:
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key После внесения изменений проверьте, что ваш файл конфигурации виртуального хоста соответствует примеру ниже.
Listen 443
<VirtualHost _default_:443>
DocumentRoot /var/www/public
ServerName passwork.local:443
<Directory /var/www/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
</VirtualHost> Мы закончили с изменениями в блоке VirtualHost. Сохраните изменения (Ctr+O) и выйдите (Ctr+X).
Перезапустите Apache, чтобы изменения вступили в силу.
systemctl restart httpd Проверьте SSL-соединение, откройте ссылку https://passwork.local.
Настройка фоновых задач
Фоновые задачи — это задачи, которые выполняются по планировщику в фоновом режиме. Например, синхронизация LDAP, загрузка фавиконов и другие задачи, которые требует много времени, постоянного выполнения или распределения ресурсов.
Фоновые задачи появились в Пассворк с 5.1.0
Фоновые задачи — это задачи, которые выполняются по планировщику в фоновом режиме. Например, синхронизация LDAP, загрузка фавиконов и другие задачи, которые требует много времени, постоянного выполнения или распределения ресурсов.
Проверить список запланированных задач и корректность всех настроек можно на странице «Фоновые задачи».

Для настройки фоновых задач необходимо настроить планировщик вашей операционной системы Cron (для Линукс) или Windows Scheduler. Планировщик должен запускать скрипт <папка с Пассворк>/app/tools/run-scheduled-tasks.php каждую минуту.
Скрипт проанализирует какие задачи необходимо запустить и для каждой задачи создаст отдельный поток. При выполнении каждая задача записывает лог в папку <папка Пассворк>/app/logs/ в файлы вида task-*.log, например, task-62f8e9624e0446fba40bbb12.log. После завершения задачи вы можете посмотреть и скачать лог со страницы Фоновые задачи → История задач.
Системные логи планировщика (с ошибками) находятся в <папка Пассворк>/app/logs/run-command.log.





