Инструкция с минимальным набором шагов по настройке сервера 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. "Ванильная" версия платформой 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';
Настройки выше являются небезопасными и годятся только для локальных установок с целью тестирования и изучения. Будьте осторожны!
Начиная с версии 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С
- И многое другое.
Но для старта информация подходящая.
Ниже ссылки на полезные материалы, в них некоторые моменты описаны более развернуто. В общем, вперед! К знаниям!
- УСТАНОВКА СЕРВЕРА 1С НА UBUNTU 20.04
- От экспертов «1С‑Рарус»: Установка серверной части 1С в Linux среде
- Поднимаем сервер 1С на UBUNTU и PostgreSQL за 20 минут
- Установка и настройка нескольких экземпляров сервера 1С: Предприятия 8.3 разных релизов на одном Ubuntu-server
- Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана