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

Публикация № 1039553

Администрирование - Сервисные утилиты

Linux CentOS PostgreSQL

38
Данный скрипт позволяет практически полностью установить сервер 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 SYSTEMhttps://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.it-titan.ru/public/817947/

 

UPDATE: Для настройки PostgreSQL можно создать файл pg_tune.sql с командами вкладки "ALTER SYSTEMhttps://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.2019): Изменил скрипт. Теперь перед запуском скрипта необходимо создать файл pg_tune.sql с настройками PostgreSQL. 

UPDATE (25.05.2019): 

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

UPDATE (26.05.2019): 

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

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

38

Скачать файлы

Наименование Файл Версия Размер
Bash-скрипт для установки 1С:Предприятие 8.3 и СУБД PostgreSQL на сервер CentOS 7:
.sh 12,06Kb
13.04.19
6
.sh 12,06Kb 6 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Senator_I 08.04.19 08:00 Сейчас в теме
Спасибо, интересная вещь, при случае попробую.
2. Dmitri_1C 108 08.04.19 18:47 Сейчас в теме
Толь закончил настройку сервера на ubuntu, аналогично в планах написать скприпт, поэтому плюсую однозначно.
Sedaiko; YPermitin; +2 Ответить
3. YPermitin 2519 08.04.19 20:10 Сейчас в теме
(2)
на ubuntu, аналогично в планах написать ск


Будет интересно взглянуть на скрипт. Если будете выкладывать, то скажите где смотреть :)
10. v3rter 12.04.19 10:00 Сейчас в теме
(3)

Будет интересно взглянуть на скрипт. Если будете выкладывать, то скажите где смотреть :)
Выложите для убунты - оставьте ссылку здесь, чтобы легче было найти, если что.
YPermitin; +1 Ответить
4. Infactum 279 08.04.19 21:42 Сейчас в теме
Скриптам место в гите. Там и обсудить можно - наверняка есть, что улучшить.
Стартмани правда так срубить будет куда сложнее.. да..
user1004034; tsukanov; webuzel; Sedaiko; +4 Ответить
5. w.r. 213 09.04.19 12:21 Сейчас в теме
Для разовой процедуры установки наверно не надо

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

sudo apt-mark hold postgre*


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

sudo apt-get upgrade


Не затирать пакеты от 1С пакетами из репозитория postgres (если подключен для pgAdmin4 например)
6. Sedaiko 54 09.04.19 13:15 Сейчас в теме
(5) Да изначально планировал сделать "шпаргалку" со списком комманд, так как планировалось часто поднимать тестовые сервера именно с нуля на ESXi. А потом Остапа понесло...
7. user762380 09.04.19 20:26 Сейчас в теме
а можно чистую ссылку на скачивания скрипта ...
8. edelweiss 10.04.19 12:36 Сейчас в теме
Поддержиааю предыдущего автора, а то некоторым и вовсе скрипт не скачать, можно в личку, признателен!
9. ArchiMozes 11.04.19 10:00 Сейчас в теме
Скиньте в личку пожалуйста. Заранее благодарен!
11. Kumiro 24.04.19 05:59 Сейчас в теме
Добрый день.
Спасибо автору.
Можно скрипт в личку?
Спасибо.
12. edelweiss 24.04.19 18:52 Сейчас в теме
Бесполезно, автор никак не реагирует на наши здешние сообщения, хотя я готов скинуть автору какую-то разумную сумму за труды...
14. Sedaiko 54 26.04.19 10:15 Сейчас в теме
(12) Я хз как файл отправлять в личку
15. serg52 28.04.19 11:58 Сейчас в теме
По скрипту:

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...
16. Sedaiko 54 28.04.19 23:42 Сейчас в теме
(15)
1. CentOS 7 - дистрибутив всегда 64 битный.
2. Уже давно нет смысла ставить сервер 1С предприятие 32 бита
3. С именем машины да, можно сказать косяк - я изначально при установке указываю нужное имя. Надо допилить командой hostnamectl set-hostname your-new-hostname
4. pg_tune.sql - должен соответствовать формату sql, комментарии там не начинаются символом #

На днях допилю с учетом Ваших заметок
19. ansh15 29.04.19 10:38 Сейчас в теме
(16)
нет смысла ставить сервер 1С предприятие 32 бита

Смысл только один - сэкономить, кажется, 36 т.р.(они же ~600 $) работодателю/клиенту на разнице стоимости лицензий.
17. Sedaiko 54 28.04.19 23:45 Сейчас в теме
(15)
почему нет допила под ubuntu

Я конечно понимаю что при установке ubuntu можно поставить флажечки - apache, samba, mysql и php, вроде все просто.
Но не считаю что имеет смысл использование ubuntu в качестве сервера, она больше подходит под десктопы.
18. serg52 29.04.19 09:23 Сейчас в теме
2. Уже давно нет смысла ставить сервер 1С предприятие 32 б



Я вас убеждать не буду, но смысл есть.
20. serg52 20.05.19 13:16 Сейчас в теме
Ждали ждали скрипт и не дождались ....
22. Sedaiko 54 21.05.19 00:40 Сейчас в теме
(20)
Ждали ждали скрипт и не дождались

Да добью я. после праздников аврал
24. Sedaiko 54 24.05.19 12:07 Сейчас в теме
21. serg52 20.05.19 14:28 Сейчас в теме
Нашёл ещё один минус скрипа
файлы
pg_hba.conf
postgresql.conf


Ложатся в скрытые папки + по умолчанию PG доступен только как localhost
23. Sedaiko 54 21.05.19 00:43 Сейчас в теме
(21)
по умолчанию PG доступен только как localhost

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

Более сложные системы всегда нужно настраивать вручную
25. serg52 25.05.19 14:31 Сейчас в теме
Скрипт уже отличный но можно местами улучшить.


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


2) Без msttcore-fonts-installer этого пакета шрифты не будут красивыми
По любому нужен пакет шрифтов…. В том или ином виде.
26. Sedaiko 54 26.05.19 02:05 Сейчас в теме
(25) msttcore-fonts собираюсь, а интерактив не буду, смысла не вижу
Оставьте свое сообщение