Проверено на HTTPS Redos 7.3.4 и Debian 11
После применения патча обновления необходимо добавить информацию в БД
sudo -i -u postgres psql \c cddisk
INSERT INTO public."MessageSettings" ("Key", "Value", "Lang") VALUES ('projectsUrl', 'https://projects.<your_domain>', 'en');
<your_domain> необходимо заменить на домен в котором работает КС24
Проверяем, что запись появилась
SELECT "Id", "Value", "Key" from public."MessageSettings" where "Key" in ('projectsUrl');
пример:
cddisk=# SELECT "Id", "Value", "Key" from public."MessageSettings" where "Key" in ('projectsUrl'); Id | Value | Key -----+---------------------------------+------------- 113 | https://projects.domain.ru | projectsUrl (1 строка)
Включение настройки в MessageSettings
INSERT INTO public."MessageSettings" ("Key", "Value", "Lang") VALUES ('enableProjects' ,'1','') ON CONFLICT ("Key") DO UPDATE SET "Value"= EXCLUDED."Value","Lang"= EXCLUDED."Lang";
Добавить настройку в MessageSettings для плиток
INSERT INTO public."MessageSettings"("Key", "Value", "Lang") VALUES ('Projects|ModuleUrlData','{"Icon":"/source/modules/icon-projects.svg", "Culture":{"ru":"Проекты","en":"Projects" }}','') ON CONFLICT ("Key") DO UPDATE SET "Value"= EXCLUDED."Value","Lang"= EXCLUDED."Lang";
Выполнить скрипт по добавлению приложения Projects
INSERT INTO public."Applications"("Key", "Name") SELECT 'projects', 'АРМ Проекты' WHERE NOT EXISTS(SELECT "Key" FROM public."Applications" WHERE "Key"='projects');
Выполнить скрипт по добавлению прав на роль Все
DO $$ declare appId int := 0; BEGIN SELECT "Id" INTO appId FROM public."Applications" WHERE "Key" = 'projects'; INSERT INTO public."RoleAccessRights"("RoleId", "EntityId", "EntityType", "Type", "OwnerId") SELECT r."Id", appId, 16, 512, 0 FROM public."Roles" r WHERE r."Type"=4 AND NOT EXISTS(SELECT "RoleId" FROM public."RoleAccessRights" WHERE "RoleId" = r."Id" AND "EntityId" = appId AND "EntityType"=16); END $$;
Добавить дефолтные статусы
DO $$ BEGIN INSERT INTO public."ProjectStatuses"( "Name", "Color", "Type","EntityType") SELECT 'BeExecuted', '#4DABF7', 2,38 WHERE Not exists(SELECT * FROM public."ProjectStatuses" WHERE "Type"=2 AND "EntityType"=38 AND "PatternId" is null); INSERT INTO public."ProjectStatuses"( "Name", "Color", "Type","EntityType") SELECT 'Closed', '#A9E34B', 5,38 WHERE Not exists(SELECT * FROM public."ProjectStatuses" WHERE "Type"=5 AND "EntityType"=38 AND "PatternId" is null); UPDATE public."ProjectStatuses" SET "Color"='#4DABF7' WHERE "Type"=2; UPDATE public."ProjectStatuses" SET "Color"='#A9E34B' WHERE "Type"=5; END $$
Выходим из psql
\q
Перезапускаем службы cddisk и api
sudo supervisorctl restart cddisk:processing
sudo supervisorctl restart cddisk:api
Скачать архив по ссылке
Распаковываем архив в /var/www/r7-office/
Даем права на эту папку
chmod 755 -R /var/www/r7-office/projects
Создаем файл конфигурации для NGINX projects в папке /etc/nginx/sites-available
<your_domain> Заменить на домен, в котором работает КС24
Содержание файла
server { listen 80; listen [::]:80; listen 443 ssl http2; client_max_body_size 26M; if ($scheme != "https") { return 301 https://$host$request_uri; } root /var/www/r7-office/projects; index index.html; server_name projects.<your_domain>; server_tokens off; ssl_protocols TLSv1.2 TLSv1.3; ssl_certificate /etc/nginx/ssl/<your_domain>.crt; ssl_certificate_key /etc/nginx/ssl/<your_domain>.key; ssl_ciphers HIGH:!aNULL:!MD5; location /api { proxy_set_header host $host; proxy_set_header X-real-ip $remote_addr; proxy_set_header X-forward-for $proxy_add_x_forwarded_for; proxy_set_header X-Module Contacts; proxy_pass http://localhost:38033/api; } location / { try_files $uri $uri/ /index.html; } }
Создаем ссылку в папке /etc/nginx/conf.d
ln -s /etc/nginx/sites-available/projects /etc/nginx/conf.d/projects-site.conf
Проверяем конфигурацию NGINX
nginx -t
Если ошибок нет перезапускаем службу nginx
systemctl restart nginx
Проверяем работоспособность по ссылке projects.<your_domain> либо через страницу администратора.