На Инфостарте немало статей по установке и обновлению Сервера 1С на различные Linux, поэтому этот этап не будем рассматривать. Рассмотрим, как же поставить и запустить второй экземпляр сервера другого релиза.
Будем считать, что у нас уже имеется:
1) Ubuntu server или desktop
2) Установлен Сервер 1С, пусть будет версии 8.3.13.1513
3) Все это работает на стандартных портах: 1540,1541,1560-1590
Что мы хотим:
1) Установить Сервер 1С, допустим релиза 8.3.14.1373
2) Запустить именно второй Сервер на других портах по традиции 2540,2541,2560-2590
3) Установить его и запустить без остановки текущего сервера 1С, и если нам нужно — то под другим пользователем, отличным от usr1cv8
Подготовка:
1) Создадим пользователя usr1cv8-2 для запуска второго экземпляра сервера sudo adduser usr1cv8-2
2) Создадим каталог install куда поместим установочные deb пакеты: mkdir /install
3) Для компактности, рассмотрим установку сервера x64 на примере трех пакетов
Распакуем их в подготовленный каталог
sudo dpkg-deb -x 1с-enterprise83-common_8.3.14-1373_amd64.deb /install
sudo dpkg-deb -x 1с-enterprise83-server_8.3.14-1373_amd64.deb /install
sudo dpkg-deb -x 1с-enterprise83-ws_8.3.14-1373_amd64.deb /install
4) Переместим распакованный каталог /install/opt/1C/v8.3 в имеющийся от рабочего сервера, при перемещении зададим новое имя:
sudo mv /install/opt/1C/v8.3 /opt/1C/v8.3.14-1373
5) В файле /install/etc/init.d/srv1cv83 поменяем параметры запуска:
SRV1CV8_DATA=/home/usr1cv8-2/v8.3.14-1373/.1cv8
G_TITLE="1C:Enterprise ${G_VER_SHORT} run server on port 2540"
SRV1CV8_PORT=2540
SRV1CV8_REGPORT=2541
SRV1CV8_RANGE=2560:2590
G_BINDIR="/opt/1C/v${G_VER_MAJOR}.${G_VER_MINOR}.${G_VER_BUILD}-${G_VER_RELEASE}/${G_VER_ARCH}"
G_VER_SHORT=${G_VER_MAJOR}.${G_VER_MINOR}.${G_VER_BUILD}-${G_VER_RELEASE}
[ -z "$SRV1CV8_USER" ] && SRV1CV8_USER=usr1cv8-2
[ -z "$SRV1CV8_PIDFILE" ] && SRV1CV8_PIDFILE="/var/run/srv1cv${G_VER_MAJOR}.${G_VER_MINOR}.${G_VER_BUILD}-${G_VER_RELEASE}.pid"
Да, и один момент для автозапуска, в Linux не всё что стоит после символа # является комментарием
Поэтому в заголовке еще поправим следующую строку:
# Provides: srv1cv83.14-1373
6) копируем файл (скрипт) запуска второго сервера на положенное место в новом формате: sudo cp /install/etc/init.d/srv1cv83 /etc/init.d/srv1cv83.14-1373
Можем запускать наш экземпляр:
Старт: sudo /etc/init.d/srv1cv83.14-1373 start
Остановка: sudo /etc/init.d/srv1cv83.14-1373 stop
Автозапуск: update-rc.d /etc/init.d/srv1cv83.14-1373 defaults
После добавления в автозапуск, наш сервис можно запускать уже классическим способом sudo service srv1cv83.14-1373 start
Очевидный плюс метода распаковки пакетов: не останавливаем текущий работающий сервер, ведь это не обновление текущего релиза рабочего сервера 1С.
Отлично оформлено, спасибо
(1) С чего бы это?
Спасибо, полезная информация
Добрый день. А на CentOS 7 так можно?
(5) Добрый, конечно можно. Распаковать можно либо командами, находясь в каталоге с пакетами
rpm2cpio 1C_Enterprise83-common-8.3.15-1656.x86_64.rpm | cpio -idv
rpm2cpio 1C_Enterprise83-server-8.3.15-1656.x86_64.rpm | cpio -idv
rpm2cpio 1C_Enterprise83-ws-8.3.15-1656.x86_64.rpm | cpio -idv
Либо что в Ubuntu что в CentOS можно используя mc зайти в пакет, и далее открыть файлик CONTENTS.cpio и оттуда скопировать что надо
(5), вот жеhttps://infostart.ru/public/1118281/
(8) за пару лет установки обновлений на 16.04 ниразу не ловил проблем, и даже по памяти сервер 1С deb на убунте оказался менее прожорливее, чем на CentOS. Про установку второго сервера на центе уже недавно была статья от уважаемого sloth, я лишь описал немного другой, на мой взгляд более удобный способ установки и запуска, ну и на другой ОС.
(7). Спасибо! И за статью и за ответ
После выхода Ubuntu 19.04 (я пользуюсь Mint — Cinnamon х64) начал задумываться пересесть на Linux.
Во первых, работать 19.04 стала быстрее, чем 18.03. У меня есть старый ноут (с SSD), там это дело тестирую.
Во вторых интерфейс дошел до XP даже в мелочах, а для меня это достаточно.
В третьих 1С встал без трудностей, учитывая, что я ставлю на х64 — 1C i586 — потому что есть старый hasp. А софт-лицензии для линукса это зло злейшее. Или я не научился их переносить при переустановки Linux.