Установка сервера 1C:Предприятие, PostgreSQL и Apache2 на РЕД ОС 8

Тема установки сервера 1С:Предприятие на российские ОС остается достаточно актуальной и востребованной среди читателей. РЕД ОС является одной из самых популярных систем для импортозамещения, но несмотря на отличную документацию с установкой сервера 1С у многих возникают сложности. Поэтому мы самостоятельно изучили данный вопрос и подготовили практическую инструкцию с учетом всех особенностей и подводных камней РЕД ОС 8.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark. Реклама ИП Скоромнов Д.А. ИНН 331403723315

РЕД ОС "Сервер" согласно лицензионному соглашению может быть бесплатно использован физическими лицами для некоммерческого использования или юридическим для тестирования и изучения, в остальных случаях вам потребуется купить лицензию.

Также вам потребуется лицензия на сервер 1С:Предприятие или Сервер МИНИ на 5 подключений, лицензию для разработчика на сервер без графического окружения установить не удастся.

Сборка PostgreSQL для 1С включенная в состав дистрибутива предоставляется бесплатно.

Все команды, если не указано иное, выполняются с правами суперпользователя.

Установка и предварительная подготовка сервера

Для установки сервера РЕД ОС используется универсальный дистрибутив с графическим инсталлятором Anaconda, знакомому всем, кто работал с основанными на RHEL системами.

Для установки серверной версии выберите пункт Выбор программ и в открывшемся окне укажите Сервер минимальный, никаких более пунктов отмечать не нужно.

Затем перейдите в Место установки, автоматическое разбиение диска размечает его с выделением домашнего раздела /home, как показано на скриншоте, что в нашем случае ведет к не оптимальному использованию дискового пространства, поэтому лучше разметить диск руками по принципу все в корневом разделе.

В остальном никаких особенностей установки системы нет. После ее завершения первым делом установим имя сервера:

1hostnamectl set-hostname 1c-red8

Где 1c-red8 - желаемое имя сервера.

Затем откроем файл /etc/hosts:

1nano /etc/hosts

И внесем в него строку:

1192.168.233.144 1c-red8

Где 192.168.233.144 - IP-адрес сервера.

В заключение выполните полное обновление:

1dnf upgrade

И перезагрузите систему.

Установка PostgreSQL для 1C

Разработчики РЕД ОС подошли к вопросу серьезно и включили в дистрибутив сразу несколько версий пакетов со сборками PostgreSQL для 1С. Посмотреть их все можно командой:

1dnf search postgres*-1c

Пакеты без нумерации представляют версию PostgreSQL 14, также присутствуют 15, 17 и 18 версии. Это делает использование сторонних репозиториев для установки PostgreSQL нецелесообразным. Версию сервера СУБД выбирайте в соответствии с системными требованиями вашего прикладного решения, мы будем устанавливать версию 18.

Для установки выполните следующую команду:

1dnf install postgresql18-1c postgresql18-1c-contrib postgresql18-1c-plperl postgresql18-1c-plpython3 postgresql18-1c-pltcl

Затем переключимся на пользователя postgres для первоначальной настройки и инициализации СУБД:

1su - postgres

Откроем файл с переменными окружения:

1nano .bash_profile

И добавим в него следующие строки как показано на рисунке ниже:

1export PATH=/usr/pgsql-18/bin:$PATH 
2export MANPATH=/usr/pgsql-18/share/man:$MANPATH

Теперь выполним инициализацию БД:

1/usr/pgsql-18/bin/initdb

И выйдем из учетной записи:

1exit

Добавим службу PostgreSQL в автозагрузку и сразу запустим ее:

1systemctl enable postgresql-18 --now

Проверим ее статус:

1systemctl status postgresql-18

Если все сделано правильно, вы должны увидеть надпись Active: active (running).

По умолчанию PostgreSQL принимает только локальные подключения, если вы настраиваете сервер 1С и СУБД на разных машинах или вам нужны внешние подключения к СУБД, то выполните следующие настройки.

В файл /var/lib/pgsql/18/data/pg_hba.conf добавьте в конец следующую строку:

1host all all 192.168.233.0/24 md5

Где 192.168.233.0/24 - диапазон вашей локальной сети.

В файле /var/lib/pgsql/18/data/postgresql.conf найдите и приведите к указанному виду опцию:

1listen_addresses = '*'

В завершение установим пароль пользователю postgres, для этого снова переключим пользователя:

1su - postgres

И выполним следующие команды:

1psql
2ALTER USER postgres WITH ENCRYPTED PASSWORD 'MyPa$$word';
3\q

Где MyPa$$word - желаемый пароль.

Для достижения максимальной производительности вы можете выполнить более тонкое конфигурирование под имеющиеся ресурсы с помощью нашей статьи:

На этом установка и настройка PostgreSQL закончена.

Установка сервера 1C:Предприятие

Еще раз напомним, что сервер СУБД, сервер 1С:Предприятие и веб-сервер - это разные, полностью самостоятельные компоненты и могут быть установлены как на одном узле, так и на разных. Поэтому мы специально построили наш материал таким образом, чтобы каждый раздел приводил к созданию законченной части решения.

Платформа 1С актуальных релизов выпускается в виде единого дистрибутива, который можно получить на Портале ИТС, вам потребуется скачать Технологическая платформа 1С:Предприятия (64-bit) для Linux нужного выпуска. Мы будем устанавливать релиз 8.3.27.2325, если у вас другая версия платформы - то вам потребуется исправить номер версии во всех приведенных ниже командах.

