Установка сервера 1C:Предприятие, PostgreSQL и Apache2 на Astra Linux SE 1.8

Продолжаем тему установки сервера 1С:Предприятие на российские ОС. Сегодня у нас на очереди лидер импортозамещения - Astra Linux SE 1.8, которая широко внедряется во все сферы и вопрос ее использования для 1С:Предприятие стоит достаточно остро. Несмотря на то, что процесс установки сервера 1С достаточно хорошо документирован, все-таки в каждой операционной системе есть свои особенности, которые могут вызвать затруднения в процессе установки или настройки.

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

Astra Linux SE 1.8 - коммерческое ПО, не лицензируется для физических лиц и не имеет бесплатных версий. Для использования вы обязаны приобрести лицензию. В настоящее время действует достаточно сложная политика лицензирования и здесь мы не будем касаться этого вопроса во избежание предоставления недостоверной информации.

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

Сборка PostgreSQL для 1С от компании Postgres Professional предоставляется бесплатно.

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

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

Для установки Astra Linux SE 1.8 используется собственный графический установщик, работа с которым достаточно проста и поэтому мы рассмотрим только ключевые моменты установки. В нашем случае установка происходит с базовым уровнем защищенности "Орел".

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

  • Профиль разметки диска - использовать все пространство на диске.
  • Компоненты операционной системы - только консольные утилиты и средства удаленного подключения SSH.

Такой выбор объясняется просто: на сервере нам не нужен выделенный раздел /home, равно как не нужна и графическая оболочка со стандартным набором ПО. Нам нужна минимальная установка.

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

Имя компьютера следует задать осмысленное, так как по нему вы будете подключать клиентов к серверу 1С:Предприятие, в нашем случае это 1c-astra. Также обратите внимание на имя пользователя, по умолчанию это administrator, который автоматически включается в группу astra-admin и имеет право повышать привилегии до root через sudo. Учетная запись суперпользователя отключена.

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

1sudo -s

Первым делом настроим сеть, в Astra Linux для управления сетью используется NetworkManager и при установке по умолчанию создается сетевой интерфейс "Проводное соединение 1", настроенный на получение динамического адреса по протоколу DHCP.

Чтобы каждый раз не задавать имя соединения объявим его как переменную и сразу посмотрим информацию о нем:

1con="Проводное соединение 1"
2nmcli -p con show "$con"

Если указанное соединение существует, то вы увидите длинное полотно с указанием параметров подключения:

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

  • IP-адрес - 192.168.233.168/24
  • Шлюз - 192.168.233.2
  • DNS - 192.168.233.2

Следующей командой назначим адрес и шлюз соединения:

1nmcli con mod "$con" ip4 192.168.233.168/24 gw4 192.168.233.2

Затем укажем адрес DNS-сервера:

1nmcli con mod "$con" ipv4.dns 192.168.233.2

Обратите внимание, что эта команда перезапишет имеющийся список DNS-серверов, поэтому, если вы желаете добавить еще один сервер, то надо использовать команду:

1nmcli con mod "$con" +ipv4.dns 192.168.233.1

Или сразу указать все нужные значения через пробел, обернув их в кавычки:

1nmcli con mod "$con" ipv4.dns "192.168.233.1 192.168.233.2"

После чего переключим соединение на статическую конфигурацию из режима автоматического получения конфигурации по DHCP:

1nmcli con mod "$con" ipv4.method manual

Еще раз внимательно проверим все настройки, отнеситесь к этому вопросу серьезно, иначе вы рискуете потерять сетевой доступ к серверу:

1nmcli -p con show "$con" | grep ipv4

Теперь применим настройки перезапустив соединение, для этого используйте команду:

1nmcli con up "$con"

После того, как мы разобрались с сетью перейдем к обновлениям, по умолчанию внешние репозитории системы отключены, для их включения перейдем к файлу /etc/apt/sources.list и раскомментируем в нем строки:

1deb https://download.astralinux.ru/astra/stable/1.8_x86-64/repository-extended/ 1.8_x86-64 main contrib non-free non-free-firmware
2deb https://download.astralinux.ru/astra/stable/1.8_x86-64/repository-main/ 1.8_x86-64 main contrib non-free non-free-firmware

А также закомментируем строку, указывающую на установочный диск:

1#deb cdrom:[OS Astra Linux 1.8.1.6 DVD]/ 1.8_x86-64 contrib main non-free non-free-firmware

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

1apt update
2astra-update -r -T -A

После чего перезагрузите систему. На этом предварительная подготовка сервера закончена.

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

В штатных репозиториях Astra Linux присутствует старая версия PostgreSQL 15, для работы с 1С:Предприятие желательно использовать более новые версии СУБД. Можно взять официальный дистрибутив от 1С, но он представлен даже не пакетом, а просто архивом с россыпью файлов.

Такой способ нам не подходит, тем более что есть альтернатива в виде бесплатных сборок от Postgres Professional, но последние, по непонятной причине, не выкладывают отдельной сборки для Astra Linux. Но ничего страшного, так как система построена на базе Debian 12 мы можем подключить репозиторий для этой системы.

