На Инфостарте немало статей по установке и обновлению Сервера 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С.