• Post category:Настройки
  • Запись изменена:13.11.2024

Проверено на 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> либо через страницу администратора.