В этой статье я попробую рассказать об установке сервера 1С и сервера PostgreSQL на операционной системе Ubuntu 16.04/18.04. В статье используется версия сервера 1С — 8.3.13.1472 и версия PostgreSQL — 10.3-2.1C. Кроме этого в статье приведена информации о некоторых дополнительных настройках.
В начале нужно установить необходимые локали и определить локаль по умолчанию. Локали определяют используемые в системе языки, а также всякие региональные особенности — форматы чисел, даты и времени, денежные знаки и прочее. Локаль по умолчанию должна совпадать с языком базы данных, которая будет создана сервером 1С при создании информационной базы.
sudo dpkg-reconfigure locales


Далее установим библиотеку libicu. На момент написания статьи процесс установки этой библиотеки отличался для разных версий Ubuntu, приведу оба варианта, Ubuntu 16.04:
sudo apt-get install libicu55
sudo dpkg -i libicu55_55.1-7ubuntu0.4_amd64.deb
Раньше пакет «postgresql-common» входил в состав дистрибутива который размещался на сайте «1С», теперь же (начиная с PostgreSQL 9.6.3-1.1C) этот пакет нужно устанавливать из стандартных репозиториев.
Тут возникает небольшое затруднение, связанное с тем, что мы устанавливаем PostgreSQL 10: на момент написания статьи стандартный репозиторий содержит неподходящую для PostgreSQL 10 версию пакета «postgresql-common».
Чтобы исправить это нужно создать файл /etc/apt/sources.list.d/pgdg.list и записать в него строку, для Ubuntu 16.04:
deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main
для Ubuntu 18.04:
deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
Затем нужно выполнить следующие команды:
sudo apt-get update
После этого можно установить нужную нам версию пакета «postgresql-common»:
sudo apt-get install postgresql-common
Подготовительные работы закончены, скачиваем дистрибутив PostgreSQL 10 с сайта «1С», распаковываем его (там всего три пакета) и устанавливаем именно в таком порядке:
sudo dpkg -i libpq5_10.3-2.1C_amd64.deb
sudo dpkg -i postgresql-client-10_10.3-2.1C_amd64.deb
sudo dpkg -i postgresql-10_10.3-2.1C_amd64.deb
Если все прошло нормально, то выглядеть это будет приблизительно так:

- Настройка PostgreSQL
- Установка сервера 1С
- Дополнительные настройки
- Установка Apache
- Включение отладки на сервере
- Настройка UFW
- Нужна ли лицензия на сервер?
- 1. Загрузка необходимых пакетов
- 2. Получение инструкции по установке Postgresql Pro
- 3. Обновление Ubuntu и установка пакетов
- 4. Добавление репозитория PostgreSQL Pro
- 5. Установка и запуск HASPD
- 6. Установка Postgres Pro Std
- 7. Настройка СУБД Postgres Pro Std
- 8. Установка сервера 1С
- 9. Настройка автозагрузки сервера 1С
- 10. Установка толстого и тонкого клиентов 1С
- 11. Особенности размещения файла настроек HASP для 1С в Linux
- 12. Проверка соединения с базой данных
- 13. Создание базы данных на сервере 1С
- 14. Настройки для подключения к серверу 1С и СУБД
- 15. Запуск базы данных на сервере 1С в разных режимах
- 16. Публикация конфигурации 1С на web-сервере
- 17. Проверка запуска базы данных 1С в режиме веб-приложения
- Выводы
- Ошибка 1С «Сервер баз данных не обнаружен»
- Could not translate host name «NAME» to address
- Пользователь «postgres» не прошёл проверку подлинности (Ident)
- В pg_hba. conf нет записи для компьютера «», пользователя «usr1cv8», базы «template»
- Is the server running on host and accepting TCP/IP connections on port 5432?
- «Породить новый процесс для соединения не удалось
- Database «base» does not exist
- Информация о руководстве
- Оглавление
- Термины
- Установка ОС Ubuntu (серверный вариант)
- RPM-based
- Red Hat Enterprise Linux (RHEL)
- CentOS
- Альт Линукс
- DEB-dased
- Debian
- Ubuntu
- Linux Mint
- Astra Linux
- Выбираем и устанавливаем Ubuntu 18.04 LTS
- Настраиваем временную зону
- Настраиваем локали
- Настройка сети
- Удаленное управление GNU/Linux сервером
- Установка и настройка сервера 1С
- Установка серверов 1С
- Настройка серверов 1С
- Сервис Remote Administration Service (RAS)
- Сервер хранилища конфигураций
Настройка PostgreSQL
После установки можно сделать некоторые настройки PostgreSQL.
От имени суперпользователя открываем файл /etc/postgresql/10/main/pg_hba.conf и меняем в нем строку:
local all postgres peer
local all postgres trust
Кроме этого можно открыть файл /etc/postgresql/10/main/postgresql.conf (тоже от имени супер пользователя) и поменять в нем строку:
listen_addresses = '*'
listen_addresses = 'localhost'
После всех этих манипуляций перезапускаем сервер PostgreSQL:
sudo service postgresql restart
Теперь у нас есть возможность поменять пароль суперпользователя postgres:
Отключаем безпарольный доступ: вновь от имени суперпользователя открываем файл /etc/postgresql/10/main/pg_hba.conf и меняем в нем строку:
local all postgres trust
local all postgres md5
В заключении еще раз перезапускаем сервер:
sudo service postgresql restart
Установка сервера 1С
Начать, как обычно, нужно с установки дополнительных библиотек:
sudo apt-get install imagemagick
sudo apt-get install unixodbc
sudo apt-get install ttf-mscorefonts-installer
sudo apt-get install libgsf-1-114
Для версии 8.3.13 и выше используется библиотека ImageMagick входящая в состав дистрибутива, так что устанавливать пакет imagemagick не обязательно (хотя вреда от этого не будет).
Пакет ttf-mscorefonts-installer в процессе установки попросит принять лицензионное соглашение:

На момент написания статьи в репозиториях Ubuntu 18.04 не было актуальных версий требуемых пакетов. Если в настоящее время их все еще нет, то можно попробовать добавить репозитории с неактуальными версиями пакетов. Создаем файл /etc/apt/sources.list.d/raring.list и записываем в него следующие строки:
deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse
После этого выполнить команду:
sudo apt-get update
После установки дополнительных библиотек скачиваем с сайта 1С все необходимые файлы (Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем) и устанавливаем их в таком порядке:
sudo dpkg -i 1c-enterprise83-common_8.3.13-1472_amd64.deb
sudo dpkg -i 1c-enterprise83-common-nls_8.3.13-1472_amd64.deb
sudo dpkg -i 1c-enterprise83-server_8.3.13-1472_amd64.deb
sudo dpkg -i 1c-enterprise83-server-nls_8.3.13-1472_amd64.deb
sudo dpkg -i 1c-enterprise83-ws_8.3.13-1472_amd64.deb
sudo dpkg -i 1c-enterprise83-ws-nls_8.3.13-1472_amd64.deb
Пакеты с приставкой «-nls» нужны для поддержки дополнительных языков и не являются обязательными к установке. Пакеты с приставкой «-ws» нужны для работы веб-клиента и также не являются необходимыми.
Теперь изменим владельца каталога /opt/1C:
sudo chown -R usr1cv8:grp1cv8 /opt/1C
И запустим сервер 1С:
sudo service srv1cv83 start

Если у Вас правильно настроена сеть и компьютеры видят друг друга, то ничего больше делать не нужно. Если же нет, то необходимо сделать так, что бы сервер 1С видел сервер PostgreSQL, а клиентские машины видели сервер 1С. Для этого в файлы /etc/hosts или C:\Windows\System32\drivers\etc\hosts нужно добавить строки:
В качестве разделителей должны быть пробелы, а не табуляции.
Дополнительные настройки
Все приведенные ниже действия не являются обязательными.
Установка Apache
Начиная с версии 8.3.8 платформа 1С поддерживает Apache 2.4, поэтому можно просто установить текущую версию:
sudo apt-get install apache2
Если по каким-то причинам Вам требуется Apache 2.2 то для начала нужно добавить репозитории с неактуальными версиями пакетов, как описано выше (если, конечно, Вы уже этого не сделали). Затем выполнить команду:
sudo apt-cache showpkg apache2
Команды выдаст список версий доступных к установке, затем, выбрав нужную версию сделать так:
sudo apt-get install apache2=<номер версии>
sudo apt-get install apache2=2.2.22-6ubuntu5.1
Проверить версию Apache можно так:
Включение отладки на сервере
sudo service srv1cv83 stop
В файле /etc/init.d/srv1cv83 находим строку:
Приводим ее к виду:
sudo service srv1cv83 start
В конфигураторе на клиентской машине идем в «Параметры» -> «Запуск 1С:Предприятия» -> «Дополнительные» и включаем два пункта:
- «Устанавливать режим разрешения отладки»
- «Начинать отладку при запуске»

Настройка UFW
UFW — это простая утилита для конфигурирования файрвола Netfilter.
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
Порты для работы 1С (если используются стандартные порты):
sudo ufw allow 1540
sudo ufw allow 1541
sudo ufw allow 1543
sudo ufw allow 1560:1591/tcp
sudo ufw enable
Нужна ли лицензия на сервер?
На момент написания статьи (версия технологической платформы 8.3.13.1472) лицензия на сервер не требуется, все прекрасно работает без нее.
На этом все, надеюсь, что данная статья была Вам полезна.
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Установка сервера 1С на Linux с сервером СУБД PostgreSQL выгодна по нескольким причинам. Собственник бизнеса может получить существенную экономию за счёт использования свободно распространяемого ПО. Для сервера 1С можно использовать практически любое облако, что позволит экономить на приобретении оборудования, соединить географически разбросанные точки, использовать недорогие устройства для подключения в режиме терминального доступа, например, с использованием стандартного RDP-клиента Windows. Возможна установка на отдельно расположенном в уголке системном блоке, без подключённого монитора, дома или в офисе.
В этой статье я расскажу как установить 1С сервер на Ubuntu 20.04 с Postgres Pro Std 13, а также web-сервер на Apache2 и опубликовать туда созданную базу.
Я принял решение развернуть тестовый стенд в Hyper-V на своём ноутбуке. Использовался ноутбук с такими основными параметрами:
- Процессор: AMD Ryzen 5.
- Накопитель: SSD 256 Гб.
- ОЗУ: 6 Гб.
- ОС: Windows 10 Professional.
Виртуальный контейнер Hyper-V:
- 1 виртуальный процессор.
- 3 Гб динамического ОЗУ.
- Виртуальный жёсткий диск на 20 Гб.
- DVD-привод с ISO образом Ubuntu Desktop 20.04.2 (64-bit).
Ubuntu Desktop разрядностью 64 bit я выбрал сознательно. Во-первых, Postgres Pro бывает только 64 bit. Во-вторых, мне нужно протестировать не только установку сервера 1С, но ещё и установку клиента 1С:Предприятие для Linux, чтобы подключиться из этой ОС к своему рабочему серверу, и наоборот. Установку и настройку Ubuntu 20.04, а также установку сервера XRDP оставлю вне рамок этой статьи.
1. Загрузка необходимых пакетов

На снимке экрана я подчеркнул пакеты, которые скачал:


2. Получение инструкции по установке Postgresql Pro
Далее произвожу подготовку к установке СУБД. Я уже регистрировался на сайте производителя, поэтому захожу в личный кабинет, указываю операционную систему и дистрибутив. Соглашаюсь с лицензионным соглашением и получаю инструкцию для установки Postgres Pro Std в Ubuntu 20.04. Вы можете использовать её для установки этой программы.

Обратите внимание, что для использования любой версии PostgreSQL Pro необходимо покупать лицензию, но программу можно получить бесплатно для тестирования, изучения и разработки.
3. Обновление Ubuntu и установка пакетов
Все действия я буду производить из графического режима Ubuntu Desktop. Однако всё, что я делаю, относится в равной степени и к Ubuntu Server 20 64-bit. В графическом режиме Ubuntu есть утилита terminal, в которой и будут производиться все манипуляции. Для удалённого подключения к Linux в консольном режиме существует большое количество приложений, использующих SSH. Обычно я использую Putty RUS.

Для настройки репозитория Postgres Pro Std потребуется curl. И поставлю свой любимый файловый менеджер mc. До начала обновления пакетов Ubuntu в открытом терминале пишу:
sudo apt -y install mc curl
Пробую поставить пакет libpq, входящий в дистрибутив PostgreSQL, с сайта 1С и получаю ошибку о несоответствии версии библиотеки libssl.so. 1.0.0, а у меня развёрнута версия 1.0.3. Это свидетельствует от том, что в Ubuntu 20.04 более новые библиотеки, чем используются дистрибутивами пакетов.
Поэтому необходимо ещё добавить репозитории для установки всех пакетов, которые устарели в Ubuntu 20.04, однако нужны для установки HASPD и 1С. Поэтому выполняю команду:
sudo apt update

Соглашаюсь со всем, что просит apt (можно нажимать Enter).

