Информационные технологии
c 2007 года
 

Обновление сервера 1С Предприятие на Linux

04.06.2025
Будем отмечать всё по шагам, для удобного контроля самого себя и отслеживания процесса.

0. Друзья, делаем бэкап или выгрузку баз.
Обязательно делаем бэкап баз на сервере.
Пока не сделаете бэкап - дальше читать просто запрещено.
Сделали? Тогда идём далее.

1. Для начала необходимо скачать нужный релиз 1С предприятия сервера для линукс.
Для этого заходим на оф.сайт (ну или где вы их берёте), в нашем случае мы качаем это:


2025-06-04_13-06-33.png

Отлично, скачали.
2. Далее распаковываем архив, извлекаем из него файл с расширением *.run и копируем его на наш Liinux-сервер, например через WinSCP:

2025-06-04_13-10-43.png

3. Я, перед установкой дистра, дополнительно обновил пакеты в системе, в моём случае, на AlmaLinux это делается командой:

# dnf update

Но это можете делать на своё усмотрение.
4. Переходим в папку с нашим файлом установки и запускаем его:

# cd /home/supus/
# ./setup-full-8.3.27.1559-x86_64.run

5. Тут нас попросят выбрать язык установки, мы в России, у нас по-дефолту стоит пункт 17, русский, просто жмём Ввод.
В процессе установки нам нужно либо нажимать Y/N, либо нажимать Ввод, в этом случае будет выбираться та буква, которая указана заглавной.
Не буду вдаваться в подробности, скажу только, что мы выбираем Y:
а) зависимости
б) сервер 1С предприятие
в) модули расширения веб-сервера
г) сервер хранилища конфигураций
д) Liberica JRE
е) контроль целостности

Вообщем-то примерно так, в вашем случае может быть иначе. Если поставите что-то лишнее - не страшно, можете не переживать, хуже не поставить нужное =)
В конце нас спросят, всё ли верно мы выбрали и начнётся установка. 
И в нашем случае сразу ошибка - команда apt-get не распознана и нам предлагается вручную поставить пакеты:

policykit-1 x11-utils libglu1-mesa libwebkit2gtk-4.[0-9]-[0-9]

Но тк мы обновляем 1С, мы ранее это ставили - поэтому я лично пропустил, в вашем случае возможно понадобится установка.
Кстати, даже при возникновении ошибки далее мы просто продолжаем установку и она успешно завершается.

Теперь у нас в папке 1С имеется 2 релиза серверной части:

[root@sql-02 ptk]# ls /opt/1cv8/x86_64/
8.3.25.1374  8.3.27.1559


6. Останавливаем текущую службу сервера 1С:
# systemctl stop srv1cv8-8.3.25.1374.service

Отключаем службу:
# systemctl disable srv1cv8-8.3.25.1374.service

7. Удаляем старую платформу (этот шаг не обязателен, но рекомендуем):
# cd /opt/1cv8/x86_64/8.3.25.1374/
# ./uninstaller-full

8. Мне нужно включить DEBUG на сервере, поэтому я делаю следующее:
а) делаю копию файла запуска сервера (находясь в папке с новой платформой):
# cp srv1cv8-8.3.27.1559\@.service srv1cv8-8.3.27.1559\@.service.BAK

б) редактирую файл запуска, внося корректировки:
# vi srv1cv8-8.3.27.1559\@.service

2025-06-04_13-36-04.png

Как можно заметить на скриншоте, я добавляю -debug в параметр, а так же снизу добавляю фигурные скобки, их нет в оригинальном файле конфига (и 1С спецы никак это не поправят).
Готово, теперь при запуске сервера у нас будет включён дебаг.

9. Следующим шагом регистрируем новую службу, с полным путём:
# systemctl link /opt/1cv8/x86_64/8.3.27.1559/srv1cv8-8.3.27.1559\@.service

Добавляем новую службу в автозагрузку:
# systemctl enable srv1cv8-8.3.27.1559@

И тут вроде бы нам осталось её запустить и проверить, но нет, в нашем случае ничего не заработает.
Почему???
Да потому, что пользователь и группа на директории и файлах нового релиза 1С сейчас - root, а должен быть юзер usr1cv8 и группа grp1cv8.
10. Исправляем этот недочёт:
# chown usr1cv8:grp1cv8 8.3.27.1559
# chown -R usr1cv8:grp1cv8 8.3.27.1559/

