Bash-скрипт для установки 1С:Предприятие 8.3 и СУБД PostgreSQL на сервер CentOS 7

Данный скрипт позволяет практически полностью установить сервер 1С. В конце остается только настроить PostgreSQL для конкретного железа.

Скрипт объединяет личный опыт и различные публикации по установке 1С  и СУБД PostgreSQL на сервер под управлением CentOS 7.

Выполняет следующие действия:

  1. Отключает selinux
  2. Устанавливает необходимые пакеты
  3. Устанавливает Apache
  4. Устанавливает samba и создает сетевой каталог
  5. Устанавливает Postgres Pro и настраивает (см. https://postgrespro.ru/)
  6. Скачивает указанную платформу с releases.1c.ru (Необходимы логин и пароль доступа)
  7. Устанавливает сервер 1С и толстый клиент (если не нужен клиент, то в скрипте можно закомментировать строку на скачивание curl)
  8. Настраивает публикации информационных баз
  9. Создает пустые информационные базы в кластере
  10. Настраивает правила firewall

 

Настройка параметров установки:

Перед установкой необходимо настроить параметры в начале скрипта:

  • DATABASES="bgu;zgu;test" #Список создаваемых баз данных через ;
  • HOSTNAME="1c-srv"   # имя этого хоста для файлов публикации
  • HOST_IP="192.168.0.10"  # адрес этого для файлов публикации
  • USERNAME=’1c_user’   #Логин на портал releases.1c.ru
  • PASSWORD=’psw111111′ #Пароль на портал releases.1c.ru
  • PG_PASSWORD=’pg_pass’   #Пароль пользователя ‘postgres’
  • VER_1C=’8.3.14.1630′ #Версия устанавливаемой платформы

 

Действия перед установкой:

  • Установить CentOS 7 minimal (вообще не понимаю, зачем некоторые графическое окружение ставят)
  • Обновить командой yum update -y и перезагрузить.
  • С помощью WinSCP или другой утилиты скопировать файл install.sh на сервер.
  • Создать в этом же каталоге файл pg_tune.sql с командами вкладки "ALTER SYSTEM" https://pgtune.leopard.in.ua/ 
  • Установить права на запуск командой chmod +x ./install.sh
  • Запустить установку командой ./install.sh

* После перезагрузки настраиваем параметры PostgreSQL, например с помощью https://pgtune.leopard.in.ua/, и перезапускаем командой systemctl restart postgrespro-1c-10.service

Проверяем, набрав в браузере http://<HOST_IP>/<имя одной из баз в DATABASES>. Должна открытся пустая база (если в сети есть hasp license manager) или выдаться ошибка об отсутствии клиентских лицензий.

Далее на любой машине заливаем *.dt в созданные базы через конфигуратор.

В сетевой каталог \<HOST_IP>install копируем два архива

  • windows_8_3.zip — установщик тонкого клиента x32 (просто зипуем все файлы инсталлятора платформы)
  • windows64_8_3.zip — установщик тонкого клиента x64

 

Собственно все — можно допускать к работе пользователей

Для скачивания платформы использовал статью //infostart.ru/public/817947/

 

UPDATE: Для настройки PostgreSQL можно создать файл pg_tune.sql с командами вкладки "ALTER SYSTEM" https://pgtune.leopard.in.ua/ и выполнить команды

sudo -u postgres /opt/pgpro/1c-10/bin/psql -f  /tmp/pg_tune.sql
systemctl restart postgrespro-1c-10.service

UPDATE (13.04.2026): Изменил скрипт. Теперь перед запуском скрипта необходимо создать файл pg_tune.sql с настройками PostgreSQL. 

UPDATE (25.05.2026): 

  1. Изменил настройки сети. Теперь необходимо только указать имя хоста в переменной HOSTNAME. Скрипт при необходимости сам переименует хост и внесет адрес в файл /etc/hosts
  2. Ввел переменные: 
    • CLIENT — устанавливать толстый клиент 
    • VM_TOOLS — устанавливать open-vm-tools для ESXi
  3. Изменил конфигурационный файл samba с учетом переменной HOSTNAME.

UPDATE (26.05.2026): 

Включена установка шрифтов Microsoft Core Fonts

Спасибо за комментарии serg52

UPDATE (21.06.2026): 

Добавлено создание настроек резервного копирования. Параметры BACKUP_DIR, BACKUP_HOUR, DAY_MONTH и HISTORY_DAYS

 

 

25 Comments

  1. Senator_I

    Спасибо, интересная вещь, при случае попробую.

    Reply ↓
  2. Dmitri_1C

    Толь закончил настройку сервера на ubuntu, аналогично в планах написать скприпт, поэтому плюсую однозначно.

    Reply ↓
  3. YPermitin

    (2)

    на ubuntu, аналогично в планах написать ск

    Будет интересно взглянуть на скрипт. Если будете выкладывать, то скажите где смотреть 🙂

    Reply ↓
  4. Infactum

    Скриптам место в гите. Там и обсудить можно — наверняка есть, что улучшить.

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

    Reply ↓
  5. w.r.

    Для разовой процедуры установки наверно не надо

    Кстати, для Ubuntu, если у кого-то стоит версия PostgreSQL от 1С c DEB пакетов, рекомендую исключить пакеты из обновления командой

    sudo apt-mark hold postgre*

    Чтобы командой

    sudo apt-get upgrade

    Не затирать пакеты от 1С пакетами из репозитория postgres (если подключен для pgAdmin4 например)

    Reply ↓
  6. Sedaiko

    (5) Да изначально планировал сделать «шпаргалку» со списком комманд, так как планировалось часто поднимать тестовые сервера именно с нуля на ESXi. А потом Остапа понесло…

    Reply ↓
  7. user762380

    а можно чистую ссылку на скачивания скрипта …

    Reply ↓
  8. edelweiss

    Поддержиааю предыдущего автора, а то некоторым и вовсе скрипт не скачать, можно в личку, признателен!

    Reply ↓
  9. ArchiMozes

    Скиньте в личку пожалуйста. Заранее благодарен!

    Reply ↓
  10. v3rter

    (3)


    Будет интересно взглянуть на скрипт. Если будете выкладывать, то скажите где смотреть 🙂

    Выложите для убунты — оставьте ссылку здесь, чтобы легче было найти, если что.

    Reply ↓
  11. Kumiro

    Добрый день.

    Спасибо автору.

    Можно скрипт в личку?

    Спасибо.

    Reply ↓
  12. edelweiss

    Бесполезно, автор никак не реагирует на наши здешние сообщения, хотя я готов скинуть автору какую-то разумную сумму за труды…

    Reply ↓
  13. Sedaiko

    (12) Я хз как файл отправлять в личку

    Reply ↓
  14. serg52

    По скрипту:

    1) Нет вопросов при установке — (скачивать клиент не скачивать и.т.д ниже)

    2) Нет выбора типа сервера 32 или 64 (скрипт скачивания нужно допиливать, что с ходу лично у меня не получилось)

    3) В скрипте не все работает с ходу

    — фаервол на завёлся…. systemctl stop firewalld после этого попытаться подключиться к серверу вышло, но кластер баз данных не завёлся

    — в etc/host обязательно добавит строку 127.0.0.1 имя сервера — иначе не будет стартовать!

    Автоматом это не происходит

    127.0.0.1 localhost

    x.x.x.x 1c

    — Например samba — на виндовой машине пришлось прописывать в hosts адрес 1c сервера

    — .pg_tune.sql

    Created symlink from /etc/systemd/system/multi-user.target.wants/postgrespro-1c-10.service to /usr/lib/systemd/system/postgrespro-1c-10.service.

    ALTER ROLE

    cp: не удалось выполнить stat для «.pg_tune.sql»: Нет такого файла или каталога

    psql:/tmp/pg_tune.sql:22: ОШИБКА: ошибка синтаксиса (примерное положение: «#»)

    СТРОКА 1: # DB Version: 10

    — с базами данных не все так гладко

    Создаем базы данных в кластере……

    Ошибка установки соединения с кластером серверов

    Сервис не поддерживается

    Ошибка установки соединения с кластером серверов

    server_addr=tcp://localhost:1540 descr=[::1]:1540:111(0x0000006F): Connection refused;

    127.0.0.1:1540:111(0x0000006F): Connection refused;

    line=1056 file=./src/DataExchangeTcpClientImpl.cpp

    Ошибка разбора параметра: cluster

    Ошибка установки соединения с кластером серверов

    Сервис не поддерживается

    Ошибка установки соединения с кластером серверов

    server_addr=tcp://localhost:1540 descr=[::1]:1540:111(0x0000006F): Connection refused;

    127.0.0.1:1540:111(0x0000006F): Connection refused;

    line=1056 file=./src/DataExchangeTcpClientImpl.cpp

    Ошибка разбора параметра: cluster

    Да и для 32-х битного сервера нужны иные пакеты ImageMagick.i686, freetype.i686,libgsf.i686, glib2.i686, unixODBC.i686

    почему нет допила под ubuntu…

    Reply ↓
  15. Sedaiko

    (15)

    1. CentOS 7 — дистрибутив всегда 64 битный.

    2. Уже давно нет смысла ставить сервер 1С предприятие 32 бита

    3. С именем машины да, можно сказать косяк — я изначально при установке указываю нужное имя. Надо допилить командой hostnamectl set-hostname your-new-hostname

    4. pg_tune.sql — должен соответствовать формату sql, комментарии там не начинаются символом #

    На днях допилю с учетом Ваших заметок

    Reply ↓
  16. Sedaiko

    (15)

    почему нет допила под ubuntu

    Я конечно понимаю что при установке ubuntu можно поставить флажечки — apache, samba, mysql и php, вроде все просто.

    Но не считаю что имеет смысл использование ubuntu в качестве сервера, она больше подходит под десктопы.

    Reply ↓
  17. serg52
    2. Уже давно нет смысла ставить сервер 1С предприятие 32 б

    Я вас убеждать не буду, но смысл есть.

    Reply ↓
  18. ansh15

    (16)

    нет смысла ставить сервер 1С предприятие 32 бита

    Смысл только один — сэкономить, кажется, 36 т.р.(они же ~600 $) работодателю/клиенту на разнице стоимости лицензий.

    Reply ↓
  19. serg52

    Ждали ждали скрипт и не дождались ….

    Reply ↓
  20. serg52

    Нашёл ещё один минус скрипа

    файлы

    pg_hba.conf

    postgresql.conf

    Ложатся в скрытые папки + по умолчанию PG доступен только как localhost

    Reply ↓
  21. Sedaiko

    (20)

    Ждали ждали скрипт и не дождались

    Да добью я. после праздников аврал

    Reply ↓
  22. Sedaiko

    (21)

    по умолчанию PG доступен только как localhost

    Дык и планировалось с ставить кластер на одной машине :

    —db-server=127.0.0.1

    Более сложные системы всегда нужно настраивать вручную

    Reply ↓
  23. Sedaiko

    (20) Подшаманил кое-что.

    Reply ↓
  24. serg52

    Скрипт уже отличный но можно местами улучшить.

    1) Например допилить настройку скрипта в интерактив — вопрос — ответ. Т.е введите ваш логин от портала 1с, введите ваш пароль, укажите имя хоста, введите сколько баз вы хотите по умолчанию баз, введите название баз 1,2,3

    Выберите версию сервера из последних 5-и.

    2) Без msttcore-fonts-installer этого пакета шрифты не будут красивыми

    По любому нужен пакет шрифтов…. В том или ином виде.

    Reply ↓
  25. Sedaiko

    (25) msttcore-fonts собираюсь, а интерактив не буду, смысла не вижу

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *