Несколько платформ 1с на одном компьютере linux
Установка Платформы «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
- Откроем консоль сервера от имени пользователя root.
- Создадим директорию, куда поместим (любым удобным образом) архив с Deb-пакетами для установки Сервера 1С:Предприятие, скачанный предварительно.
- Войдем в каталог /1c/soft/1с:
Распакуем архив (при помощи команды tar xzf):
- Для установки пакетов удобнее всего воспользоваться утилитой gdebi. Если она не была ранее установлена, это можно сделать при помощи команды:
Устанавливаем сервер «1С:Предприятие»:
Последние три nls-пакета содержат языковые файлы и требуют обязательной установки только в том случае, если будут использоваться языки, отличные от русского и английского.
Установка будет осуществлена в директорию /opt/1C/v8.3/x86_64.
- Для корректной работы приложений необходимо установить шрифты из состава Microsoft Core Fonts:
Для того, чтобы система «увидела» установленные шрифты, нужно выполнить команду:
- Устанавливаем дополнительные внешние библиотеки:
- Запускаем службу:
Проверить статус работы можно при помощи команды:
Будет выполнена проверка, запущен ли сервис (Starting 1C:Enterprise 8.3 server: OK), и выведено детальное состояние сервиса.
Проверить, запущены ли процессы кластера, можно при помощи команды:
Перейдем к установке драйвера HASP. Для данного примера скачиваем драйвер по адресу:
Для установки драйвера выполняем следующие действия:
- Создадим каталог /1c/soft/hasp:
- В этот каталог любым удобным образом поместим скачанный пакет установки драйвера и перейдем в него:
- Поскольку драйвер использует 32-битные библиотеки, устанавливаем их:
- Устанавливаем драйвер:
- Запускаем драйвер защиты HASP:
Проверить статус можно так:
Установка платформы в RPMS на примере CentOS 7
- Откроем консоль от имени root.
- Создадим директорию, куда поместим (любым удобным образом) архив с RPM-пакетами для установки Сервера 1С:Предприятие, скачанный предварительно.
- Перейдем в директорию /1c/soft/1с
tar xzf rpm64_8_3_13_1644.tar.gz
В данном примере будут установлены все пакеты, но, если в вашей системе не планируется использовать языки, отличные от русского и английского, nls-пакеты вы можете не устанавливать - они содержат только языковые файлы.
Для пакетов x86_64 установка будет осуществлена в директорию /opt/1C/v8.3/x86_64.
- Для корректной работы приложений необходимо установить шрифты из состава Microsoft Core Fonts.
- Скачиваем любым удобным образом (например, при помощи wget) файлы пакета с сервера SourceForge:
Надо скачать все .exe-файлы, кроме wd97vwr32.exe.
- Переименовываем все скачанные .exe-файлы, присвоив им расширение .zip, после чего распакуем их и удалим все, кроме имеющих расширение .ttf – это файлы шрифтов.
- Файлы шрифтов (.ttf-файлы) копируем в каталог /usr/share/fonts/truetype/
Для того, чтобы система «увидела» установленные шрифты, нужно выполнить команду:
- Устаналиваем дополнительные внешние библиотеки:
- Запускаем службу:
Проверить статус работы можно при помощи команды:
Будет выполнена проверка, запущен ли сервис (Starting 1C:Enterprise 8.3 server: OK), и выведено детальное состояние сервиса.
Проверить, запущены ли процессы кластера, можно при помощи команды:
Перейдем установке драйвера HASP. Для данного примера скачиваем драйвер по адресу :
Для установки драйвера выполняем следующие действия:
- Создадим каталог /1c/soft/hasp:
- В этот каталог любым удобным образом поместим скачанный пакет установки драйвера и перейдем в него:
- Поскольку драйвер использует 32-битные библиотеки, устанавливаем их:
- Устанавливаем драйвер:
- Запускаем драйвер защиты 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С.
Специальные предложения
(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
На клиентской машине (с уже установленной другой версией платформы!) выполняем от рута следующие команды:
Теперь рядом с директорией /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 запущена не будет, но на всякий случай также можем в этом убедиться.
Теперь удалим список кластеров в файле srvribrg.lst, который расположен в домашней директории пользователя usr1cv82:
После чего можно производить первый запуск сервисов.
ВАЖНО! Первой необходимо запускать платформу с нестандартными номерами портов, в противном случае ее запуск будет невозможным.
Данная особенность недокументирована и была установлена нами опытным путем.
Если же вы столкнулись с подобной ошибкой, то остановите службы, удалите srvribrg.lst и 1cv8wsrv.lst, затем выполните запуск в правильной последовательности.
После этих нехитрых действий мы получим две работающие платформы 1С:Предприятие на Linux-сервере. Для пользователей платформы 8.2 никаких изменений не произойдет, а для платформы 8.3 потребуется дополнительно указывать порт (1741), через двоеточие после имени сервера:
После чего можем успешно использовать на одном рабочем месте два кластера с разными версиями платформы 1С:Предприятие.
Иногда возникает проблема, что для одной конфигурации базы 1С требуется другая версия платформы 1С:Предприятие, отличная от той, которая установлена на сервере. Поэтому чтобы не трогать другие базы, можно установить два сервера 1С:Предприятие на одном сервере Windows. В нашем примере на сервере установлено 1С:Предприятие версии 8.3.15.1830, нам нужно установить дополнительно новую версию:
Теперь начнем установку скачанных файлов.
Установка сервера 1С:Предприятие
Для примера установим сервер 1С:Предприятие 8.3.16.1063 со следующими параметрами:
Рисунок 1 - Установка сервера 1С. Выбор компонентов
Нажимаем далее и убираем галочку с «Установить сервер 1С:Предприятие как сервис», так как на сервере уже есть служба агента сервера 1С:Предприятие.
Рисунок 2 - Установка сервера 1С. Выбор пользователя
На этом завершаем установку сервера 1С:Предприятие. Далее нужно установить платформу.
Установка платформы 1С:Предприятие
Устанавливаем платформу той же версии, что и сервер - в данном случае 8.3.16.1063 со следующими параметрами:
Рисунок 3 - Установка платформы 1С
Настройка хранения кэша 1С
Теперь нужно решить, где будет храниться кэш сервера 1С. По умолчанию он хранится в каталоге C:\Program Files\1cv8\srvinfo. Этот каталог мы трогать не будем, так как там уже хранится кэш работающего сервера, поэтому создадим каталог C:\Program Files\1cv8\srvinfo_8.3.16.1063.
Рисунок 4 - Перенос каталога кэша 1С
Установка службы 1С
Далее нам необходимо установить службу 1С:Предприятие, так как при установке платформы мы этот шаг пропустили. Ее необходимо будет установить в ручном режиме. Для этого необходимо запустить командную строку от администратора и ввести команду:
Рисунок 5 - Установка службы Агент 1С: Предприятие
Теперь необходимо изменить параметры службы, чтобы подключения осуществлялись к ней через другой порт, который отличается от стандартного. А также укажем место, где будут храниться логи. Для этого необходимо:
- Зайти в реестр. Пуск->Выполнить->regedit
- Далее в реестре идем по пути HKEY_LOCAL_MACHINE->System->CurrentControlSet->Services->1C:Enterprise 8.3.16.1063 ServerAgent
- В параметре 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С:Предприятие должны работать.
Читайте также: