1с SQL + PostgreSql + Ubuntu Server 26

Установка 1с сервера и СУБД Postgre на Linux, в частности Ubuntu server 26

1с SQL + PostgreSql + Ubuntu Server 26

Добрый день.

Пора кончать с мелкомягкими и опять рубить хардкор. Вспоминаем консоль. Кто не сталкивался - изучаем, привыкаем.

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

1 Сначала тюним Убунту

sudo dpkg-reconfigure locales

выбираем ru_RU.UTF-8 UTF-8

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

sudo apt install ttf-mscorefonts-installer fontconfig

3. Устанавливаем утилитку для работы с изображениями. В интрнетах и на фурумах пишут, что она 1С нужна.

sudo apt install imagemagick curl

Установка PostgreSQL Pro

Переходим по ссылке на сайт Постгри

https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2F1c.postgres.ru%2F%3Fref%3Dvc.ru&postId=587130

Я выбрал 18 версию, вот такими действиями:

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

wget https://repo.postgres.ru/1c/1c-18/keys/pgpro-repo-add.sh

Устанавливаем утилитку gnupg2 (без нее будет ошибка у 1С)

apt-get install gnupg2

Запускаем скрипт, скачаный выше

sh pgpro-repo-add.sh

устанавливаем сам субд

Если  Postgres единственный на вашей машине и вы хотите сразу получить готовую к употреблению базу:

apt-get install postgrespro-1c-18

Если у вас уже установлен другой Postgres и вы хотите чтобы он продолжал работать параллельно (в том числе и для апгрейда с более старой major-версии):

apt-get install postgrespro-1c-18-contrib
/opt/pgpro/1c-18/bin/pg-setup initdb
/opt/pgpro/1c-18/bin/pg-setup service enable
/opt/pgpro/1c-18/bin/pg-setup service start

Проверим состояние сервера Postgre:

systemctl status postgrespro-1c-18

должен быть active

Настройка PostgreSQL Pro

Добавляем службу в автозагрузку:

systemctl enable postgrespro-1c-18

Сразу вхожу под новым узером postgres:

sudo -u postgres psql

Новый пароль пользователю postgres. Я использовал такой же, как пользователь. Но вы придумайте сложный и запомните. Через год два придется вспоминать.

\password postgres

Теперь правим hba_file

ищем его расположение

SHOW hba_file;

Выдал:

/var/lib/pgpro/1c-18/data/pg_hba.conf (1row)

Редактируем его

nano /var/lib/pgpro/1c-13/data/pg_hba.conf

Ищем строку:

host      all          all                  127.0.0.1/32      md5

правим ее или же комментим и ниже добаваляем:

host      all          all                  192.168.1.22/24      md5

где 192.168.1.22 - ip адрес моего сервера (он же у вас статический? Если забыли, то сейчас же пропишите его).

Или скажите вашему маршрутизатору, чтоб маку всешей сетевой карты выдавал именно этот адрес. А то будете днём с огнём искать, а что же 1с перестала коннектиться к базе.

сохраняем.

Проверим в начале c какого IP принимаются подключения, и какой порт слушает сервис PostgreSQL.

sudo ss -tulnp | grep postgres

Далее, чтоб избежать ошибок подключения в будущем, правим postgresql.conf

Ищем строку #listen_addresses = ‘localhost’

 

раскомментим ее и правим следующим образом

listen_addresses = ‘*’

Чтобы СУБД принимала запросы и с других компов.

далее перезапустим службу

systemctl restart postgrespro-1c-18

Далее открываем порты:

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 5432 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 5432 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 443 -j ACCEPT
iptables -I INPUT 1 -p tcp --dport 1540:1541 -j ACCEPT
iptables -I INPUT 1 -p tcp --dport 1560 -j ACCEPT

Или же

sudo ufw allow 80/tcp

и далее по списку.

Перезапустим сервер, стартует ли всё автоматом.

должно быть active.

Далее пробуем цепануться к нашей базе postgres c помощью Dbeaver

База данных-Создать новое соединение, выбираем PostgreSQL(Слоник) - далее

Пишем имя хоста или ip 192.168.1.22

База данных: postgres

Пользователь: postgres

Пароль: postgres

У меня сразу цепанулось. Ура!

Можно проверить telnet-ом

telnet 192.168.1.22 1541

должно подключиться. Если выдал сбой, то проверяйте открыты ли порты.

 

Установка дополнительных компонентов

Помимо шрифтов нужны доп. компоненты. 

sudo apt-get install imagemagick
sudo apt-get install unixodbc
sudo apt-get install libgsf-1-114
sudo apt-get update

 

 

Установка сервера 1С

Теперь скачиваем дистриб с оф сайта 1с Технологическая платформа 1С:Предприятия (64-bit) для Linux. Думаю, все в курсе. "Кто знает, тот в курсе", как говорил Михаил Яковлев.

2. Кидаем архив мыслимыми и немыслимыми способами на свой Linux сервер. Я буду использовать свежескачанный и установленный Ubuntu Server 26 с поднятой самбой. (Я пока не готов к астре.). Копирую вставляю в расшареную самба папку.

3. Распаковываем архив deb64_8_3_27_2214.zip в папку /tmp:

sudo unzip deb64_8_3_27_2214.zip /tmp

ls

видим много *.deb файлов

Устанавливаем все deb пакеты

sudo apt install ./*.deb

 

Для регистрации юнита службы выполним команду:

sudo systemctl link/opt/1cv8/x86_64/8.3.27.2214/srv1cv8-8.3.27.2214@default.service

Затем добавим сервис в автозагрузку:

 

sudo systemctl enable srv1cv8-8.3.27.2214@

Для управления службой «Сервера 1С» мы можем использовать стандартные команды systemd:

sudo systemctl start srv1cv8-8.3.27.2214@default – Запуск службы

sudo systemctl stop srv1cv8-8.3.27.2214@default – Остановка службы

sudo systemctl restart srv1cv8-8.3.27.2214@default – Перезапуск службы

sudo systemctl status srv1cv8-8.3.27.2214@default – Состояние службы

 

Установка Технологической платформы

Установка технологической платформы на клиент

Снова идем в https://releases.1c.ru и скачиваем файл Технологическая платформа 1С:Предприятия (64-bit) для своей ОС. (На картинке версия не как у меня в статье, скриншоты не мои, у меня старая версия просто потому, что она у меня была диске)

Внимание! Берем установщик именно полной технологической платформы. Ибо если у вас есть просто тонкий клиет - 1С скажет, что не может понять какой версии ваш сервер. При этом установщик платформы для клиента, должен совпадать с версией вашего сервера. У меня сервак 8.3.27.2214 и техплатформа под виндой тоже 8.3.27.2214.

 

Запускаем установщик. Из скачанного архива windows64full.... запускаем. setup.exe.

Внимание! В данном окне обязательно выбираем установку Администрирование сервера 1С:Предприятия. Остальное можно оставить по умолчанию, или ставить по вашим потребностям.

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

Делее прожимаем "далее", и оставляем все по умолчанию. После установки в меню пуск находим ссылку Регистрация утилиты администрирования серверов (версия) и запускаем ее от имени администратора (лично я в пуске нашел):

 
Рисунок 12. Регистрация утилиты администрирования
Рисунок 12. Регистрация утилиты администрирования

Открылась CMD и сразу закрылась, теперь у нас на компе есть доступ к панели Администрирования серверов 1С.

Ищем и запускаем утилиту Администрирование серверов 1С Предприятия:

 
Рисунок 13. Утилита для администрирования серверов 1С
Рисунок 13. Утилита для администрирования серверов 1С

В открывшемся окне кликаем правой кнопкой мыши по Central 1C:Enterprise 8.3 servers - выбираем: "Создать" -> "Центральный сервер 1С:Предприятие 8.3" - Пишем имя сервера 1С или его IP-адрес:

 
Рисунок 14. Подключение к центральному серверу
Рисунок 14. Подключение к центральному серверу

Пишем IP-адрес сервера (адрес бубунты, на которой крутиться наш сервак):

 
Рисунок 15. Подключение к новому центральному серверу
Рисунок 15. Подключение к новому центральному серверу

... и нажимаем OK. В панели управления появится подключение — переходим в раздел: "Кластеры" -> "Локальный кластер" -> кликаем правой кнопкой по Информационные базы: выбираем: "Создать" -> "Информационная база".

 
Рисунок 16. 
Рисунок 16. 

Заполняем параметры для создания новой базы:

 
Рисунок 16. Создание новой информационной базы на сервере
Рисунок 16. Создание новой информационной базы на сервере

* в данном примере нами были заполнены:

  • Имя — задаем произвольное имя для подключения к базе.
  • Сервер баз данных — имя или IP-адрес базы. Задаем ip, нашей бубенты, где крутиться сервак 1С.
  • Тип СУБД — выбираем PostgreSQL.
  • База данных — имя базы данных.
  • Пользователь сервера БД — пользователь, под которым будет выполняться подключение к базе. В нашем примере postgres.
  • Пароль пользователя БД — пароль для базы, который мы задали после установки СУБД.
  • Создать базу данных в случае ее отсутствия — ставим галочку, чтобы база была создана.

База должна создастся, изначально я создал базу с именем Damo1 (накосячил с названием, ночь все таки) и сразу проверил, что она есть на сервере PostgreSQL. Посмотреть можно через DBeaver или PGAdmin.

 
Рисунок 17. Создание новой информационной базы на сервере
Рисунок 17. Создание новой информационной базы на сервере

Теперь запускаем 1С клиент и добавляем новую базу - при добавлении выбираем Добавление в список существующей информационной базы:

 
Рисунок 18. Добавление уже существующей бащы в платформу
Рисунок 18. Добавление уже существующей бащы в платформу

Указываем произвольное имя информационной базы, а также выбираем тип расположения базы На сервере 1С:Предприятия:

 
Рисунок 19. Подключаемся к серверу
Рисунок 19. Подключаемся к серверу

Нажимаем Далее и Готово. Запускаем конфигуратор, загружаем базу и пользуемся, хотел бы я сказать - но увидел сообщение о том что моя лицензия (клиентская) протухла.

 
Рисунок 20. Получение лицензии
Рисунок 20. Получение лицензии

 

 
 

А еще я познал новую боль - время отладки одной команды - заняло пару минут

Заменил сообщить на ПоказатьОповещениеПользователя и пусто.

Мне не нравиться, что команда ПоказатьОповещениеПользователя("Привет, мир!",,"В самом деле привет!"); - не работает. Поэтому я снова на сервере переустановил шрифты (оказалось, что шрифты реально не были установлены, все таки кривые руки дают о себе знать)

Выполнил на Бубунте:

apt-get -y install ttf-mscorefonts-installer fc-cache –fv

Запустил конфигурацию, сообщения - нет. Ребутнул Убунту - сообщения нет ). Перезапустил клиент - сообщения нет ). Сделал три удара в бубен - сообщения нет (обычно бубен с ошибками в 1С, магическим образом их решал)

Заменил ПоказатьОповещениеПользователя предупреждение, и о чудо есть сообщение - бубен помог.

 
Рисунок 23. Предупреждение пользователя
Рисунок 23. Предупреждение пользователя

 

 



Рубрика:   IT и технологии