Как установить Passwork на РЕД ОС 7.3

Инструкция по установке и настройке Passwork на операционной системе РЕД ОС 7.3

Получение прав 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, загрузка фавиконов и другие задачи, которые требует много времени, постоянного выполнения или распределения ресурсов.

Проверить список запланированных задач и корректность всех настроек можно на странице «Фоновые задачи».

Как установить Passwork на РЕД ОС 7.3

Для настройки фоновых задач необходимо настроить планировщик вашей операционной системы Cron (для Линукс) или Windows Scheduler. Планировщик должен запускать скрипт <папка с Пассворк>/app/tools/run-scheduled-tasks.php каждую минуту.

Скрипт проанализирует какие задачи необходимо запустить и для каждой задачи создаст отдельный поток. При выполнении каждая задача записывает лог в папку <папка Пассворк>/app/logs/ в файлы вида task-*.log, например, task-62f8e9624e0446fba40bbb12.log. После завершения задачи вы можете посмотреть и скачать лог со страницы Фоновые задачи → История задач.

Системные логи планировщика (с ошибками) находятся в <папка Пассворк>/app/logs/run-command.log.

Оцените статью
( 2 оценки, среднее 5 из 5 )