Официальный способ - через скрипт - нам не подойдет, поэтому придется немного поработать руками, сначала установим ключ репозитория:

 1cat << 'EOF' | base64 -d > /etc/apt/trusted.gpg.d/postgrespro.gpg
 2mQENBFWdEjABCAC6QeLt0UJUQlDI2Z+R/y1OyOMU+5Te176I0+/Xpc2v5NsucW2M
 3kLTdOif0iW+q5h1djL+Pc5yu1fojZCvcihhbURnWECF52BmRnOC9jI0eTHq3fcPZ
 4IE3gqMJSn5sx2kJZ7n8XE0RbQ/hr51BLI+lzeqR3JAKBIqpVDKRrdP9Y1xVR/7Ne
 5q4FNR+osm6W4sM9G+TA/YADrWX3/TPXA4AN+2uNCNY0wK7em8V0oSZJVpEzvu5EP
 6djC6GX08XSvhPNo52o3u3tpFWH7ICw2BEYe672bJTjmi8wFgPW04pw49Jpvw4i1R
 7RhkpQqQ/b9bSveoNpvN32ElAJSaize76+q/TABEBAAG0KlJvYm90IChTaWduaW5n
 8IHJlcG9zKSA8ZGJhQHBvc3RncmVzcHJvLnJ1PokBOAQTAQIAIgUCVZ0SMAIbAwYL
 9CQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQf5rlpi0t8LQpKQgAuJkOKNdnCSCt
10GbNTwAbk414UPYa2B1M1DD6MfcSd6NnJNBVtRoaSWWISQB6gP+/w1jmD8XZbj/oH
115HAHjOyh9Lb3z1xeMIQnBnfGtcqmU5QrF55Yi0H9G0s+fn9oodfNXqAa/zARpBw6
12q3LRSBCjT50/XA5G3AzUr7fIDb68FmEOCQukzs0uWBr5fkrRC21b1DcuhzbBay8X
13pnlpB+Ma1PTIFgRdRl/KwYTzO80TWFMCeYfXQRh8StuQxRcVCqnv4F6seHqmbL7A
14vOZ7GMymsz/IRHGVk4eVC6/94Y3vkV/0eQ+Yom+NtAFnep6G4OhxIeviZ697eFYF
15+j4YsyDD+g==
16EOF

Затем добавим сам репозиторий, в нашем случае мы будем устанавливать PostgreSQL 18, если вам нужна другая версия - просто измените ее номер:

1echo "deb https://repo.postgres.ru/1c/1c-18/debian bookworm main" >> /etc/apt/sources.list.d/postgresql-1c-18.list

Далее выполним обновление источников пакетов и установим сервер СУБД командами:

1apt update
2apt install postgrespro-1c-18

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

1systemctl status postgrespro-1c-18

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

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

1host all all 192.168.233.0/24 md5

Где 192.168.233.0/24 - диапазон вашей локальной сети. Это разрешит подключение с указанных адресов с использованием парольной аутентификации.

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

1listen_addresses = '*'

Это разрешит самому серверу СУБД принимать соединения на всех адресах. После чего перезапустите службу:

1systemctl restart postgrespro-1c-18

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

1su - postgres

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

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

Где MyPa$$word - желаемый пароль. После чего вернемся в консоль суперпользователя:

1exit

Изменения применятся сразу, службу сервера перезапускать не нужно.

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

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

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

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

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

Будем считать, что архив с платформой находится в домашней папке пользователя administrator, перейдем туда:

1cd /home/administrator

Для нормального отображения текста нам понадобятся шрифты Microsoft, которые не входят в поставку операционной системы. Единственный выход - взять нужный пакет из репозитория Debian 12, сам репозиторий подключать не надо, так как пакет содержит обычный скрипт, который скачивает нужные шрифты с SourceForge.

Важно!

Важно! В защищённых редакциях Astra Linux использование таких шрифтов нужно согласовывать с политикой информационной безопасности.

Установим утилиту wget, которой нет в стандартной поставке и скачаем пакет установщика шрифтов:

1apt install wget
2wget http://ftp.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.8.1_all.deb

После чего установим шрифты командой:

1apt install ./ttf-mscorefonts-installer_3.8.1_all.deb

Процесс может занять некоторое время в зависимости от скорости доступа к серверам SourceForge. По окончании этого процесса обновим кеш шрифтов командой:

1fc-cache -f -v
Важно!

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

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

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

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

После завершения установки зарегистрируем юнит службы:

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

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

1systemctl enable srv1cv8-8.5.1.1529@

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

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

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

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

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

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

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

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

1192.168.233.168 1c-astra

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

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

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

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

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

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

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

1apt install apache2

И сразу внесем изменения в настройки юнита для правильной работы совместно с 1С:Предприятие. Для этого выполните команду:

1systemctl edit apache2

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

1[Service]
2MemoryDenyWriteExecute=no

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

1systemctl daemon-reload

Теперь откроем конфигурационный файл /etc/apache2/apache2.conf в котором найдем и приведем к указанному виду следующую опцию:

1AstraMode off

Данная директива отключает специфический режим контроля доступа в Apache, который мешает штатной работе проприетарного модуля 1С.

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

1systemctl restart apache2

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

1systemctl status apache2

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

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

1cd /opt/1cv8/x86_64/8.5.1.1529/

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

1./webinst -apache24 -wsdir acc30 -dir /var/www/acc30 -connstr "Srvr=1c-astra;Ref=ACC30;" -confPath /etc/apache2/apache2.conf

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

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

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

1systemctl restart apache2

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

1http://192.168.233.168/acc30

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

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

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

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

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

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