Теперь меняем права на файл запуска сервера 1С, аналогично:
# chown usr1cv8:grp1cv8 /etc/systemd/system/multi-user.target.wants/srv1cv8-8.3.27.1559\@default.service
# chown usr1cv8:grp1cv8 /etc/systemd/system/srv1cv8-8.3.27.1559@.service

11. После этого выполняем:
# systemctl daemon-reload

12. И только теперь пробуем запустить 1С сервер:
# systemctl start srv1cv8-8.3.27.1559@default.service

Даже если у нас сервер не запустится, команда всё равно отработает успешно, поэтому проверяем статус службы:
# systemctl status srv1cv8-8.3.27.1559@default.service
[root@sql-02 ptk]# systemctl status srv1cv8-8.3.27.1559@default.service
srv1cv8-8.3.27.1559@default.service - 1C:Enterprise Server 8.3 (8.3.27.1559) (default)
     Loaded: loaded (/etc/systemd/system/srv1cv8-8.3.27.1559@.service; enabled; preset: disabled)
     Active: active (running) since Tue 2025-06-03 21:02:36 MSK; 16h ago
   Main PID: 5203 (ragent)
      Tasks: 211 (limit: 408597)
     Memory: 6.7G
        CPU: 12h 9min 25.173s
     CGroup: /system.slice/system-srv1cv8\x2d8.3.27.1559.slice/srv1cv8-8.3.27.1559@default.service
             ├─5203 /opt/1cv8/x86_64/8.3.27.1559/ragent -d /home/usr1cv8/.1cv8/1C/1cv8 -port 1540 -regport 1541 -range 1560:1591 -seclev 0 -pingPeriod 1000 -pingTimeout 5000 -debug
             ├─5219 /opt/1cv8/x86_64/8.3.27.1559/rmngr -port 1541 -host sql-02.st-par.local -range 1560:1591 -d /home/usr1cv8/.1cv8/1C/1cv8/ -debug -tcp -clstid 1343d857-b539-43fe-9ab8-e6ecd886f712
             ├─5319 /opt/1cv8/x86_64/8.3.27.1559/jre/bin/java -Dconsole=none "-Dcfg=/opt/1cv8/x86_64/8.3.27.1559/sm-searcher/e1c-fts-1.*.cfg" -Dhost=0.0.0.0 -Dport=1576 -Droot=/home/usr1cv8/.1cv8/1C/1cv8/reg_1541 -D>
             └─5353 /opt/1cv8/x86_64/8.3.27.1559/rphost -range 1560:1591 -reghost sql-02.st-par.local -regport 1541 -pid dcf41acd-356d-4d28-8d8b-9b90efd4db98 -debug -tcp

Как можно увидеть из вывода выше, наша служба enabled - то есть в автозапуске, и текущее её состояние active (running), то есть запущена.
Так же мы можем увдиеть, что включён дебаг (его я выделил жирным, с подчёркиванием).

Отлично! (кстати признаюсь, за кадром у меня не запустился сервер и я как раз решал вопрос с правами доступа, о чём с Вами делюсь).

13. Теперь остался последний момент, в моём случае - это починить публикацию баз в веб-сервере, а точнее у нас вообще веб-сервер не запускается, ошибка в конфиге.
И оно понятно - мы удалили старую платформу, а в конфиге httpd (Apache Web Server) у нас прописан путь именно к старому релизу.
Исправляем эту ситуацию.
Для этого редактируем конфиг апача:
# vi /etc/httpd/conf/httpd.conf

И в конце файла мы наблюдаем такую строчку:
.....
LoadModule _1cws_module "/opt/1cv8/x86_64/8.3.25.1374/wsap24.so"

Исправляем в ней старый релиз на новый и сохраняем.
14. После этого просто запускаем веб-сервер:
# systemctl start httpd.service

И смотрим его состояние:
# systemctl status httpd.service

ГОТОВО! Наша задача выполнена, я надеюсь у вас тоже всё получилось.
Теперь можно спокойно попить чаёчку или кофе, и продолжить наши непростые будни на фронте айти-направлений.

Всем удачи и до встречи!

Возврат к списку


Текст сообщения*
Перетащите файлы
Ничего не найдено
Защита от автоматических сообщений
 
X