,  PostgreSQL,  Linux

1C Мини-сервер Linux Postgres Pro AI Claude

Author

NMitin

Date Published

ви

Шаги по установке сервера 1С:Предприятие на Linux MX-23.4 (KDE Plasma, system.d) и базы данных на Postgres Pro

Существенную помощь в успешном осуществлении описанного процесса оказало использование AI Claude .

Установка новейшей версии 1С на 12.12.2024г. Версия 8.3.26.1498 . Этот шаг не должен вызвать затруднений для опытного одинэсника.

Если уже установлен PosygreSQL , удалим его. Будьте аккуратны, если есть базы данных, которые используете, сделайте бэкап. Пути и версии установленного postgresql указываете свои:


1# Останавливаем сервис
2sudo systemctl stop postgresql
3
4# Удаляем пакеты PostgreSQL
5sudo apt remove postgresql postgresql-15 postgresql-client-15
6sudo apt purge postgresql postgresql-15 postgresql-client-15
7
8# Удаляем конфигурационные файлы и данные (будьте осторожны - это удалит все базы данных!)
9sudo rm -rf /var/lib/postgresql/
10sudo rm -rf /etc/postgresql/
11sudo rm /etc/apt/sources.list.d/pgdg.list

Давайте настроим репозиторий Postgres Pro для 1C. Это более надёжный способ установки, так как все зависимости будут разрешены автоматически.

Сначала добавим ключ репозитория (Все ссылки мне подсказал ИИ, я только выбрал версию 17, а не 16, которую предложил ИИ ):

https://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO apt-key add GPG-KEY-POSTGRESPRO

Если и это не сработает, можно попробовать напрямую получить ключ через HTTPS:

https://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO | sudo gpg --dearmor -o /usr/share/keyrings/postgrespro-1c.gpg

И затем добавить репозиторий с указанием пути к ключу:

https://repo.postgrespro.ru/1c/1c-17/debian bookworm main" | sudo tee /etc/apt/sources.list.d/postgrespro-1c.list

Тут система предупредила об устаревшем методе хранения ключей. Вот что на это ответил Claude:

Это предупреждение не критичное, но оно указывает на использование устаревшего метода хранения ключей GPG. Система APT постепенно отказывается от использования единого хранилища ключей /etc/apt/trusted.gpg в пользу отдельных файлов в каталоге /usr/share/keyrings/.

Если хотите следовать современным рекомендациям, можно обновить способ хранения ключа:


1#Удалим старый ключ:
2
3sudo apt-key del "Postgres Pro"
4#Добавим ключ в новом формате:
5
6curl -fsSL https://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO | sudo gpg --dearmor -o /usr/share/keyrings/postgrespro-1c.gpg
7#Обновим файл источника с указанием нового расположения ключа:
8
9echo "deb [signed-by=/usr/share/keyrings/postgrespro-1c.gpg] https://repo.postgrespro.ru/1c/1c-17/debian bookworm main" | sudo tee /etc/apt/sources.list.d/postgrespro-1c.list
10

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


1sudo apt update
2sudo apt install postgrespro-1c-17
3sudo systemctl status postgrespro-1c-17

Однако я сразу сделаю здесь замечание, поскольку проверил, убедился, что будут проблемы, нашел решение и показываю его здесь. К этому решению пришел уже при повторной установке. После sudo apt update откройте менеджер пакетов и увидите примерно такую картину:


fig1

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

Postgres заработал сразу.

Установим пароль для пользователя postgres. Он будет создавать базы в 1С.


1sudo -u postgres psql
2# В консоли PostgreSQL выполнить:
3ALTER USER postgres WITH PASSWORD 'новый_пароль';
4# Выйти из консоли
5\q

На всякий случай конфигурационные файлы будут здесь:

/var/lib/pgpro/1c-17/data/postgresql.conf - основной файл конфигурации

/var/lib/pgpro/1c-17/data/pg_hba.conf - файл настройки аутентификации

но я принципиально не стал их менять, несмотря на то, что рекомендаций со стороны ИИ было достаточно. Нужно было проверить сначала чистую установку.

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

Утилита лицензирования 1С:Предприятия для Linux (64-bit)

Нужен JDK.

Создадим каталог для хранения лицензий :


1sudo mkdir -p /var/1C/licenses/
2#Затем дал прочитать Claude вывод команды:
3
4$ /opt/1C/1CE/components/1c-enterprise-ring-0.19.5+12-x86_64/ring license activate help
5#На основании этой справки он выдал мне команду для регистрации лицензии:
6
7sudo /opt/1C/1CE/components/1c-enterprise-ring-0.19.5+12-x86_64/ring license activate --first-name "Николай" --middle-name "Владимирович" --last-name "Митин" --email "my_mail@mail.ru" --pin 012345678901234 --country "RU" --serial 1234567890 --street "Home address" --town "Moscow" --zip-code "101000" --house "1" --building "1" --apartment "1"
8#Проверим создана ли лицензия:
9
10/opt/1C/1CE/components/1c-enterprise-ring-0.19.5+12-x86_64/ring license list

Несмотря на ошибки Java (они связаны с попыткой получить MAC-адрес), мы видим, что лицензия присутствует в системе:

012345678901234

ХХХХХХХХХХХХХХХ-ХХХХХХХХХХХХ (имя файла: "20241212124451.lic")


У меня есть USB-ключ разработчика, но с серверной базой он не стал работать. Как была решена эта проблема:

Создать файл /opt/1cv8/conf/nethasp.ini


1[NH_COMMON]
2NH_IPX = Disabled
3NH_NETBIOS = Disabled
4NH_TCPIP = Enabled
5
6[NH_TCPIP]
7NH_SERVER_ADDR = 127.0.0.1
8NH_TCPIP_METHOD = TCP
9NH_USE_BROADCAST = Disabled
10
11[NH_SERVER_ADDR]
12NH_SERVER_NAME = 127.0.0.1


1#Настройка прав доступа к каталогу лицензий:
2
3sudo chown -R usr1cv8:grp1cv8 /var/1C/licenses
4sudo chmod -R 775 /var/1C/licenses
5#Добавление пользователя в группу для доступа к USB:
6
7sudo usermod -a -G plugdev usr1cv8
8#Перезапуск сервера 1С:
9
10sudo systemctl restart srv1cv8-8.3.26.1498@default.service

Далее типичные действия по созданию базы 1С:


adddb
adddb2


ви