После завершения перезагрузите систему, но перед этим убедитесь что дистрибутивы 1C и PostgreSQL Pro успешно загружены. После этого можно двигаться дальше. Ставлю необходимые для функционирования 1С пакеты:
apt install libwebkitgtk-3.0-0 libjavascriptcoregtk-3.0-0 libmagickwand-6.q16-6 libgsf-1-114 libkrb5-3 libgssapi-krb5-2 ttf-mscorefonts-installer
Запрещаю системе их обновлять:
apt-mark hold libwebkitgtk-3.0-0 libjavascriptcoregtk-3.0-0 libmagickwand-6.q16-6 libgsf-1-114 libkrb5-3 libgssapi-krb5-2 ttf-mscorefonts-installer
Ставлю необходимые пакеты для установки драйвера HASP:
apt install dkms flex bison
4. Добавление репозитория PostgreSQL Pro
Для добавления репозитория PostgreSQL Pro выполните такие команды:
curl -o apt-repo-add.sh https://repo.postgrespro.ru/pgpro-13/keys/apt-repo-add.sh
5. Установка и запуск HASPD
Установка HASPD в Ubuntu 20.04 довольно проблематична, в версии 7.90 не захотел устанавливаться aksusbd — модуль, который работает с USB-устройствами — ключами HASP, поэтому служба не стартовала. Скачал модули для Ubuntu 15.04 (64-bit) и для HASPD версии 7.40.
Менеджер пакетов apt хорош тем, что если в зависимостях пакета есть другие пакеты, то в 90 из 100% случаев он найдёт и установит самые подходящие. Поэтому разворачиваю и копирую оба файла с расширением .deb службы haspd в директорию /usr/src/haspd7_40/:
sudo mkdir /usr/src/haspd7_40
sudo cp hasp* /usr/src/haspd7_40
sudo cd /usr/src/haspd7_40
sudo apt -y install ./*.deb

Результат установки должен быть таким, как на приведённом выше скриншоте. Чтобы автоматически при загрузке ОС запускалась служба в Ubuntu, выполняю:
systemctl enable haspd
И перезапускаю службу:
systemctl restart haspd
Проверить состояние службы можно так:
systemctl status haspd
6. Установка Postgres Pro Std
Вначале необходимо добавить поддержку русского языка в систему. Ставлю локализацию для нормального функционирования Postgres Pro Std:
sudo locale-gen en_US.UTF-8
sudo locale-gen ru_RU.UTF-8
sudo update-locale LANG=ru_RU.UTF8
sudo dpkg-reconfigure locales
Для установки самой программы выполните:
sudo apt -y install postgrespro-std-13 postgrespro-std-13-contrib
systemctl stop postgrespro-std-13
Удаляю автоматически созданную базу, так как она не подходит для 1С:
rm -r /var/lib/pgpro/std-13/data/*
Из директории, куда установился Postgres Pro Std, запускаю инициализацию базы для 1С:
/opt/pgpro/std-13/bin/pg-setup initdb --tune=1c
Затем стандартные действия по настройке автозапуска, старта службы и проверке статуса. Должно быть так, как приведено ниже:
systemctl enable postgrespro-std-13
systemctl start postgrespro-std-13
systemctl status postgrespro-std-13
7. Настройка СУБД Postgres Pro Std
Заходим из консоли под пользователем postgres. Таким способом мы получим доступ к psql без указания пароля и сможем настроить себе доступы:
Запускаем консоль СУБД:
Я не стал возиться с созданием пользователя, поэтому применяю суперпользователя postgres. Задаю пароль secret1c:
Вывод должен быть ОК. Затем выходим из консоли:
И возвращаемся в терминал из окружения postgres:
8. Установка сервера 1С
Дальше надо разобраться как установить 1C в Ubuntu 20.04. Распаковываю дистрибутивы 1С и раскладываю их по папочкам в /usr/src/1cv83_18_1334. Папка cli — клиентская часть 1с, serv — серверная часть, thincli — тонкий клиент (про него напишу отдельно).

Первым ставлю сервер 1С:
sudo apt install ./*.deb
Лучше каждый файл ставить по отдельности, так как существует чёткая последовательность: common, crs, server, ws.

Потому что в результате всё может не установиться, хотя у меня получилось.
9. Настройка автозагрузки сервера 1С
По непонятной причине, в последние полгода при установке 1С сервера не создаётся ссылка для службы. Поэтому создаю её самостоятельно:
ln -s /opt/1cv8/x86_64/8.3.18.1334/srv1cv83 /etc/init.d/srv1cv83
После этого можно настраивать автозапуск службы:
systemctl enable srv1cv83
systemctl restart srv1cv83
systemctl status srv1cv83
10. Установка толстого и тонкого клиентов 1С
Сначала перехожу в директорию /usr/src/1cv83_18_1334/cli
Затем для установки толстого клиента выполняю:
sudo apt install ./1c-enterprice-8.3.18.1334-client*.deb
А для установки тонкого клиента:
sudo apt install ./1c-enterprice-8.3.18.1334-thin-client*.deb

Обратите внимание, что при установке тонкого клиента (thin-client) сервер 1С удаляется. Я тонкого клиента ставить на сервер 1С не буду.
11. Особенности размещения файла настроек HASP для 1С в Linux
Первая заключается в том, что если потребуется получать лицензию от ключа на другой машине, то необходим файл nethasp.ini. Но если в Windows его достаточно положить в установочную директорию 1С, подкаталог conf, то в Linux его нужно разместить ниже по дереву: в директорию релиза. Я для этого создал символическую ссылку на каталог в /opt/1cv8/conf:
sudo ln -s /opt/1cv8/conf/ /opt/1cv8/x86_64/8.3.18.1334/conf/
Теперь 1С будет видеть мои сетевые ключи.
12. Проверка соединения с базой данных
Для проверки работы толстого клиента, пробую подключится ко внешнему 1C серверу с помощью 1С:Документооборот:

Заработал, и довольно быстро для толстого клиента и виртуальной машины. С кодировками русского языка проблем не возникает.
13. Создание базы данных на сервере 1С
Создаю пустую базу для разработки на сервере СУБД. Указываю наименование информационной базы и её расположение. В данном примере будет использоваться база данных с именем test.
14. Настройки для подключения к серверу 1С и СУБД

Теперь можно экспериментировать с пустой базой test.
15. Запуск базы данных на сервере 1С в разных режимах

Запускаю в режиме конфигуратора с правами суперпользователя root:
16. Публикация конфигурации 1С на web-сервере
Команда для установки web-севера Apache 2 выглядит вот так:
sudo apt -y install apache2

После того как конфигуратор запустился от суперпользователя, можно публиковать базу на web-сервере. Для этого в режиме конфигуратора нужно открыть меню Администрирование и выбрать пункт Публикация на веб-сервере.

17. Проверка запуска базы данных 1С в режиме веб-приложения
Для проверки можно с самого сервера перейти по адресу http://127.0.0.1/test. Или зайти с любого другого сетевого устройства (планшет, смартфон, компьютер) по сетевому адресу или имени сервера 1С:

Выводы
Теперь вы знаете как выполняется установка 1C Ubuntu 20.04. При установке предварительно закачанных пакетов сервера 1С требуется минимум усилий и внимания к деталям, что позволяет автоматизировать установку скриптом на bash.
В современной Ubuntu 64-bit при установке приходится понижать версии различных пакетов, в том числе ответственных за шифрование и обеспечение защиты системы в целом. Для серверов, так или иначе подключённых в общий доступ, необходимо настраивать файрвол (брандмауэр), применять дополнительные пакеты для защиты, например, от перебора паролей fail2ban или использовать сторонние сервисы, созданные для предотвращения автоматизированных или направленных атак.
В целом производительность ОС Ubuntu 20.04 (64-bit) позволяет использовать более «тяжёлые» базы данных, использовать кластер серверов 1С и СУБД, подключать большое количество пользователей как в режиме тонкого клиента 1С, так и в режиме RDP (удалённых рабочих столов) с гарантированно минимальными затратами на аппаратную часть сервера и лицензирование необходимого ПО.
С точки зрения конфигурации сервера на 10 пользователей, моя любимая система выглядит так:
Процессор AMD Ryzen 7 PRO на материнской плате MSI B450M MORTAR MAX, с четырьмя модулями оперативной памяти, видеокартой AMD Radeon R9 Gamer Series 8Gb, с двумя хранилищами на 1000 Gb SSD M.2 (накопитель Kingston KC2000). Такой системный блок, в сборе с корпусом и блоком питания, сегодня может стоить приблизительно 85 000 рублей. В связи с тем, что пропускная способность накопителей и оперативной памяти заявлены приблизительно равными, обмен между хранилищем данных и ОЗУ будет происходить примерно на одинаковой скорости. Поэтому в такой конфигурации не потребуется проводить тонкий тюнинг сервера 1С, СУБД.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Ошибка 1С «Сервер баз данных не обнаружен»
При работе с 1С в клиент-серверном варианте могут возникать ошибки, которые напрямую не связаны с 1С:Предприятием, а связаны непосредственно с сервером управления баз данных.
Продолжение данного сообщения может быть различным:
1. Could not translate host name «NAME» to address: Temporary failure in name resolution
2. ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (Ident)
3. ВАЖНО: в pg_hba.conf нет записи для компьютера «», пользователя «usr1cv8», базы «template»
4. Is the server running on host and accepting TCP/IP connections on port 5432?
5. «Породить новый процесс для соединения не удалось: Ресурс временно недоступен» или «ВАЖНО: извините, уже слишком много клиентов.»
6. FATAL: database «base» does not exist
Далее рассмотрим подробнее каждую ошибку.
Could not translate host name «NAME» to address
Пример полного текста ошибки:

Ошибка может возникать как при создании базы, так и при запуске информационной базы.
Настроим DNS-адресацию или пропишем адреса в файл hosts. Обратите внимание, что в данном случае проблема в том, что на сервере 1С нет информации о доменном имени сервера СУБД PostgreSQL. Подробнее о DNS — Настройка DNS-адресации для 1С сервера.
Пользователь «postgres» не прошёл проверку подлинности (Ident)
Пример полного текста ошибки:

Описание: Ошибка возникает при создании базы.
Настроим проверку подлинности.
- Сконфигурируем доступ к серверу PostgreSQL в файле: pg_hba.conf:
Строк должно быть, соответственно, несколько, если серверов 1С несколько в кластере.
Последняя колонка указывает на метод авторизации.
Если пока теряетесь в настройках доступа. Для понимания, можно сначала открыть все, запустить сервер.
А после удачного старта сервера СУБД разбираться с настройками доступа.
В pg_hba. conf нет записи для компьютера «», пользователя «usr1cv8», базы «template»
Пример полного текста ошибки:

Ошибка связана с отсутствием прописанного доступа к базе данных в файле pg_hba.conf
Добавим запись в файл pg_hba.conf.
Приведем пример содержания файла, который открывает доступ:
Строк должно быть, соответственно, несколько, если серверов 1С несколько в кластере.
Is the server running on host and accepting TCP/IP connections on port 5432?
Пример полного текста ошибки:
Проблема может возникать как при создании информационной базы из консоли администрирования 1С: Предприятия, так и при ее запуске в процессе эксплуатации уже существующей базы данных.
В данном случае необходимо понимать, что рабочего процесса:
Либо клиент(в нашем случае сервер 1С) его не «видит» по ряду причин:
— Отсутствие доступа;
— Обращение по другому адресу.
1. Первоначально, конечно, проверим, есть ли на сервере СУБД PostgreSQL в запущенных процессах процесс postmaster/postgres (в зависимости от версии PostgreSQL) на порту 5432.
1.1. Если по результатам проверки видим, что не запущен процесс, то необходимо его запустить.
1.2. Если по результатам проверки видим, что процесс запущен, но слушает только «себя» 127.0.0.1.

То выполним ряд настроек.
Отредактируем конфигурационный файл
Укажем там настройку:
1.3. Если видим, что процесс запущен

То переходим к следующем пункту.
2. Проверим доступность процесса по порту, который он «слушает».
С сервера 1С выполним команду(в нашем случае имя сервера СУБД «1s-on-pg-1»):
Если доступ отсутствует – то мы увидим нечто подобное:
К причинам отсутствия доступа по данному порту можно отнести:
- Блокировка брадмауэром или другими подобными программами;
- Отсутствие доступа на уровне сети.
2.1. Проверим статус файерволла.
Если файерволл работает и блокирует порт 5432, то.
и отключим автозапуск.
Результат должен быть следующим:

настроим, открыв порт 5432.
«Породить новый процесс для соединения не удалось
Пример полного текста ошибки:


В процессе работы выдается ошибка
Изменим настройку в файле postgresql.conf
Данное число, должно быть примерно в 1.5 раза больше максимального количества пользователей.
- Перейдем в терминал psql.
- Через psql установим следующие параметры командой ALTER SYSTEM SET:
Database «base» does not exist
Пример полного текста ошибки:

При запуске базы данных выдается ошибка, которая говорит о том, что данная база не существует.
Проверим наименование базы данных и информационной базы. Сделать это можно в консоли администрирования 1С в свойствах базы.
Учтём, что Linux чувствителен к регистру(Base/base/BASE – для него это разные имена баз).

ВАЖНО: Читайте обновлённое руководство по установке сервера 1С под Linux в статье «От экспертов „1С‑Рарус“: Российские дистрибутивы Linux и установка в них сервера 1С» (январь 2023).
Информация о руководстве
Руководство рассчитано на технических специалистов с опытом установки операционных систем семейства Windows. После изучения материалов статьи вы сможете установить серверную часть 1С в ОС GNU/Linux для эксплуатации на больших и маленьких проектах.
В руководстве описывается установка и настройка серверной системы на базе ОС GNU/Linux, а именно дистрибутива Ubuntu 18.04 с сервером 1С:Предприятия 8.3. Система включает следующие компоненты: сервер 1С, сервер СУБД PostgreSQL, менеджер лицензий платформы, сервер лицензирования СЛК, веб-сервер Apache.
Данное руководство по установке 1С в Linux рассчитано под версии:
- Ubuntu-18.04.-server-amd64.
- PostgreSQL 1C 12.8.1 от компании PostgresPro.
- Apache 2.4.
- Сервера 1С 8.3.16.1973, 8.3.17.2306, 8.3.18.1616, 8.3.19.1264.
Но также может быть адаптировано и под другие версии.
Оглавление
- Термины
- Установка ОС Ubuntu (серверный вариант)
- Удаленное управление GNU/Linux сервером
- Установка и настройка сервера 1С
- Установка PostgreSQL для 1С
- Оптимизация параметров PostgreSQL
- Установка драйверов HASP
- Управление кластером 1С
- Установка и настройка веб-сервера
- Установка сервера лицензирования СЛК
- Заключение
- Ссылки
Термины
- Пакеты (deb— пакет для ОС Debian/Ubuntu; rpm — пакет для ОС RedHat/Centos) — формат предоставления программного обеспечения в виде пакетов, содержащих помимо дистрибутива программного обеспечения, набор определённых метаданных, которые могут включать в себя полное имя пакета, номер версии, описание пакета, имя разработчика, контрольную сумму, зависимости с другими пакетами.
- tar — формат файла архива, а также название традиционной для Unix (ru.wikipedia.org/wiki/Unix) программы для работы с такими архивами.
- Локаль (locale) — региональные настройки.
- Репозиторий, хранилище — место, где хранятся и поддерживаются какие-либо данные, необходимые для обновлений/установки приложений/пакетов.
- Менеджер пакетов (apt — debian, rpm — RedHat) — система управления пакетами с программным обеспечением, занимается корректной установкой/удалением пакетов разрешает зависимости, а также ведет базу установленного ПО, например, rpm и dpkg, можно сказать, что это аналог msi из мира Windows.
- Зависимости — одна из важнейших сфер деятельности менеджера пакетов. Менеджер пакетов отслеживает зависимости между пакетами, что значительно облегчает задачи администратора. Зависимости возникают в тех случаях, когда работоспособность ПО из одного пакета зависит от ПО, входящего в состав другого пакета.
- sudo — команда для запуска приложений от имени другого пользователя, по умолчанию от пользователя root.
Установка ОС Ubuntu (серверный вариант)
Существует множество дистрибутивов ОС GNU/Linux, многие из них специализированные для каких-то конкретных задач, а есть и дистрибутивы общего назначения. С кратким описанием каждого и выбором по параметрам можно ознакомиться на сайте distrowatch.com.
Так как мы выбираем ОС для установки сервера «1С:Предприятие», то логично использовать ОС из списка поддерживаемых операционных систем (v8.1c.ru/tekhnologii/sistemnye-trebovaniya-1s-predpriyatiya-8/), а именно:
- Astra Linux:
- Common Edition, версии 1.11, 2.12.
- Special Edition, версии 1.4, 1.5, 1.6.
- CentOS 7.
- Debian, версии 8 и 9.
- Mint, версии 18 и 19.
- Red Hat Enterprise Linux 7.
- Ubuntu, версии 14.04 LTS, 16.04 LTS и 18.04 LTS.
- Альт Линукс: версии 6.0 СПТ, 7.0 СПТ, Рабочая станция 7, Рабочая станция 8, Рабочая станция К 8, Сервер 7, Сервер 8, Образование 8, Альт Альт 8 СП.
Все поддерживаемые дистрибутивы можно сразу разделить на 2 категории.
RPM-based
Red Hat Enterprise Linux (RHEL)
Коммерческий дистрибутив от компании Red Hat, для использования в продуктивной среде необходима подписка, в целях разработки существует возможность бесплатного использования.
CentOS
Ранее дистрибутив поддерживался сообществом и позиционировался как полностью бинарно совместимый с Red Hat Enterprise Linux для тех, кому не нужна корпоративная поддержка со стороны Red Hat, но, после того как CentOS ушла под крыло Red Hat, были пересмотрены цели дистрибутива, и теперь он будет развиваться как роллинг дистрибутив CentOS Stream, на базе срезов которого, будут формироваться сборки Red Hat Enterprise Linux.
Поддержка CentOS 8, вместо 10 лет, сократилась до 2,5 лет и будет прекращена 31 декабря 2021 года. Поддержку CentOS 7 сохранили до 24 июня 2024 года, т. к. фаза основной поддержки уже закончилась в 4 квартале 2020 года, а устранение критических уязвимостей уже не отнимает так много сил. На фоне таких веяний доверие к дистрибутиву было подорвано, появилось несколько дистрибутивов, заменяющих CentOS, но т. к. все они молодые, пока доверия к ним нет.
Бинарно совместим значит, что собран из точно тех же исходных кодов теми же инструментами, и, соответственно, если в каком-либо софте заявляется гарантированная работа в RHEL, то данный софт без переборки заработает и в CentOS.
Роллинг — это постоянно обновляющаяся система без выпуска дистрибутивов с замороженными версиями софта.
Альт Линукс
Пакеты rpm, но менеджер пакетов apt, более присущий дистрибутивам на базе deb пакетов.
DEB-dased
Debian
Один из старейших дистрибутивов GNU/Linux на базе deb, в большинстве случаев deb‑based дистрибутивы основаны на его пакетной базе.
Ubuntu
Дистрибутив от компании Canonical, ввиду огромного сообщества и популяризации его силами компании, наверное, самый распространенный дистрибутив GNU/Linux.
Linux Mint
Дистрибутив, основанный на базе Ubuntu, в серверной части мало чем отличается от Ubuntu, т. к. использует репозитории Ubuntu.
Astra Linux
Российская производная Debian GNU/Linux.
Выбираем и устанавливаем Ubuntu 18.04 LTS
Мы будем использовать дистрибутив Ubuntu 18.04 LTS, потому что:
- С CentOS происходят изменения и его дальнейшая судьба не совсем ясна.
- Поддержка Debian 9 версии заканчивается в 2022 году.
- Поддержка дистрибутивов Ubuntu расширена с 5 лет до 10 лет для серверных дистрибутивов.
Дистрибутив Ubuntu можно взять на официальном сайте (releases.ubuntu.com/18.04.5/). Для этого понадобится ISO-файл (releases.ubuntu.com/18.04.5/ubuntu-18.04.5-live-server-amd64.iso) серверного образа для платформы х64 PC (AMD64). Для развертывания сервера можно использовать как платформы виртуализации так и развертывать непосредственно на железе. Для виртуализации подойдет практически любая платформа:
- Hyper-V (ru.wikipedia.org/wiki/Hyper-V),
- VmWare ESXi (www.vmware.com/ru/products/esxi-and-esx.html),
- Citrix XenServer (www.citrix.com/ru-ru/products/citrix-hypervisor/),
- Proxmox (www.proxmox.com/en/proxmox-ve),
- oVirt (www.ovirt.org),
- и другие.
Сравнение систем виртуализации может оказаться очень обширным и выходит за рамки данной статьи.
Для установки дистрибутива на физический сервер можно воспользоваться разными способами. Например, подготовить загрузочную флешку с помощью Rufus (rufus.ie), использовать мультизагрузочные флешки EasyToBoot (easy2boot.xyz) или Ventoy (www.ventoy.net). Системы виртуализации могут подключать iso образ к виртуальному CD\DVD приводу.
После запуска с загрузочного носителя нас приветствует стандартное меню установки Ubuntu Server.
Выбираем 2 пункт, т. к. будет использовано более новое ядро Linux 5.4. от Ubuntu 20.04.

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



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

Далее разметка диска. Рекомендуется выбрать пункт с созданием LVM (ru.wikipedia.org/wiki/LVM), что в последующем позволит более гибко управлять дисковым пространством.
Если у вас несколько дисков или аппаратных RAID (Redundant Array of Independent Disks) массивов, то можно настроить разметку диска вручную. Стоит создать отдельные разделы для /var и /home, и для /var использовать самый быстрый диск, следующий по скорости для /home и самый небольшой под корневой раздел /.


Далее создаем пользователя в системе, под которым и будем заходить на сервер. Это необходимо сделать, т. к. в Ubuntu по умолчанию root отключен, после установки можно будет создать еще пользователей.

На следующем экране поставить галку для установки сервера OpenSSH, чтобы можно было управлять сервером удаленно. Если вы про нее забыли, ничего страшного, его можно будет установить позже.

Далее предоставляется выбор установки пакетов SNAP, ни один из них нам не нужен для сервера 1С, поэтому ничего не выбираем.

Далее происходит установка системы, после установки подсветится пункт Reboot Now, его и нажимаем для загрузки в установленную систему.


Если вы устанавливали систему в виртуальной машине, то скорее всего так же была установлена система cloud-init, которая предназначена для автоматической конфигурации виртуальной машины, но если вы её не используете, то проще всего ее удалить, т. к. она замедляет загрузку сервера.
sudo apt purge cloud-initsudo rm -rf /etc/cloud/ && sudo rm -rf /var/lib/cloud/Далее необходимо настроить временную зону, сгенерировать локали, настроить сеть, если это не было сделано во время установки. Поставить минимум необходимого софта с которым удобнее работать.
Настраиваем временную зону
Посмотреть текущие настройки временной зоны:
timedatectl showПосмотреть список зон:
timedatectl list-timezonesУстановить временную зону:
timedatectl set-timezone Europe/MoscowНастраиваем локали
sudo dpkg-reconfigure locales
Напротив необходимых локалей ставим пробелом звездочку, после чего по tab переходим на пункт OK и сохраняем список.
Рекомендуется также добавить локаль ru_RU.CP1251, если на сервере планируется использовать программный продукт КриптоПРО для работы с электронным документооборотом из 1С:Предприятия.

После выбора локали по умолчанию и подтверждения настроек будут подготовлены выбранные локали.
Важно выбрать локаль по умолчанию ru_RU.UTF-8, т. к. это повлияет на правильную установку PostgreSql.
Настройка сети
Для этого удаляем предыдущую конфигурацию что бы ничего нам не мешало:
sudo rm /etc/netplan/*Копируем пример со статической конфигурацией:
sudo cp /usr/share/doc/netplan/examples/static.yaml /etc/netplan/00-static.yamlУзнаем название интерфейса, т. к. имя нам понадобится для правки конфигурации:
ip linkНам нужны физические Ethernet-интерфейсы, они могут иметь название, начинающееся на en. Расшифровка префиксов обозначения интерфейсов:
- en — Ethernet,
- ib — InfiniBand,
- sl — serial line IP (slip),
- wl — wlan,
- ww — wwan,
- lo — loopback.
И исправляем пример под свою конфигурацию:
sudo nano /etc/netplan/00-static.yamlПосле исправления, применяем конфигурацию:
sudo netplan tryПосле применения конфигурации, проверим что адрес соответствует нашим настройкам:
ip addr
После чего обновляем список пакетов и устанавливаем обновления на систему:
sudo apt update && sudo apt dist-upgrade -yУстанавливаем софт для более удобной работы и мониторинга в реальном времени:
sudo apt install tmux mc htop iftop iotoptmux — мультиплексор терминалов предоставляющий доступ к нескольким терминалам в рамках одного экрана, так же при отключении от экрана продолжает работать в фоновом режиме, что позволит подключится к своему сеансу при обрыве соединения или если просто необходимо временно отключиться.
mc — удобный двухпанельный менеджер файлов наподобие Norton Commander.
htop — интерактивный диспетчер процессов.
iftop — утилита для мониторинга сетевой активности.
iotop — утилита для мониторинга дисковой активности.
После чего перезагружаем сервер и переходим к следующему этапу.
Удаленное управление GNU/Linux сервером
Если вы ранее не работали с системами GNU/Linux, а работали только с системами Windows, то навыки традиционных способов управления системами как RDP или RSAT не подойдут для этого. Но для управления GNU/Linux-серверами есть много различных инструментов и способов.
Например, web-панель webmin (www.webmin.com), позволяющая настроить различные аспекты операционной системы и служб. Или специализированные интерфейсы от программных продуктов, а также программы управления системой в различных графических оболочках (gnome, kde, xfce и другие).
В большинстве своем все эти программы занимаются одним и тем же, а именно правкой конфигурационных файлов, что иногда бывает достаточно удобно. В случае возникновения аварий или нештатных ситуаций может не хватить предлагаемых сервисов и потребуется использование прямого редактирования. Поэтому традиционно для администрирования GNU/Linux серверов используется текстовый терминал, для удаленного подключения к нему протокол Secure Shell — ssh, а для передачи файлов протоколы scp и sftp.
В современных операционных системах Windows, а именно Windows 10 начиная с релиза 1809 и Windows Server 2019 клиент ssh уже встроен и ничего дополнительно устанавливать не нужно. На GNU/Linux машинах клиент ssh предустановлен или установить его не составляет проблемы, т. к. он содержится в стандартных репозиториях системы.
Как в Windows, так и в GNU/Linux в качестве реализации протокола используется набор программ OpenSSH, поэтому далее будет рассматриваться только данный набор программ, использование которого будет одинаковым под разными операционными системами. Для более старых версий Windows рекомендуется использовать клиент putty (www.chiark.greenend.org.uk/~sgtatham/putty/latest.html), в состав которого входят клиенты для передачи файлов pscp и psftp, аналоги программ scp и sftp из пакета OpenSSH.
Если при установке ОС вы пропустили шаг установки сервера OpenSSH, это можно сделать командой:
sudo apt install sshsystemctl status ssh
Если сервис не запущен или отключён, то включим его и запустим:
sudo systemctl enable ssh && systemctl start sshТеперь, когда разобрались с инструментами, подключимся к серверу и проверим что все работает.
На своей машине запустим терминал. В случае с Windows это может быть оболочка PowerShell или cmd, под GNU/Linux может быть любая оболочка, зачастую во многих дистрибутивах используется по умолчанию bash. Подключимся к серверу.
ssh [имя пользователя]@[имя или IP адрес узла]При первом подключении ssh клиент выведет предупреждение о том, что отпечаток удаленного узла неизвестен и предложит добавить его в список известных узлов, набрав yes.
ssh rarus@192.168.12.112Данный механизм предназначен для предотвращения подмены узла. Если внезапно для уже сохраненных узлов у вас появится такое предупреждение, то, возможно, кто-то пытается завладеть вашими учетными данными и стоит все перепроверить прежде, чем вводить свои пароли.
Так же и для упрощения и большей защищенности стоит использовать ключи.
Сгенерировать ключи просто, нужно запустить программу ssh-keygen:
ssh-keygenДалее скопировать публичный ключ на сервер.
C клиента на Windows из cmd:
type %UserProfile%\.ssh\id_rsa.pub | ssh rarus@192.168.12.112 "cat > ~/.ssh/authorized_keys_tmp && umask 0177 && cat ~/.ssh/authorized_keys_tmp >> ~/.ssh/authorized_keys && rm ~/.ssh/authorized_keys_tmp"или из PowerShell:
type env:UserProfile\.ssh\id_rsa.pub | ssh rarus@192.168.12.112 "cat > ~/.ssh/authorized_keys_tmp && umask 0177 && cat ~/.ssh/authorized_keys_tmp >> ~/.ssh/authorized_keys && rm ~/.ssh/authorized_keys_tmp"C клиента на GNU/Linux:
ssh-copy-id rarus@192.168.12.112После чего уже можно подключаться с использованием ключа
ssh rarus@192.168.12.112Более подробно ознакомиться с документацией по OpenSSH можно на сайте проекта (openssh.com/manual.html).
Так же рекомендуется длительные операции запускать через мультиплексор терминалов tmux или screen. Это даст возможность оставлять запущенные программы в окне терминала и отключаться от терминала, а также при случайном обрыве соединения ваши приложения не закрываются, поэтому подключившись к серверу снова можно вернуться к своему прошлому сеансу и продолжить работу. Также tmux позволяет разделять одно окно терминала на несколько окон и рабочих областей.
Подключиться к своему прошлому сеансу можно командой tmux attach, а отключиться комбинацией клавиш ctrl+b d.
Установка и настройка сервера 1С
Сервер у нас подготовлен и мы научились к нему подключаться. Настало время установить на него сервера 1С:Предприятия.
Установка серверов 1С
Несколько серверов 1С установим непосредственно в операционную систему. Также возможно упаковать каждый дистрибутив в отдельный контейнер docker и запускать из контейнеров, но такой вариант установки будет рассмотрен в будущих статьях.
Будем устанавливать 4 платформы разных версий — последние на момент написания статьи — 8.3.16.1973, 8.3.17.2306, 8.3.18.1616, 8.3.19.1264.
Для начала скачиваем необходимые дистрибутивы с сайта «1С» (releases.1c.ru/project/Platform83) на свой компьютер. Т.к. мы используем сервер на платформе x86_64 на базе deb, то соответственно и дистрибутивы будем скачивать «Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем».
Откроем командную строку в каталоге со скачанными файлами. В нашем случае все дистрибутивы сохранены в каталог 1C-Server расположенном в папке Downloads. Копируем файлы дистрибутива на сервер командой:
scp -r ./1C-Server rarus@192.168.12.112:~/distr/Далее подключаемся к серверу по ssh:
ssh rarus@192.168.12.112Проверим, что файлы скопировались:
ls distrДолжен отобразиться список всех файлов, что мы скопировали. Если все нормально, приступим к установке пакетов необходимых для сервера 1С:
sudo apt install fontconfig unixodbc ttf-mscorefonts-installer libgsf-1-114Теперь займемся дистрибутивами сервера 1С. Т. к. с 18 релиза поменялось расположение файлов сервера и клиента 1С, то стоит привести их всех к одному виду, поэтому перепакуем пакеты старых релизов 16 и 17 и приведем их по структуре к новым. Так же это даст нам возможность ставить несколько версий сервера 1С старых релизов из пакетов.
Скрипт для перепаковки:
![]()
Сохраняем данный скрипт в файл ~/distr/1c-enterprise83-server-repack.sh и делаем его исполняемым:
chmod +x ~/distr/1c-enterprise83-server-repack.shПереходим в каталог со скопированными дистрибутивами для их распаковки:
cd distrДалее создаем отдельный каталог для каждой платформы и распаковываем дистрибутивы:
mkdir 8.3.16.1973cd 8.3.16.1973tar -xzvf ../deb64_8_3_16_1973.tar.gzИ дистрибутивы 8.3.16 и 8.3.17 перепаковываем под новый формат:
sudo ../1c-enterprise83-server-repack.sh amd64После чего вместо старых deb пакетов в каталоге будут новые пакеты.
Сразу их и установим:
sudo dpkg -i ./*.debС остальными дистрибутивами поступаем так же, за исключением того, что новые релизы 18 и 19 перепаковывать не надо.
mkdir ../8.3.17.2306cd ../8.3.17.2306tar -xzvf ../deb64_8_3_17_2306.tar.gzsudo ../1c-enterprise83-server-repack.sh amd64sudo dpkg -i ./*.debmkdir ../8.3.18.1616cd ../8.3.18.1616tar -xzvf ../deb64_8_3_18_1616.tar.gzsudo dpkg -i ./*.debmkdir 8.3.19.1264cd ../8.3.19.1264tar -xzvf ../deb64_8_3_19_1264.tar.gzsudo dpkg -i ./*.debНа этом установка сервера закончена, и можно переходить к настройке сервисов.
Настройка серверов 1С
Т. к. мы будем одновременно запускать несколько версий сервера 1С, то необходимо разнести сервера на разные порты, чтобы не было конфликта. По умолчанию сервер 1С использует порты 1540-1541,1560-1691.
Мы перепаковали старые дистрибутивы, поэтому будем все сервисы настраивать по новому.
Будем настраивать по следующей схеме:
- 8.3.16.1973 — порты 1540-1541,1560-1691, имя службы srv1cv83-1540;
- 8.3.17.2306 — порты 2540-2541,2560-2691, имя службы srv1cv83-2540;
- 8.3.18.1616 — порты 3540-3541,3560-3691, имя службы srv1cv83-3540;
- 8.3.19.1264 — порты 4540-4541,4560-4691, имя службы srv1cv83-4540.
Копируем init файл из каталога установленного сервиса в каталог /etc/init.d:
sudo cp /opt/1cv8/x86_64/8.3.16.1973/srv1cv83 /etc/init.d/srv1cv83-1540И файл конфигурации в каталог /etc/default:
sudo cp /opt/1cv8/x86_64/8.3.16.1973/srv1cv83.conf /etc/default/srv1cv83-1540После чего изменяем конфигурационный файл:
sudo nano /etc/default/srv1cv83-1540Нужно раскомментировать и поменять значение следующих параметров:
SRV1CV8_PORT=1540
SRV1CV8_REGPORT=1541
SRV1CV8_RANGE=1560:1691
SRV1CV8_DEBUG=1
SRV1CV8_DATA=/home/usr1cv8/.1cv8/srv1cv83-1540
Чтобы системный менеджер увидел новые файлы, необходимо их перечитать:
sudo systemctl daemon-reloadЗатем включить сервис и запустить его:
sudo systemctl enable srv1cv83-1540sudo systemctl start srv1cv83-1540И проверим статус сервера:
sudo systemctl status srv1cv83-1540Если все нормально, то продолжаем и копируем аналогично файлы для других служб:
sudo cp /opt/1cv8/x86_64/8.3.17.2306/srv1cv83 /etc/init.d/srv1cv83-2540sudo cp /opt/1cv8/x86_64/8.3.17.2306/srv1cv83.conf /etc/default/srv1cv83-2540sudo cp /opt/1cv8/x86_64/8.3.18.1616/srv1cv83 /etc/init.d/srv1cv83-3540sudo cp /opt/1cv8/x86_64/8.3.18.1616/srv1cv83.conf /etc/default/srv1cv83-3540sudo cp /opt/1cv8/x86_64/8.3.19.1264/srv1cv83 /etc/init.d/srv1cv83-4540sudo cp /opt/1cv8/x86_64/8.3.19.1264/srv1cv83.conf /etc/default/srv1cv83-4540Далее будем править конфигурационные файлы для сервиса srv1cv83-2540:
sudo nano /etc/default/srv1cv83-2540Нужно раскомментировать и поменять значение следующих параметров:
SRV1CV8_PORT=2540
SRV1CV8_REGPORT=2541
SRV1CV8_RANGE=2560:2691
SRV1CV8_DEBUG=1
SRV1CV8_DATA=/home/usr1cv8/.1cv8/srv1cv83-2540
Аналогично правим конфигурационные файлы остальных сервисов.
Приведем тут только измененные строки:
grep -v '^$\|^\s*\#' /etc/default/srv1cv83-3540SRV1CV8_PORT=3540
SRV1CV8_REGPORT=3541
SRV1CV8_RANGE=3560:3691
SRV1CV8_DEBUG=1
SRV1CV8_DATA=/home/usr1cv8/.1cv8/srv1cv83-3540
grep -v '^$\|^\s*\#' /etc/default/srv1cv83-4540SRV1CV8_PORT=4540
SRV1CV8_REGPORT=4541
SRV1CV8_RANGE=4560:4691
SRV1CV8_DEBUG=1
SRV1CV8_DATA=/home/usr1cv8/.1cv8/srv1cv83-4540
После опять перечитываем список сервисов, включаем и запускаем необходимые службы:
sudo systemctl daemon-reloadsudo systemctl enable srv1cv83-2540sudo systemctl start srv1cv83-2540sudo systemctl enable srv1cv83-3540sudo systemctl start srv1cv83-3540sudo systemctl enable srv1cv83-4540sudo systemctl start srv1cv83-4540Сервис Remote Administration Service (RAS)
Также, как и сервера 1С, распределим сервисы RAS по портам:
- 8.3.16.1973 — порт 1545, имя службы ras-srv1cv83-1540;
- 8.3.17.2306 — порт 2545, имя службы ras-srv1cv83-2540;
- 8.3.18.1616 — порт 3545, имя службы ras-srv1cv83-3540;
- 8.3.19.1264 — порт 4545, имя службы ras-srv1cv83-4540.
Компания «1С» не предоставляет init файлов для создания сервисов RAS, поэтому создадим их сами:
sudo nano /etc/systemd/system/ras-srv1cv83-1540.serviceСо следующим содержимым:
[Unit]
Description=1C Remote Access Service srv1cv83-1540
After=syslog.target
After=network.targetАналогичные файлы создаем и для оставшихся служб меняя пути к платформе и порты. Скопируем и исправим файлы служб с помошью sed:
sed -e "s/8.3.16.1973/8.3.17.2306/; s/1545/2545/; s/1540/2540/" /etc/systemd/system/ras-srv1cv83-1540.service | sudo tee /etc/systemd/system/ras-srv1cv83-2540.servicesed -e "s/8.3.16.1973/8.3.18.1616/; s/1545/3545/; s/1540/3540/" /etc/systemd/system/ras-srv1cv83-1540.service | sudo tee /etc/systemd/system/ras-srv1cv83-3540.servicesed -e "s/8.3.16.1973/8.3.19.1264/; s/1545/4545/; s/1540/4540/" /etc/systemd/system/ras-srv1cv83-1540.service | sudo tee /etc/systemd/system/ras-srv1cv83-4540.serviceДалее, как уже ранее научились, перечитываем список сервисов, включаем и запускаем службы, т. к. службы однотипные и отличаются только одной цифрой, удобно для этого воспользоваться циклом:
sudo systemctl daemon-reload
for i in {1..4}; do sudo systemctl enable ras-srv1cv83-$i\540; donefor i in {1..4}; do sudo systemctl start ras-srv1cv83-$i\540; doneПроверяем статус запущенных служб:
for i in {1..4}; do sudo systemctl status ras-srv1cv83-$i\540; done
/opt/1cv8/x86_64/8.3.16.1973/rac cluster list localhost:1545
Утилита rac не так сильно привязана к версии сервера и поэтому можно с помощью неё же и проверить и остальные кластеры:
/opt/1cv8/x86_64/8.3.16.1973/rac cluster list localhost:2545/opt/1cv8/x86_64/8.3.16.1973/rac cluster list localhost:3545/opt/1cv8/x86_64/8.3.16.1973/rac cluster list localhost:4545Сервер хранилища конфигураций
Настройка сервера хранилища конфигураций не сильно отличается от настройки сервиса RAS. Юнит файл для запуска будет примерно таким же, отличаться только названием и командой запуска сервиса, но тут стоит поменять схему выбора портов для хранилищ. Тут подходим к выбору порта от версии платформ и, чтобы не пересекаться с уже запущенными сервисами, будем использовать порты выше 10000. Соответственно схема выбора порта будет 1xxxx, где xxxx — последние 4 цифры билда платформы:
- 8.3.16.1973 — порт 11973, имя службы crserver-16.1973.
- 8.3.17.2306 — порт 12306, имя службы crserver-17.2306.
- 8.3.18.1616 — порт 11616, имя службы crserver-18.1616.
- 8.3.19.1264 — порт 11264, имя службы crserver-19.1264.
Каталог с хранилищами будет один для всех, и разместим его в каталоге /var/opt/1C/crserver.
Для начала создадим каталог для хранилища:
sudo mkdir -p /var/opt/1C/crserverИ изменим владельца каталога:
sudo chown usr1cv8:grp1cv8 /var/opt/1C/crserverСоздаем Unit файл для сервиса:
sudo nano /etc/systemd/system/crserver-16.1973.serviceТак же копируем Unit файлы под другие сервисы с помощью sed заменяем параметры:
sed -e "s/8.3.16.1973/8.3.17.2306/; s/11973/12306/" /etc/systemd/system/crserver-16.1973.service | sudo tee /etc/systemd/system/crserver-17.2306.servicesed -e "s/8.3.16.1973/8.3.18.1616/; s/11973/11616/" /etc/systemd/system/crserver-16.1973.service | sudo tee /etc/systemd/system/crserver-18.1616.servicesed -e "s/8.3.16.1973/8.3.19.1264/; s/11973/11264/" /etc/systemd/system/crserver-16.1973.service | sudo tee /etc/systemd/system/crserver-19.1264.serviceПосле перечитываем списки сервисов, включаем и запускаем их:
sudo systemctl daemon-reloadfor f in /etc/systemd/system/crserver-*; do sudo systemctl enable ${f##*/} ; donefor f in /etc/systemd/system/crserver-*; do sudo systemctl start ${f##*/} ; doneТак же проверяем статус запуска:
for f in /etc/systemd/system/crserver-*; do sudo systemctl status ${f##*/} ; done
На этом установка и настройка сервисов 1С закончены.











