1. Главная страница » Компьютеры » 1C сервер на linux postgresql

1C сервер на linux postgresql

Автор: | 16.12.2019

Доброго времени суток.

Сегодня буду настраивать связку 1с 8.3 + PostgreSQL 10.9_5.1C + Ubuntu Server 16.04.6 amd64.

Итак, мы имеем хост ESXi, на котором я разверну 2 виртуалки с Ubuntu 16.04.6 x64.

Для корректной отработки скрипта установки рекомендую при установке создать пользователя grif с правами sudo. В дальнейшем создадите своего и удалите пользователя grif, либо придется исправить в скрипте все упоминания о пользователе grif на имя вашего пользователя..

В скрипте автоматически скачиваются с моего сайта и устанавливаются haspd-modules_7.90-eter1ubuntu_amd64.deb и haspd_7.90-eter1ubuntu_amd64.deb.
В случае необходимости установки новых/других версий просто закомментируйте нижеприведенные строки символом # в начале строки и установите самостоятельно нужную версию:

После окончания установки Ubuntu 16.04.6 открываем Putty и ssh к серверу:

1. Настройка сервера 1с

Настроим статический ip и для этого определяем имя сетевого адаптера

У меня он называется ens192. Далее редактируем файл, отвечающий за настройки сети:

и приводим его к следующему виду (подставляйте свои значения параметров сети):

Где 192.168.0.61 — адрес сервера предприятия в локальной сети
255.255.252.0 — маска сети
192.168.0.88 — шлюз по умолчанию
192.168.0.4 8.8.8.8 1.1.1.1 — адреса DNS-серверов через пробел (192.168.0.4 — мой DNS-сервер в локалке)

В папку /home/grif/Downloads любым привычным вам способом (например, WinSCP) положить файлы 1с (скачать с серверов 1с при наличии подписки ИТС):
deb64_8_3_15_1656.tar.gz
client_8_3_15_1656.deb64.tar.gz
и файл скрипта настройки 1c-SRV-i.sh.

Далее ставим бит исполнения и выполняем скрипт настройки:

Когда появится окошко с подтверждением при установке шрифтов нужно будет нажать TAB и Enter, на следующем окне тоже TAB и Enter.
После завершения выполнения скрипта сервер автоматически перезагрузится. Теперь переходим к настройке сервера баз данных.

2. Настройка сервера PostgreSQL

Для корректной отработки скрипта установки рекомендую при установке создать пользователя grif с правами sudo. В дальнейшем создадите своего и удалите пользователя grif, либо придется исправить в скрипте все упоминания о пользователе grif на имя вашего пользователя..

После окончания установки Ubuntu 16.04.6 открываем Putty и ssh к серверу:

Настроим статический ip и для этого определяем имя сетевого адаптера

У меня он называется ens192. Далее редактируем файл, отвечающий за настройки сети:

и приводим его к следующему виду (подставляйте свои значения параметров сети):

Где 192.168.0.62 — адрес сервера предприятия в локальной сети
255.255.252.0 — маска сети
192.168.0.88 — шлюз по умолчанию
192.168.0.4 8.8.8.8 1.1.1.1 — адреса DNS-серверов через пробел (192.168.0.4 — мой DNS-сервер в локалке)

В папку /home/grif/Downloads любым привычным вам способом (например, WinSCP) положить файлы (скачать с серверов 1с при наличии подписки ИТС):
postgresql_10.9_5.1C_amd64_deb.tar.bz2
postgresql_10.9_5.1C_amd64_addon_deb.tar.bz2
Также скачиваем скрипт и кладём туда же (/home/grif/Downloads):
1c-SQL-i.sh

Далее ставим бит исполнения и выполняем скрипт настройки:

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

Ниже приведу настройки для сервера SQL с 16Gb оперативы. Умножайте значения памяти если у вас на сервере ее больше.
Открываем файл на редактирование

и добавляем в конец файла:

