Несколько платформ 1с на одном компьютере linux

Обновлено: 04.07.2024

Установка Платформы «1С:Предприятие» в ОС Linux

Перед началом установки необходимо скачать дистрибутивы, которые понадобятся в дальнейшем. В данном примере мы будем устанавливать:

  • Сервер «1С:Предпритие» 64-bit версии 8.3.13.1644. Пакеты для установки доступны здесь:
  • Если для сервера использоваться ключи аппаратной защиты HASP, то необходимо установить на сервер драйвер защиты HASP. Последние версии для различных операционных систем можно скачать:

Если в дальнейшем работа с сервером «1С:Предприятие» на Linux и управление будет осуществляться c других машин, необходимо убедиться в том, что ip-адрес компьютера, на котором расположен сервер, будет корректно разрешаться в его hostname. Откроем консоль сервера от имени пользователя root и получим адрес компьютера:

Имя компьютера можно получить так:

Теперь данные о соответствии ip-адреса и имени необходимо внести в файлы hosts тех машин, откуда будут устанавливаться соединения с кластером серверов:

Для Windows он расположен обычно:

В противном случае при установке клиентского соединения с рабочим процессом кластера будет возникать ошибка.

Установка платформы в Debian-системах на примере Ubuntu Server 16.04

  1. Откроем консоль сервера от имени пользователя root.
  2. Создадим директорию, куда поместим (любым удобным образом) архив с Deb-пакетами для установки Сервера 1С:Предприятие, скачанный предварительно.
  1. Войдем в каталог /1c/soft/1с:

Распакуем архив (при помощи команды tar xzf):

  1. Для установки пакетов удобнее всего воспользоваться утилитой gdebi. Если она не была ранее установлена, это можно сделать при помощи команды:

Устанавливаем сервер «1С:Предприятие»:

Последние три nls-пакета содержат языковые файлы и требуют обязательной установки только в том случае, если будут использоваться языки, отличные от русского и английского.

Установка будет осуществлена в директорию /opt/1C/v8.3/x86_64.

  1. Для корректной работы приложений необходимо установить шрифты из состава Microsoft Core Fonts:

Для того, чтобы система «увидела» установленные шрифты, нужно выполнить команду:

  1. Устанавливаем дополнительные внешние библиотеки:
  1. Запускаем службу:

Проверить статус работы можно при помощи команды:

Будет выполнена проверка, запущен ли сервис (Starting 1C:Enterprise 8.3 server: OK), и выведено детальное состояние сервиса.

Проверить, запущены ли процессы кластера, можно при помощи команды:

Перейдем к установке драйвера HASP. Для данного примера скачиваем драйвер по адресу:

Для установки драйвера выполняем следующие действия:

  1. Создадим каталог /1c/soft/hasp:
  1. В этот каталог любым удобным образом поместим скачанный пакет установки драйвера и перейдем в него:
  1. Поскольку драйвер использует 32-битные библиотеки, устанавливаем их:
  1. Устанавливаем драйвер:
  1. Запускаем драйвер защиты HASP:

Проверить статус можно так:

Установка платформы в RPMS на примере CentOS 7

  1. Откроем консоль от имени root.
  2. Создадим директорию, куда поместим (любым удобным образом) архив с RPM-пакетами для установки Сервера 1С:Предприятие, скачанный предварительно.
  1. Перейдем в директорию /1c/soft/1с

tar xzf rpm64_8_3_13_1644.tar.gz

В данном примере будут установлены все пакеты, но, если в вашей системе не планируется использовать языки, отличные от русского и английского, nls-пакеты вы можете не устанавливать - они содержат только языковые файлы.

Для пакетов x86_64 установка будет осуществлена в директорию /opt/1C/v8.3/x86_64.

  1. Для корректной работы приложений необходимо установить шрифты из состава Microsoft Core Fonts.
  • Скачиваем любым удобным образом (например, при помощи wget) файлы пакета с сервера SourceForge:

Надо скачать все .exe-файлы, кроме wd97vwr32.exe.

  • Переименовываем все скачанные .exe-файлы, присвоив им расширение .zip, после чего распакуем их и удалим все, кроме имеющих расширение .ttf – это файлы шрифтов.
  • Файлы шрифтов (.ttf-файлы) копируем в каталог /usr/share/fonts/truetype/

Для того, чтобы система «увидела» установленные шрифты, нужно выполнить команду:

  1. Устаналиваем дополнительные внешние библиотеки:
  1. Запускаем службу:

Проверить статус работы можно при помощи команды:

Будет выполнена проверка, запущен ли сервис (Starting 1C:Enterprise 8.3 server: OK), и выведено детальное состояние сервиса.

Проверить, запущены ли процессы кластера, можно при помощи команды:

Перейдем установке драйвера HASP. Для данного примера скачиваем драйвер по адресу :

Для установки драйвера выполняем следующие действия:

  1. Создадим каталог /1c/soft/hasp:
  1. В этот каталог любым удобным образом поместим скачанный пакет установки драйвера и перейдем в него:
  1. Поскольку драйвер использует 32-битные библиотеки, устанавливаем их:
  1. Устанавливаем драйвер:
  1. Запускаем драйвер защиты HASP:

Проверить статус можно так:

Основные проблемы и вопросы по установке Платформы «1С:Предприятие» в Linu x

1. При работе возникают ошибки «Не найдена библиотека …»

В зависимости от вашего дистрибутива Linux и функционала системы для корректной работы 1С:Предприятие вам может понадобиться дополнительно самостоятельно установить внешние библиотеки. Полный список их представлен в документации:

Обратите внимание, что в документации указано именно имя библиотеки, а не имя пакета. Имя пакета, в который она входит, может отличаться в разных дистрибутивах. В какие именно пакеты входит библиотека, обычно можно найти в репозитории для вашей ОС.

2. Как запустить сервер в режиме отладки?

Для того, чтобы на сервере была доступна отладка, необходимо запустить его в ключом –debug. Для этого сначала остановим сервер "1С:Предприятие":

ВАЖНО! Не редактируйте параметры запуска сервера в процессе его работы, это может привести к ошибкам при его перезапуске.

Теперь необходимо отредактировать параметры его запуска в конфигурационном файле srv1cv83 (в данном примере с использованием редактора vim):

Сохраняем изменения и выходим из файла.

Перезапускаем сервер «1С:Предприятия 8»:

3. Где находится каталог данных кластера серверов и как его изменить?

По умолчанию каталог кластера находится в директории пользователя, от имени которого запущен сервер 1С:Предприятие - $HOMEDIR/.1cv83/1C/1Cv83, например:

Для того, чтобы изменить место изменить место расположения, необходимо, по аналогии с п. 1, изменить параметр SRV1CV8_DATA запуска в конфигурационном файле /etc/sysconfig/srv1cv83.

ВАЖНО! Не забудьте убедиться в наличии прав на директорию данных кластера у пользователя, от имени которого запущен сервер. Увидеть права можно при помощи команды:

Предоставить права можно так:

В конфигурационном файле /etc/sysconfig/srv1cv83 также задаются порты, на которых будут работать процессы кластера, и другие параметры запуска.

4. Как настроить технологический журнал сервера в Linux ?

На сервере создадим каталоги, в который будут помещаться файлы журнала:

Создадим каталог для настроек журнала /opt/1C/v8.3/x86_64/conf:

Поместим в этот каталог файл logcfg.xml со следующим (например) содержимым:

В данном случае собирается полный технологический журнал (не стоит делать так на постоянной основе в продуктиве), срок хранения файлов журналов - 24 часа, находиться они будут в директории /var/log/1c/logs.

ВАЖНО! Необходимо предоставить пользователю, от имени которого работает сервер 1С:Предприятие, права на запись в каталог логов. Например, так:

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

Подготовка:

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 поменяем параметры запуска:

G_TITLE="1C:Enterprise $ run server on port 2540"

Поэтому в заголовке еще поправим следующую строку:

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С.

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