Для нормального отображения текста в приложениях 1С вам потребуются шрифты Microsoft, которые отсутствуют в пакетной базе РЕД ОС по лицензионным соображениям. Поэтому установим их из стороннего источника:

1rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

Также установим дополнительный пакет зависимости:

1dnf install libxcrypt-compat

Теперь приступим к установке самой платформы, будем считать что скачанный вами архив находится в текущей директории, распакуем его и запустим установку:

1unzip server64_8_3_27_2325.zip
2./setup-full-8.3.27.2325-x86_64.run --mode unattended --enable-components server,ws

Данная команда устанавливает два компонента: сервер и модуль расширения веб-сервера. Если вы планируете установить веб-сервер на другом узле - то вам потребуется установить модуль расширения именно на нем.

После установки сервера 1С доустановим требуемые зависимости, для этого в РЕД ОС разработали специальный метапакет:

1dnf install redos-1c-fix

Затем зарегистрируем юнит службы:

1systemctl link /opt/1cv8/x86_64/8.3.27.2325/srv1cv8-8.3.27.2325@.service

Добавим его в автозагрузку:

1systemctl enable srv1cv8-8.3.27.2325@

Выполним запуск службы и сразу проверим ее статус:

1systemctl start srv1cv8-8.3.27.2325@default
2systemctl status srv1cv8-8.3.27.2325@default

Если все сделано правильно, вы увидите надпись Active: active (running).

На этом установка и настройка сервера 1С:Предприятие закончена.

Подключение клиентов, создание баз

Для подключения к серверу 1С:Предприятие важно использовать именно имя сервера, а не IP-адрес, для этого добавьте запись на локальный DNS-сервер или в файлы hosts тех ПК, которые будут работать с 1С. Его расположение зависит от системы:

  • В Windows - C:\Windows\System32\drivers\etc\hosts
  • В Linux -  /etc/hosts

Внесите в него строку:

1192.168.233.144 1c-red8

Создать новую базу можно прямо из клиента 1С, при создании укажите, хотите ли вы создать новую чистую конфигурацию из шаблона, либо создать пустую базу для заливки дампа и укажите ее расположение на сервере 1С:Предприятия.

После чего вам потребуется указать ряд параметров, которые приведены на рисунке ниже:

Разберем некоторые из них подробнее:

  • Кластер серверов 1С:Предприятие - обязательно указываем именно имя нашего сервера, использование IP-адреса будет грубой ошибкой.
  • Имя информационной базы в кластере - информационная база - это сущность уровня 1С, даем произвольное, понятное название. Не путайте с базой данных СУБД.
  • Тип СУБД - PostgreSQL.
  • Сервер баз данных - адрес сервера СУБД, важно понимать, что с СУБД взаимодействует только сервер 1С и если они расположены на одном узле, то можем указать localhost, иначе укажите IP-адрес сервера СУБД.
  • Имя базы данных: имя базы данных PostgreSQL в которой будет храниться конфигурация и данные информационной базы. Рекомендуем называть их одинаково, а для исключения путаницы используйте разный регистр.
  • Пользователь базы данных - postgres.
  • Пароль пользователя - пароль для подключения к СУБД, который вы указали на этапе ее настройки.

Публикация информационной базы на веб-сервере

Установка веб-сервера не является обязательной для работы сервера 1С:Предприятие, но это достаточно популярный сценарий, поэтому коротко рассмотрим и его.

Начнем с установки веб-сервера Apache:

1dnf install httpd

Но не будем спешить его запускать, для работы потребуются дополнительные настройки юнита:

1systemctl edit httpd

В открывшийся файл добавим строки:

1[Service]
2MemoryDenyWriteExecute=no

И сохраним файл, после чего перечитаем настройки юнитов systemd:

1systemctl daemon-reload

Затем настроим SELinux:

1setsebool -P httpd_can_network_connect on
2setsebool -P httpd_execmem on

Теперь можно добавить юнит в автозагрузку и сразу запустить его:

1systemctl enable httpd --now

Проверим состояние службы:

1systemctl status httpd

Если все сделано правильно, вы увидите Active: active (running).

Для публикации базы перейдем в каталог с установленной 1С:

1cd /opt/1cv8/x86_64/8.3.27.2325

И выполним публикацию командой:

1./webinst -apache24 -wsdir test -dir /var/www/test -connstr "Srvr=1c-red8;Ref=TEST;" -confPath /etc/httpd/conf/httpd.conf

Разберем ее опции подробнее:

  • publish - указывает необходимое действие, в данном случае публикацию, может быть опущен, так как это действие по умолчанию
  • apache24 - задает тип веб-сервера, для Apache 2.4 следует указывать apache24.
  • wsdir - имя публикации, по которому к базе следует обращаться из браузера, обратите внимание, что оно регистрозависимое
  • dir - путь публикации, ранее созданная нами директория
  • connstr - строка соединения, состоит из нескольких частей: Srvr - имя сервера, Ref - имя базы на сервере, каждая часть должна заканчиваться служебным символом ";"
  • confpath - путь к конфигурационному файлу веб-сервера

После чего перезапустим веб-сервер:

1systemctl restart httpd

Для проверки работоспособности проще всего набрать в браузере:

1http://192.168.233.144/test

После чего вы увидите процесс загрузки конфигурации, если у вас на сервере не установлены клиентские лицензии 1С:Предприятия, то загрузка прервется с сообщением об отсутствии лицензии, но это нормально и подтверждает, что публикация работает как надо.

На этом установку веб-сервера и публикацию базы можно считать законченной.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark. Реклама ИП Скоромнов Д.А. ИНН 331403723315

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал