Тестовый кластер 1С на UBUNTU 23.10
В статье описан личный опыт создания простого кластера 1С в связке: отдельный сервер UBUNTU версия 23.10 + сервер 1С версия 8.3.23.1997 + PostgreSQL версия 15 (для 1С). В данном случае кластер (совместно с базой данных) выполнен на одном отдельном сервере UBUNTU и используется для тестирования работы приложений 1С. На данном этапе не рассматриваются требования по бесперебойной работе и производительности кластера.
СОДЕРЖАНИЕ.
-
Установка сервера 1С
-
Установка СУБД PostgreSQL
-
Создание кластера 1С
-
Дополнительные возможности
-
Заключение
Установка сервера 1С
Используем дистрибутив server64_8_3_23_1997.tar.gz с сайта users.1c.v8.ru. Извлекаем из архива файл setup-full-8.3.23.1997-x86_64.run и размещаем его на сервере UBUNTU во временной директории. Я использую для этого программу WinSCP.
Подключаемся к нашему серверу ( можно по SSH с помощью PuTTY). Далее все действия выполняем под root. Переходим во временную директорию , где находится файл инсталляции:
cd /tmp_1c
Даем права на запуск файла:
chmod 777 /tmp_1c/setup-full-8.3.23.1997-x86_64.run
Запускаем инсталляцию:
/tmp_1c/setup-full-8.3.23.1997-x86_64.run
В ходе инсталляции отвечаем на вопросы и выбираем нужные нам компоненты. Я рекомендую после выбора Русского языка [16] отвечать на все вопросы утвердительно [Y].
Сервер 1С устанавливается в директорию /opt/1cv8/x86_64/8.3.23.1997/
Назначаем владельцем директории автоматически созданного пользователя usr1cv8 и группу пользователей grp1cv8 и раздаем права на созданную директорию:
chown -R usr1cv8:grp1cv8 /opt/1cv8/x86_64/8.3.23.1997/
chown -R usr1cv8:grp1cv8 /opt/1cv8/x86_64/8.3.23.1997/*
chmod 777 /opt/1cv8/x86_64/8.3.23.1997/*
Копируем файл /opt/1cv8/x86_64/8.3.23.1997/srv1cv8-8.3.23.1997@.service в директорию /etc/systemd/system/srv1cv8-8.3.23.1997@.service.
Запускаем сервер 1С:
systemctl start srv1cv8-8.3.23.1997@default
Проверяем запуск сервера 1С (Рис_1):
systemctl status srv1cv8-8.3.23.1997@default
Проверяем работу портов (Рис_2):
netstat -tulpn | grep LISTEN
Ну и добавляем сервис в автозагрузку:
systemctl start srv1cv8-8.3.23.1997@default
На этом по серверу 1С пока все.
В дальнейшем понадобиться перезагрузка сервера :
systemctl restart srv1cv8-8.3.23.1997@default
Установка СУБД PostgreSQL
Установить СУБД PostgreSQL из предлагаемой фирмой 1С инсталляции postgresql_15.4_1.1C_amd64_deb.tar.bz2 на текущую версию UBUNTU с ходу не удалось.
Судя по информации в Интернете лучший результат получается при использовании инсталляции для 1С от компании PostgreSQL Pro. Эту инсталляцию удалось поставить на UBUNTU 23.10. Действуем следующим образом.
Подключаем репозиторий postgrespro :
curl -o apt-repo-add.sh https://repo.postgrespro.ru/pg1c-15/keys/apt-repo-add.sh
Запускаем команду на подключение репозитория :
sudo sh apt-repo-add.sh
Запускаем собственно инсталляцию :
sudo apt-get install postgrespro-1c-15
PostgresPro для 1С устанавливается в директорию /opt/pgpro/1c-15/.
Лог работы сервиса сохраняется в директории /var/lib/pgpro/1c-15/data/log/.
Файлы конфигурации pg_hba.conf и postgresql.conf , которые возможно понадобятся , если не сработают настройки по умолчанию, находятся в директории /var/lib/pgpro/1c-15/data/
После успешного окончания установки запускаем сервис :
systemctl start postgrespro-1c-15
Убеждаемся что сервис работает (Рис_3) :
systemctl status postgrespro-1c-15
В очередной раз проверяем работу портов (Рис_4):
netstat -tulpn | grep LISTEN
Переходим к пользователю postgres и меняем его пароль :
su postgres
/opt/pgpro/1c-15/bin/psql
ALTER USER postgres WITH PASSWORD '123456789';
По установке PostgreSQL тоже пока все.
Создание кластера 1С
Кластер 1С создается на сервере UBUNTU с отдельного компьютера с ОС Windows 10, на котором платформа 1С такой же версии 8.3.23.1997 и установлено и зарегистрировано Администрирование серверов 1С Предприятия х86-64.
Кластер 1С создается стандартным способом по инструкции от 1С. В качестве имени используется ip сервера UBUNTU (Рис_5). В брэндмауэре Windows 10 для создания кластера должны быть открыты порты 1540-1569 и порт 5432 для подключения к PostgreSQL.
Рабочий сервер у нас один (сервер UBUNTU) с назначением функциональности как на Рисунке (Рис_6):
Далее создается пустая база (базы) под пользователем postgres и паролем, который мы сами установили (Рис_8):
Если при создании базы будет ошибка подключения к PostgreSQL , то возможно поможет редактирование параметра listen_addresses в файле postgresql.conf на сервере UBUNTU (устанавливается значение listen_addresses=’*’) (Рис_9):
Проверяем подключение к созданной базе. Можно подключиться (Конфигуратор) командой "C:\Program Files\1cv8\8.3.23.1997\bin\1cv8.exe" DESIGNER /S***.***.***.53\TST
или стандартным способом , указав для базы наш кластер серверов 1С (Рис_10):
В данном случае для запуска приложения 1С достаточно наличия клиентской лицензии на рабочем компьютере с Windows.
При подключении к тестовой базе в администраторе кластера проверяем наличие сеанса соединения с базой (Рис_11):
После успешного подключения конфигуратором можно уже загрузить в пустую конфигурацию копию нужной вам рабочей базы (файл *.dt).
Собственно тестовый кластер на UBUNTU создан.
Дополнительные возможности.
Добавляем в кластер (на сервере UBUNTU) некоторые дополнительные возможности.
Запускаем сервис RAS для возможности прямого управления кластером:
systemctl start ras-8.3.23.1997.service
Проверяем запуск сервиса RAS (Рис_12):
systemctl status ras-8.3.23.1997.service
Проверяем работу порта 1545 для сервиса (Рис_13):
systemctl status ras-8.3.23.1997.service
Для возможности публикации баз 1С устанавливаем сервис apache2.
sudo apt-get install apache2
Стартуем сервис :
systemctl start apache2
и проверяем запуск apache2 (Рис_14):
Генерируем самоподписанный сертификат , перейдя в хранилище сертификатов /etc/ssl/certs :
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout zixi*****.key -out zixi*****.crt
где zixi***** - имя нашего сервера UBUNTU. В ходе выпуска необходимо ответить на вопросы (Рис_15):
Сертификат сформируется в директории /etc/ssl/certs.
Перейдя в директорию сервера 1С /opt/1cv8/x86_64/8.3.23.1997 опубликуем наше тестовое приложение:
sudo ./webinst -publish -apache24 -wsdir TST -dir /var/www/TST -connstr “Srvr=***.***.***.53;Ref=TST” -confpath /etc/apache2/apache2.conf
Создается директория /var/www/TST с файлом параметров опубликованной базы default.vrd.
Переходим в директорию /etc/apache2/sites-available и редактируем находящийся здесь файл 000-default.conf. В конец этого файла добавляем блок для работы с выпущенным нами сертификатом (Рис_16):
Включаем в работу модуль ssl в apache2:
sudo a2enmod ssl
Перезапускаем сервис apache2:
systemctl restart apache2
Добавляем сервис apache2 в автозагрузку:
systemctl enable apache2
Ну и теперь проверяем веб-доступ в браузере к нашей опубликованной базе https://***.***.***.53/TST.
Наше приложение запускается успешно!
В данном случае (при веб-доступе) необходимо уже наличие клиентской лицензии на сервере UBUNTU.
Заключение.
Таким образом мы получили простой работоспособный кластер 1С на сервере UBUNTU (версии 23.10) с СУБД PostgreSQL для конфигурирования и тестирования работы приложений 1С.
Кластер 1С легко расширяется до продуктивной версии путем увеличения числа серверов (виртуальных машин) с ОС UBUNTU, настроенных по вышеприведенной методике, например , два сервера приложений, отдельный сервер лицензий, два сервера PostgreSQL. Здесь уже могут рассматриваться вопросы отказоустойчивости, бесперебойной работы, повышения производительности и пр.
К статье приложена пошаговая инструкция по разворачиванию кластера 1С на UBUNTU (инструкция по созданию кластера 1С на UBUNTU.txt).