(3) Хоть и заявляется что "сервер", ubuntu больше ориентируется на десктнопное использование. Плюс частые косяки с обновлениями. (8) за пару лет установки обновлений на 16.04 ниразу не ловил проблем, и даже по памяти сервер 1С deb на убунте оказался менее прожорливее, чем на CentOS. Про установку второго сервера на центе уже недавно была статья от уважаемого sloth , я лишь описал немного другой, на мой взгляд более удобный способ установки и запуска, ну и на другой ОС.

(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 и оттуда скопировать что надо

После выхода Ubuntu 19.04 (я пользуюсь Mint - Cinnamon х64) начал задумываться пересесть на Linux.

Во первых, работать 19.04 стала быстрее, чем 18.03. У меня есть старый ноут (с SSD), там это дело тестирую.

Во вторых интерфейс дошел до XP даже в мелочах, а для меня это достаточно.

В третьих 1С встал без трудностей, учитывая, что я ставлю на х64 - 1C i586 - потому что есть старый hasp. А софт-лицензии для линукса это зло злейшее. Или я не научился их переносить при переустановки Linux.

Может тут еще какой секретный секрет есть?
Поставил 8.3.15.1778, заработала. Потом сделал по инструкции 8.3.12.1685 и при попытке старта Starting 1C:Enterprise 8.3.12-1685 run server on port 2540: Error: service failed to start! FAILED. Файл с настройками три раза перепроверял. В чем может быть еще проблема? (12)
Скорее всего владельца папок не выставили. Не хватает прав у сервиса нормально запуститься (14)
Заметил странное: сервер то запускается, просто не понимает что он "запустился" что ли. Добавил в автозапуск, при просмотре статуса демона после загрузки сервера выдает вот такое:

Добрый день, порт 254 это так и задумывалось?

Вообще несколько серверов прекрасно работают и под одной учеткой usr1cv8, тогда возникающих проблем с правами не должно быть.

(16)
Вот на счет "под одной учеткой" я тоже думал, но не рискнул пробовать. Боевой сервер не хотелось сломать :) Попробую наверное попозже.
Порт это просто обрезается фраза, она ограничена окном и на новую строку не переносится почему то. Я тоже обратил внимание и переделал имя службы (убрал порт вообще из имени), ничего не изменилось. (18)
А удалось в итоге решить проблему с запуском под разными пользователями? У меня на Debian 9 такое же наблюдается.

(15)
Попробовал у себя сейчас - всё работает, правда убунта 16.04 но с последними апдейтами.
Развернул тот же релиз что и вы, это при установленной 8.3.15.1830

Необходимость в использовании нескольких версий платформ 1С на клиентских машинах актуальна, когда в организации несколько серверов 1С, и на каждом из них, установлена своя версия 1С-платформы.

Для примера имеются: сервер vm-db2 (192.168.0.10) - c версией платформы 1C 8.3.5-1460 и vm-pg9 (192.168.0.11) - c версией платформы 1C 8.3.9-2033. В данном случае для подключения к базам на одном ПК необходимо установить обе версии. В Windows проблем нет - каждая платформа ставится как отдельная программа. Например, после установки данных платформа - структура папок такова:

В последней папке лежит файл 1cestart.exe, который выбирает при запуске базы из списка (он единый, хранится в Users\AppData) платформу, соответствующую установленной на сервере хранения этой базы.

Однако под Linux разработчики 1С не потрудились организовать такую же установку, при установке второй версии - 1С просто обновляется.

Идеальной была бы реализация, как у пакетов ядра kernel-image-*. Но пока справляемся своими силами.

Одну из необходимых версий нужно установить обычным способом, см. 1C/Quick.

В нашем случае выбрана 8.3.9-2033 (так как на данном сервере 1С - vm-pg9 - платформа обновляется намного чаще, чем на vm-db2).

ОС - BaseAlt Рабочая Станция 8.1, x86_64 (установлен 1c-preinstall-full и четыре необходимых RPM-пакета)

Другую версию 1С нужно распаковать в папку /opt/1C/v8.3.x-xxxx. Для удобства был написан скрипт (см.ниже), который намного упростит это действие.

  • Скрипт (можно скачать здесь) положите в папку вместе с распакованными RPM-пакетами
  • Если у архитектура требуемого клиента x86_64 - скрипт менять не нужно. Если же нет - откройте его и измените значение переменной arch на i386.
  • Сделайте его исполняемым ( chmod +x 1ctarball.sh )
  • Запустите его в таком формате: ./1ctarball.sh <номер версии 1с в формате 8.3.x-xxxx> (в нашем случае ./1ctarball.sh 8.3.5-1460 )
  • Результатом будет архив c именем 1С_8.3.5-1460.tgz
Примечание: Данное действие можно производить на любом компьютере (понадобятся пакеты rpm и tar ), не обязательно на котором необходимо установить клиент 1С

На клиентской машине (с уже установленной другой версией платформы!) выполняем от рута следующие команды:

Теперь рядом с директорией /opt/1C/v8.3 (в которой установлена версия 8.3.9-2033) есть с другой версией: /opt/1C/v8.3.5-1460 . Все, на вашем Линуксе установлено две версии клиента 1С (можно сделать и больше)

Затем необходимо настроить подключение к базам 1С. Из одного меню запуска, как в Windows, подключение к базам с разными версиями сделать не получится (так как исполняемый файл 1cestart для каждой из платформ свой), хотя список баз и будет общий - хранится в

Для подключения к серверу БД с версией 1С, которая установлена обычным способом (apt-get install), используется команда: /opt/1C/v8.3/x86_64/1cestart . Для подключения с помощью других имеющихся версий: /opt/1C/v8.3.x-xxxx/x86_64/1cestart

Остается только настроить ярлыки для каждой из версий (самое простое - скопировать из меню существующий и изменить в нем команду)

1С: Предприятие 8.2 и 8.3. Совместный запуск на одном Linux-сервере.

В наших материалах мы уже рассказывали, как запустить две версии платформы 1С:Предприятие на одном Windows-сервере. Сегодня мы поговорим о том, как установить две различных платформы на сервер под управлением Ubuntu. Сам процесс довольно несложен, но имеет свои подводные камни, некоторые из которых выявляются только эмпирическим путем.

Будем считать, что у вас уже есть сервер с установленной платформой 8.2, подробно на этом вопросе мы останавливаться не будем, так как разбирали его здесь. В этом случае у вас уже имеются все зависимости и для установки платформы 8.3 вам понадобятся только пакеты сервера.

По умолчанию сервер 1С:Предприятия использует следующие порты:

  • 1540 - агент сервера
  • 1541 - менеджер кластера
  • 1560:1691 - динамический диапазон портов для рабочих процессов.

Для успешной работы двух платформ 1С:Предприятие на одном сервере необходимо изменить рабочие порты для одной из них. В среде Linux это делается через скрипты запуска в /etc/init.d, необходимые файлы называются srv1cv82 и srv1cv83 соответственно. В нашем случае оставим платформу 8.2 работать со стандартными настройками, а для платформы 8.3 внесем изменения.

Откроем /etc/init.d/srv1cv83 в котором раскомментируем и укажем необходимые значения для следующих параметров:

Сохраним изменения. Теперь проверим состояние и остановим работающие службы 1С:Предприятие, в нашем случае это платформа 8.2:

Платформа 8.3 запущена не будет, но на всякий случай также можем в этом убедиться.

ubuntu-1cv82-1cv83-001.jpg

Теперь удалим список кластеров в файле srvribrg.lst, который расположен в домашней директории пользователя usr1cv82:

После чего можно производить первый запуск сервисов.

ВАЖНО! Первой необходимо запускать платформу с нестандартными номерами портов, в противном случае ее запуск будет невозможным.

Данная особенность недокументирована и была установлена нами опытным путем.

ubuntu-1cv82-1cv83-002.jpg

Если же вы столкнулись с подобной ошибкой, то остановите службы, удалите srvribrg.lst и 1cv8wsrv.lst, затем выполните запуск в правильной последовательности.

ubuntu-1cv82-1cv83-003.jpg

После этих нехитрых действий мы получим две работающие платформы 1С:Предприятие на Linux-сервере. Для пользователей платформы 8.2 никаких изменений не произойдет, а для платформы 8.3 потребуется дополнительно указывать порт (1741), через двоеточие после имени сервера:

ubuntu-1cv82-1cv83-004.jpg

После чего можем успешно использовать на одном рабочем месте два кластера с разными версиями платформы 1С:Предприятие.

Иногда возникает проблема, что для одной конфигурации базы 1С требуется другая версия платформы 1С:Предприятие, отличная от той, которая установлена на сервере. Поэтому чтобы не трогать другие базы, можно установить два сервера 1С:Предприятие на одном сервере Windows. В нашем примере на сервере установлено 1С:Предприятие версии 8.3.15.1830, нам нужно установить дополнительно новую версию:

Теперь начнем установку скачанных файлов.

Установка сервера 1С:Предприятие

Для примера установим сервер 1С:Предприятие 8.3.16.1063 со следующими параметрами:

Установка сервера 1С. Выбор компонентов

Рисунок 1 - Установка сервера 1С. Выбор компонентов

Нажимаем далее и убираем галочку с «Установить сервер 1С:Предприятие как сервис», так как на сервере уже есть служба агента сервера 1С:Предприятие.

Установка сервера 1С. Выбор пользователя

Рисунок 2 - Установка сервера 1С. Выбор пользователя

На этом завершаем установку сервера 1С:Предприятие. Далее нужно установить платформу.

Установка платформы 1С:Предприятие

Устанавливаем платформу той же версии, что и сервер - в данном случае 8.3.16.1063 со следующими параметрами:

Установка платформы 1С

Рисунок 3 - Установка платформы 1С

Настройка хранения кэша 1С

Теперь нужно решить, где будет храниться кэш сервера 1С. По умолчанию он хранится в каталоге C:\Program Files\1cv8\srvinfo. Этот каталог мы трогать не будем, так как там уже хранится кэш работающего сервера, поэтому создадим каталог C:\Program Files\1cv8\srvinfo_8.3.16.1063.

Перенос каталога кэша 1С

Рисунок 4 - Перенос каталога кэша 1С

Установка службы 1С

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

Установка службы Агент 1С: Предприятие

Рисунок 5 - Установка службы Агент 1С: Предприятие

Теперь необходимо изменить параметры службы, чтобы подключения осуществлялись к ней через другой порт, который отличается от стандартного. А также укажем место, где будут храниться логи. Для этого необходимо:

  1. Зайти в реестр. Пуск->Выполнить->regedit
  2. Далее в реестре идем по пути HKEY_LOCAL_MACHINE->System->CurrentControlSet->Services->1C:Enterprise 8.3.16.1063 ServerAgent
  3. В параметре ImagePath указываем "C:\Program Files\1cv8\8.3.16.1063\bin\ragent.exe" -srvc -agent -regport 1941 -port 1940 -range 1960:1991 -d "C:\Program Files\1cv8\srvinfo_8.3.16.1063"

Настройка подключений в реестре

Рисунок 6 - Настройка подключений в реестре

Настройка службы агента 1С

Теперь необходимо настроить новую службу Агент 1С:Предприятие 8.3.16.1063. Нужно указать от какого пользователя будет запускаться наша служба.

Запуск службы

Рисунок 7 - Запуск службы

Далее выставляем тип запуска «автоматически» и запускаем службу.

Запуск службы в автоматическом режиме

Рисунок 8 - Запуск службы в автоматическом режиме

Если все сделано правильно, то служба запустится. Далее необходимо настроить консоль администрирования.

Настройка консоли администрирования

Замечание: для каждой версии платформы нужно регистрировать соответствующую версию консоли администрирования.

Указываем имя кластера, порт из параметров службы.

Настройка кластера

Рисунок 9 - Настройка кластера

Теперь можем перенести нужную базу на новую платформу. Чтобы перенести ее на новую платформу, базу сначала нужно удалить из старой консоли администрирования.

Далее в новой консоли правой кнопкой мыши нажимаем на «информационные базы» и выбираем создать информационную базу. Указываем параметры подключения к базе. На этом все. Обе службы 1С:Предприятие должны работать.

Читайте также: