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

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

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

  • Установка новейшей версии 1С на 12.12.2024г. Версия 8.3.26.1498 . Этот шаг не должен вызвать затруднений для опытного одинэсника.
  • Если уже установлен PosygreSQL , удалим его. Будьте аккуратны, если есть базы данных, которые используете, сделайте бэкап. Пути и версии установленного postgresql указываете свои:
# Останавливаем сервис 
sudo systemctl stop postgresql 

# Удаляем пакеты PostgreSQL 
sudo apt remove postgresql postgresql-15 postgresql-client-15 
sudo apt purge postgresql postgresql-15 postgresql-client-15 

# Удаляем конфигурационные файлы и данные (будьте осторожны - это удалит все базы данных!) 
sudo rm -rf /var/lib/postgresql/ 
sudo rm -rf /etc/postgresql/
sudo rm /etc/apt/sources.list.d/pgdg.list

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

  • Сначала добавим ключ репозитория (Все ссылки мне подсказал ИИ, я только выбрал версию 17, а не 16, которую предложил ИИ ):
wget https://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO
sudo apt-key add GPG-KEY-POSTGRESPRO
  • Если и это не сработает, можно попробовать напрямую получить ключ через HTTPS:
curl -fsSL https://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO | sudo gpg --dearmor -o /usr/share/keyrings/postgrespro-1c.gpg
  • И затем добавить репозиторий с указанием пути к ключу:
echo "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

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

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

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

Удалим старый ключ:

sudo apt-key del "Postgres Pro"

Добавим ключ в новом формате:

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

Обновим файл источника с указанием нового расположения ключа:

echo "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


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

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

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

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

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

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

sudo -u postgres psql 
# В консоли PostgreSQL выполнить: 
ALTER USER postgres WITH PASSWORD 'новый_пароль'; 
# Выйти из консоли 
\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.

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

sudo mkdir -p /var/1C/licenses/

Затем дал прочитать Claude вывод команды:

$ /opt/1C/1CE/components/1c-enterprise-ring-0.19.5+12-x86_64/ring license activate help

На основании этой справки он выдал мне команду для регистрации лицензии:

sudo /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"

Проверим создана ли лицензия:

/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


[NH_COMMON]
NH_IPX = Disabled
NH_NETBIOS = Disabled
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 127.0.0.1
NH_TCPIP_METHOD = TCP
NH_USE_BROADCAST = Disabled

[NH_SERVER_ADDR]
NH_SERVER_NAME = 127.0.0.1


Настройка прав доступа к каталогу лицензий:

sudo chown -R usr1cv8:grp1cv8 /var/1C/licenses 
sudo chmod -R 775 /var/1C/licenses

Добавление пользователя в группу для доступа к USB:

sudo usermod -a -G plugdev usr1cv8

Перезапуск сервера 1С:

sudo systemctl restart srv1cv8-8.3.26.1498@default.service

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



И база готова!!!