Скрипт объединяет личный опыт и различные публикации по установке 1С и СУБД PostgreSQL на сервер под управлением CentOS 7.
Выполняет следующие действия:
- Отключает selinux
- Устанавливает необходимые пакеты
- Устанавливает Apache
- Устанавливает samba и создает сетевой каталог
- Устанавливает Postgres Pro и настраивает (см. https://postgrespro.ru/)
- Скачивает указанную платформу с releases.1c.ru (Необходимы логин и пароль доступа)
- Устанавливает сервер 1С и толстый клиент (если не нужен клиент, то в скрипте можно закомментировать строку на скачивание curl)
- Настраивает публикации информационных баз
- Создает пустые информационные базы в кластере
- Настраивает правила 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.2024): Изменил скрипт. Теперь перед запуском скрипта необходимо создать файл pg_tune.sql с настройками PostgreSQL.
UPDATE (25.05.2024):
- Изменил настройки сети. Теперь необходимо только указать имя хоста в переменной HOSTNAME. Скрипт при необходимости сам переименует хост и внесет адрес в файл /etc/hosts
- Ввел переменные:
- CLIENT — устанавливать толстый клиент
- VM_TOOLS — устанавливать open-vm-tools для ESXi
- Изменил конфигурационный файл samba с учетом переменной HOSTNAME.
UPDATE (26.05.2024):
Включена установка шрифтов Microsoft Core Fonts
Спасибо за комментарии serg52
UPDATE (21.06.2024):
Добавлено создание настроек резервного копирования. Параметры BACKUP_DIR, BACKUP_HOUR, DAY_MONTH и HISTORY_DAYS
Спасибо, интересная вещь, при случае попробую.
Толь закончил настройку сервера на ubuntu, аналогично в планах написать скприпт, поэтому плюсую однозначно.
(2)
Будет интересно взглянуть на скрипт. Если будете выкладывать, то скажите где смотреть 🙂
Скриптам место в гите. Там и обсудить можно — наверняка есть, что улучшить.
Стартмани правда так срубить будет куда сложнее.. да..
Для разовой процедуры установки наверно не надо
Кстати, для Ubuntu, если у кого-то стоит версия PostgreSQL от 1С c DEB пакетов, рекомендую исключить пакеты из обновления командой
Чтобы командой
Не затирать пакеты от 1С пакетами из репозитория postgres (если подключен для pgAdmin4 например)
(5) Да изначально планировал сделать «шпаргалку» со списком комманд, так как планировалось часто поднимать тестовые сервера именно с нуля на ESXi. А потом Остапа понесло…
а можно чистую ссылку на скачивания скрипта …
Поддержиааю предыдущего автора, а то некоторым и вовсе скрипт не скачать, можно в личку, признателен!
Скиньте в личку пожалуйста. Заранее благодарен!
(3)
Будет интересно взглянуть на скрипт. Если будете выкладывать, то скажите где смотреть 🙂
Выложите для убунты — оставьте ссылку здесь, чтобы легче было найти, если что.
Добрый день.
Спасибо автору.
Можно скрипт в личку?
Спасибо.
Бесполезно, автор никак не реагирует на наши здешние сообщения, хотя я готов скинуть автору какую-то разумную сумму за труды…
(12) Я хз как файл отправлять в личку
По скрипту:
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…
(15)
1. CentOS 7 — дистрибутив всегда 64 битный.
2. Уже давно нет смысла ставить сервер 1С предприятие 32 бита
3. С именем машины да, можно сказать косяк — я изначально при установке указываю нужное имя. Надо допилить командой hostnamectl set-hostname your-new-hostname
4. pg_tune.sql — должен соответствовать формату sql, комментарии там не начинаются символом #
На днях допилю с учетом Ваших заметок
(15)
Я конечно понимаю что при установке ubuntu можно поставить флажечки — apache, samba, mysql и php, вроде все просто.
Но не считаю что имеет смысл использование ubuntu в качестве сервера, она больше подходит под десктопы.
Я вас убеждать не буду, но смысл есть.
(16)
Смысл только один — сэкономить, кажется, 36 т.р.(они же ~600 $) работодателю/клиенту на разнице стоимости лицензий.
Ждали ждали скрипт и не дождались ….
Нашёл ещё один минус скрипа
файлы
pg_hba.conf
postgresql.conf
Ложатся в скрытые папки + по умолчанию PG доступен только как localhost
(20)
Да добью я. после праздников аврал
(21)
Дык и планировалось с ставить кластер на одной машине :
Более сложные системы всегда нужно настраивать вручную
(20) Подшаманил кое-что.
Скрипт уже отличный но можно местами улучшить.
1) Например допилить настройку скрипта в интерактив — вопрос — ответ. Т.е введите ваш логин от портала 1с, введите ваш пароль, укажите имя хоста, введите сколько баз вы хотите по умолчанию баз, введите название баз 1,2,3
Выберите версию сервера из последних 5-и.
2) Без msttcore-fonts-installer этого пакета шрифты не будут красивыми
По любому нужен пакет шрифтов…. В том или ином виде.
(25) msttcore-fonts собираюсь, а интерактив не буду, смысла не вижу