Инструкция по установке и настройке 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.