Сохраняем, закрываем и перезапускаем сервер.
В результате вы должны получить 2 виртуальные машины на ОС Ubuntu server 16.06.
1с-SRV (192.168.0.61) и 1с-SQL (192.168.0.62). Далее ставим на виндовую тачку виртуалку платформу той же версии и не забываем при установке отметить консоль администрирования и т.д. и т.п. .

Небольшое отступление:
Порой происходит так, что после "замораживания" виртуальной машины при резервном копировании средствами скриптов GhettoVCB сервис postgresql не стартует.
На этот случай я просто и надёжно добавляю в крон задание проверки статуса службы с ее последующим запуском в случае состояния, отличного от active .

Создаем простенький файл скрипта прямо в домашней папке (переложите по желанию) и добавляем следующее содержимое:

Читайте также:  Dd wrt мощность передатчика

Делаем файл исполняемым и добавляем наше задание в крон с интервалом проверки в 1 минуту:

Надеюсь, что у вас всё получилось.
Если же нет, то добро пожаловать в раздел КОНТАКТЫ

1" :pagination="pagination" :callback="loadData" :options="paginationOptions">

Технический блог специалистов ООО"Интерфейс"

  • Главная
  • Установка PostgreSQL-1C на платформу Linux (Ubuntu/Debian)

Установка PostgreSQL-1C на платформу Linux (Ubuntu/Debian)

  • Автор: Уваров А.С.
  • 08.10.2015

Рассматривая установку сервера 1С:Предприятие на платформе Linux нельзя обойти вниманием вторую важную компоненту — систему управления базами данных, наиболее популярной из которых для данной платформы является PostgresSQL. В наших прошлых материалах мы использовали сборки от компании Ethersoft, это было связано с тем, что 1С предоставляла готовые пакеты только для RPM-совместимых систем, теперь ситуация изменилась и можно свободно скачать официальные пакеты для Ubuntu Server/Debian.

Прежде чем продолжать, напомним, что сервер СУБД является независимой частью клиент-серверной системы 1С:Предприятие и никак не связан по настройкам и зависимостям с самим сервером 1С, т.е. вы можете установить PostgreSQL как на одну физическую машину с сервером 1С, так и на разные.

Второе важное замечание, мы не видим смысла использовать 32-разрядную версию Postgres, разве что в учебно-ознакомительных целях, при этом нет никакого требования на совпадение разрядности сервера 1С и сервера СУБД, это значит, что вы можете успешно совмещать 32-разрядный сервер 1С и 64-разрядный Postgres, в том числе и на одном физическом сервере. Про установку 32-разрядного сервера на 64-разрядную платформу мы рассказывали в одной из предыдущих статей.

В нашем примере будет использоваться сервер под управлением Ubuntu Server 14.04 или Debian 8, все незначительные отличия между системами будут оговариваться отдельно.

Откуда получить дистрибутив Postgres для работы с 1С:Предприятием? С официального сайта, напомним, что стандартная версия PostgreSQL с 1С работать не будет, требуется специальная сборка с патчами от компании. На странице загрузки представлено довольно много версий, для всех платформ и разрядностей. Нас интересует только версия DEB для систем x86-64, архив с дополнительными модулями не потребуется.

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

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

В Ubuntu Server выполните:

затем установите язык по умолчанию:

и завершите настройку:

В Debian немного проще:

Данная команда вызывает псевдографическую утилиту при помощи которой следует выбрать локали en_US ISO-8859-1, en_US.UTF-8 и ru_RU.UTF-8

По умолчанию выбираем ru_RU.UTF-8

Для применения изменений обе системы потребуется перезагрузить.

Правильно настроив региональные параметры перейдем к зависимостям. Нам потребуются пакет ssl-cert и библиотеки libxslt и libicu, с первыми двумя все просто:

А вот дальше есть небольшие сложности. В отличие от сборки Ethersoft, которая умела подтягивать по зависимостям текущую версию libicu, сборка от 1С "прибита гвоздями" к определенной версии библиотеки, точно узнать необходимую версию можно из документации, устанавливаемая нами версия PostgreSQL 9.4.2-1.1C требует libicu48, в то время как в репозиториях присутствует более новая версия. Решение простое — скачать и установить требуемый пакет вручную, его можно получить здесь: libicu48_4.8.1.1-3_amd64.deb.

Будем считать, что скачанный пакет находится в домашней директории, перейдем туда и установим его.

Теперь можно переходить к установке непосредственно PostgreSQL, архив с которой также должен находиться в вашей домашней папке, распакуем его:

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

Требуемая последовательность установки такова:

После установки требуется произвести некоторые настройки, в частности установить пароль суперпользователю СУБД postgres, для этого откроем /etc/postgresql/9.4/main/pg_hba.conf и найдем в нем строку:

Читайте также:  Monster hunter world обзор игромания

и приведем ее к виду:

Теперь установим пароль командой:

где password — желаемый пароль и еще раз перезапустим PostgreSQL.

На этом настройку сервера СУБД можно считать законченной. Но остается один момент, для того, чтобы к нему можно было обращаться по сетевому имени, следует добавить соответствующую A-запись на DNS-сервер предприятия или запись в файл hosts тех ПК, которые будут работать с данным сервером. Напомним, что с сервером СУБД работает исключительно сервер 1С и если вы добавляете записи в файл hosts, то делать это нужно прямо на сервере 1С, а не на клиентских ПК.

Также к серверу СУБД, в отличие от сервера 1С, можно обращаться по IP-адресу, а если PostgreSQL и сервер 1С находятся на одной машине, то в качестве имени сервера правильным будет использовать localhost.

Как видим, сложной установку PostgreSQL-1C назвать нельзя, однако от вас потребуется определенная внимательность и строгое выполнение последовательности установки пакетов.

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

Установка PostgreSQL

В начале нужно установить необходимые локали и определить локаль по умолчанию. Локали определяют используемые в системе языки, а также всякие региональные особенности — форматы чисел, даты и времени, денежные знаки и прочее. Локаль по умолчанию должна совпадать с языком базы данных, которая будет создана сервером 1С при создании информационной базы.

sudo dpkg-reconfigure locales

Выбор ru_RU локали Выбор локали по умолчанию

Далее установим библиотеку 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

Затем нужно выполнить следующие команды:

wget —quiet -O — https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add —

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 10 на Ubuntu 16.04/18.04

Настройка PostgreSQL

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

От имени суперпользователя открываем файл /etc/postgresql/10/main/pg_hba.conf и меняем в нем строку:

local all postgres peer

local all postgres trust

Это позволит войти под пользователем postgres без пароля.

Кроме этого можно открыть файл /etc/postgresql/10/main/postgresql.conf (тоже от имени супер пользователя) и поменять в нем строку:

Это ограничит подключения к PostgreSQL локальной машиной. Таким образом, если сервер 1С и PostgreSQL находятся на разных компьютерах, то это либо вообще не нужно делать, либо вместо «*» нужно указать IP-адрес сервера 1С.

После всех этих манипуляций перезапускаем сервер PostgreSQL:

sudo service postgresql restart

Теперь у нас есть возможность поменять пароль суперпользователя postgres:

psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD ‘password’"

Отключаем безпарольный доступ: вновь от имени суперпользователя открываем файл /etc/postgresql/10/main/pg_hba.conf и меняем в нем строку:

local all postgres trust

local all postgres md5

В заключении еще раз перезапускаем сервер:

sudo service postgresql restart

Читайте также:  Motorola moto g4 xt1622

Установка сервера 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 в процессе установки попросит принять лицензионное соглашение:

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:WindowsSystem32driversetchosts нужно добавить строки:

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

Дополнительные настройки

Все приведенные ниже действия не являются обязательными.

Установка 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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *