Share:

Самая примитивная инструкция по установке PostgreSQL + сервер 1C на Ubuntu 20.04

YPermitinвPostgreSQL

2022-03-25

#PostgreSQL

#1С:Предприятие

#установка

#инструкция

Перед стартом

Инструкция с минимальным набором шагов по настройке сервера 1С:Предприятия 8.3.20 + PostgreSQL 14 на Ubuntu 20.04. В общем плане актуальна для других версий приложений и ОС. Клиентскую часть 1С здесь не рассматриваем.

Многие вещи в инструкции не раскрыты и вся информация скорее для ознакомления с процессом, а для рабочего окружения нужно более вдумчиво подходить ко всем настройкам.

Настройка ОС

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

Обновим систему

Рекомендую поставить все последние обновления перед продолжением.

sudo apt update
sudo apt upgrade

Настройка локали

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

sudo dpkg-reconfigure locales

Далее на первом шаге выбираем из списка локаль “ru_RU.UTF-8 UTF-8”. Эту же локаль на втором шаге выбираем как локаль по умолчанию.

Часовой пояс и время

Далее установим нужный часовой пояс в системе.

sudo timedatectl set-timezone Europe/Moscow

Текущие настройки можно посмотреть так.

timedatectl show

А список доступных часовых поясов можно узнать так.

timedatectl list-timezones

Установка PostgreSQL

Теперь установим СУБД PostgreSQL. “Ванильная” версия платформой 1С не поддерживается, поэтому скачаем сборку от компании PostgresPro. Для этого идем на сайт 1c.postgres.ru, выбираем архитектуру, версию сборки, операционную систему и загружаем (будет отправлено письмо с информацией по указанным контактным данным с инструкцией по установке).

Есть сборка PostgreSQL от фирмы 1С, которую можно загрузить с официального сайта. Ее в инструкции не рассматриваем.

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

curl -o pgpro-repo-add.sh https://repo.postgrespro.ru/pg1c-14/keys/pgpro-repo-add.sh
sudo sh pgpro-repo-add.sh

И устанавливаем PostgreSQL версии 14.

apt-get install postgrespro-1c-14

Чтобы найти имя демона PostgreSQL выполним команду.

systemctl --type=service | grep postgres
# Пример вывода:
# postgrespro-1c-14.service

Теперь останавливаем сервис и удаляем созданный по умолчанию кластер.

# Останавливаем PostgreSQL
sudo systemctl stop postgrespro-1c-14
# Удаляем файлы ранее созданного при установке кластера
# Вместо 1c-14 может быть другое название каталога, в зависимости от версии.
rm -r /var/lib/pgpro/1c-14/data/*
# Инициализируем новый кластер для 1С с нужной локалью (не обязательно, если по умолчанию локаль в системе "ru_RU.UTF-8").
sudo /opt/pgpro/1c-14/bin/pg-setup initdb --tune=1c --locale=ru_RU.UTF-8
# Запускаем PostgreSQL
sudo systemctl start postgrespro-1c-14

Готово. Дополнительно, но только в качестве примера, сделаем дополнительные шаги.

  • Разрешим подключение к СУБД с любых адресов. Для этого в файле конфигурации сервера (/var/lib/pgpro/1c-14/data/postgresql.conf) изменим строчку:
    # listen_addresses = 'localhost'
    listen_addresses = '*'
  • Также разрешим подключение для всех пользователей по логину и паролю. В файле (/var/lib/pgpro/1c-14/data/pg_hba.conf) изменим разрешения для IPv4.
    # Было
    # # IPv4 local connections:
    # host all all 127.0.0.1/32 md5
    # Стало
    # IPv4 local connections:
    host all all 0.0.0.0/0 password
    host all all 127.0.0.1/32 md5

    Теперь доступ к СУБД имеется с любой машины и для любого пользователя.

  • Кстати, давайте создадим, опять же только для примера, пользователя PostgreSQL.
    sudo su postgres
    psql
  • Далее SQL-командой создаем пользователя. Для 14 версии команда будет такая (для других см. документацию):
    CREATE USER username SUPERUSER PASSWORD 'passwordstring';

Настройки выше являются небезопасными и годятся только для локальных установок с целью тестирования и изучения. Будьте осторожны!

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

Начиная с версии 8.3.20 установка стала значительно проще (хотя может и с более ранних версий). С официального сайта скачиваем версию для Linux, в нашем случае она называется:

Технологическая платформа 1С:Предприятия (64-bit) для Linux

Копируем файл на наш сервер и распаковываем архив.

# Имя архива меняется в зависимости от версии платформы 1С
tar -xvzf server64_8_3_20_1710.tar.gz
# В итоге появится файл "setup-full-8.3.20.1710-x86_64.run" для установки. Он то нам и нужен. Запускаем.
sudo ./setup-full-8.3.20.1710-x86_64.run

Программа установки интерактивно спросит язык установки, выбираем:

[16] Russian - Русский

Далее соглашаемся на выбор компонентов. Нас интересуют:

Сервер 1С:Предприятия 8 [y/N] : y
Интерфейсы на различных языках - Русский [Y/n] :y

Дожидаемся окончания процесса установки.

Пожалуйста, подождите пока программа установит 1С:Предприятие на ваш компьютер.
Установка
0% ______________ 50% ______________ 100%
#########################################
----------------------------------------------------------------------------
Завершена установка 1С:Предприятие на ваш компьютер.

После установки может потребоваться создать ссылку для службы. Перед этим проверим не создал ли установщик ссылку самостоятельно.

sudo systemctl --type=service | grep srv1cv83

Если предыдущая команда не находит службу, то создаем ее.

# Добавляем ссылку на файл службы
sudo ln -s /opt/1cv8/x86_64/8.3.20.1710/srv1cv83 /etc/init.d/srv1cv83
# Включаем службу
sudo systemctl enable srv1cv83
sudo systemctl restart srv1cv83
# Проверяем результат, состояние службы
sudo systemctl status srv1cv83

Готово! Служба установлена и работает.

● srv1cv83.service - LSB: Starts and stops the 1C:Enterprise daemons
Loaded: loaded (/etc/init.d/srv1cv83; generated)
Active: active (exited) since Thu 2022-03-24 19:45:25 UTC; 1s ago
Docs: man:systemd-sysv-generator(8)
Process: 21186 ExecStart=/etc/init.d/srv1cv83 start (code=exited, status=0/SUCCESS)
Mar 24 19:45:20 app1cpg systemd[1]: Starting LSB: Starts and stops the 1C:Enterprise daemons...
Mar 24 19:45:20 app1cpg su[21230]: (to usr1cv8) root on none
Mar 24 19:45:20 app1cpg su[21230]: pam_unix(su-l:session): session opened for user usr1cv8 by (uid=0)
Mar 24 19:45:20 app1cpg su[21230]: pam_unix(su-l:session): session closed for user usr1cv8
Mar 24 19:45:25 app1cpg srv1cv83[21186]: Starting 1C:Enterprise 8.3 server: OK
Mar 24 19:45:25 app1cpg systemd[1]: Started LSB: Starts and stops the 1C:Enterprise daemons.

И еще немного информации.

Послесловие

Как говорилось в самом начале, это лишь поверхностная инструкция по установке PostgreSQL + сервер 1С для Ubuntu 20.04. Многие аспекты даже не рассматривались:

  • Открытие портов для брэндмауэра
  • Настройка безопасности для СУБД
  • Тюнинг настроек PostgreSQL
  • Настройка использования лицензий 1С
  • И многое другое.

Но для старта информация подходящая.

Ниже ссылки на полезные материалы, в них некоторые моменты описаны более развернуто. В общем, вперед! К знаниям!

Полезные ссылки

Y

YPermitin

.NET, TSQL, DevOps, 1C:Enterprise

Developer, just developer.

Поделиться

Другие статьи

Развертывание ASP.NET Core приложений на Ubuntu Linux
Развертывание ASP.NET Core приложений на Ubuntu Linux
Настройка обслуживания PostgreSQL. Основное и простое
Настройка обслуживания PostgreSQL. Основное и простое
Счетчики производительности Windows + PowerShell
Счетчики производительности Windows + PowerShell

Все статьи от автора: YPermitin

Copyright © 2024 Убежище инженера