Установка сервера 1C:Предприятие, PostgreSQL и Apache2 на Альт Сервер 10

  • Автор:

1cv83-server-postgres-apache-alt-server-10-000.png Данная статья довольно необычна для нашего ресурса, потому что мы в своей работе используем дистрибутивы Debian / Ubuntu, но многие наши читатели, в рамках импортозамещения, пробуют переходить на Альт. Сервер 1С:Предприятия - также одна из самых востребованных ролей. И вот мы начали получать сообщения, что многие испытывают сложности с настройкой этой связки, хотя проблемам там взяться, вроде бы неоткуда. Поэтому мы самостоятельно изучили данный вопрос и подготовили практическую инструкцию с учетов всех особенностей и подводных камней для Альт Сервер 10

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

Лицензионное соглашение Альт Сервер 10 допускает его неограниченное использование физическими лицами, юридические лица могут бесплатно воспользоваться им для тестирования, для промышленной эксплуатации потребуется приобрести лицензию, ее стоимость на момент написания статьи составляла 13 200 руб.

На платформе Альт работает только x86-64 версия сервера 1С:Предприятие, ее стоимость составляет 86 400 руб. Для малых предприятий можно использовать Сервер МИНИ на 5 подключений, цена которого 14 400 руб. Технически сервер 1С на Linux позволяет открыть 12 сеансов без наличия серверной лицензии, но такой режим эксплуатации однозначно нарушает лицензионное соглашение.

Сборка PostgresSQL для 1С от компании PostgresPRO предоставляется бесплатно.

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

Мы будем устанавливать Альт Сервер 10, дистрибутив которого можно бесплатно скачать на сайте разработчика. Он имеет графический установщик и процесс не должен вызвать затруднений. Но есть определенные тонкости, так если вы хотите использовать автоматическую разметку диска, то вам понадобиться не менее 24 ГБ свободного места на диске, учтите это при выделении ресурсов виртуальным машинам. Альтернативой этому является ручная разметка диска.

1cv83-server-postgres-apache-alt-server-10-001.pngПредлагаемый по умолчанию профиль Офисного сервера также содержит много лишнего и если наша цель - выделенный сервер 1С, то выбираем Минимальную установку, которая займет на диске всего 1,6 ГБ.

1cv83-server-postgres-apache-alt-server-10-002.png

Сервер SSH включен в нее по умолчанию, поэтому можно открыть удаленную консоль сразу после установки, вход от имени root по SSH заблокирован, поэтому входим под обычным пользователем и повышаем права командой:

su - 

После которой вам потребуется ввести пароль суперпользователя.

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

apt-get update
apt-get dist-upgrade

Затем добавим некоторые необходимые утилиты, файловый менеджер Midnight Commander уже установлен, но нет wget, которая нам позже понадобится.

apt-get install wget

Затем откроем /etc/hosts и добавим в него явное соответствие адреса узла и имени хоста, в нашем случае это:

192.168.233.148 host-148

При сохранение этого файла вы получите предупреждение, что файл содержит жесткие ссылки и следует ли их отсоединить, отвечаем - нет.

1cv83-server-postgres-apache-alt-server-10-003.png

Если вы использовали разметку по умолчанию, то в системе отсутствуют пространства подкачки, эксплуатировать серверную систему в таком режиме нежелательно, поэтому создадим файл подкачки, в нашем случае размером 4 ГБ:

fallocate -l 4G /swapfile

Установим на него нужные права:

chmod 600 /swapfile

Создадим в нем пространство подкачки:

mkswap /swapfile

И подключим его:

swapon /swapfile

Для того, чтобы он монтировался каждый раз при входе в систему, добавим в /etc/fstab строку:

/swapfile    none    swap    sw    0 0

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

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

Во всех своих внедрениях мы используем бесплатную сборку от компании Postgres Professional, получить ее можно на сайте 1c.postgres.ru, выбираете необходимые вам параметры, заполняете короткую анкету и получаете инструкции по установке на электронную почту. Но при выборе версии сервера СУБД обязательно сверяйтесь со списком системных требований 1С и требованиями используемого прикладного решения (конфигурации).

Обычно, ничего страшного от использования "несовместимой" версии не бывает, но иногда это может вызвать затруднения. Кроме того, официальная поддержка также может указать на факт использования несовместимой версии и отказать вам в решении вашего вопроса. Исходя их этих соображений мы выбираем 14-ю версию PostgreSQL.

Прежде всего перейдем в домашнюю директорию и скачаем скрипт для установки репозиториев Postrges Pro:

cd
wget https://repo.postgrespro.ru/1c-14/keys/pgpro-repo-add.sh

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

sh pgpro-repo-add.sh

Скрипт пропишет нужные репозитории и обновит кеш пакетов, поэтому можно сразу приступать к установке продукта:

apt-get install postgrespro-1c-14

Сервер СУБД будет автоматически добавлен в автозагрузку и запушен, в чем не трудно убедиться при помощи команды:

systemctl status postgrespro-1c-14

1cv83-server-postgres-apache-alt-server-10-004.pngНастройки установленный пакет не требует, но вы можете выполнить более тонкое конфигурирования под имеющиеся ресурсы с помощью нашей статьи:

Оптимизация производительности PostgreSQL для работы с 1С:Предприятие

В завершении нам нужно установить пароль для суперпользователя СУБД postgres, для этого войдем в систему под его именем, не обращаем внимание на ошибку доступа:

su postgres

Открываем консоль PSQL:

psql 

И выполняем:

ALTER USER postgres WITH PASSWORD 'MyPa$$word';

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

Выходим из консоли PSQL и из сеанса пользователя postgres:

\q
exit

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

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

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

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

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

Для их установки выполните:

apt-get install fonts-ttf-ms

Но если оставить все как есть, то 1С не увидит эти шрифты, поэтому создадим символическую ссылку:

ln -rs /usr/share/fonts/ttf/ms /usr/share/fonts/msttcorefonts

Кроме этого, рекомендуется установить библиотеку Unix ODBC, она не является обязательной, но может потребоваться для поддержки отдельной функциональности платформы:

apt-get install unixodbc

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

tar -xzvf server64_8_3_22_1709.tar.gz

Затем установим компоненты сервера и модуля расширения веб-сервера:

./setup-full-8.3.22.1709-x86_64.run --mode unattended --enable-components server,ws

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

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

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

systemctl enable srv1cv8-8.3.22.1709@

Запустим наш экземпляр сервиса и проверим его статус:

systemctl start srv1cv8-8.3.22.1709@default
systemctl status srv1cv8-8.3.22.1709@default

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

ss -tpln

1cv83-server-postgres-apache-alt-server-10-005.pngДолжны быть активны процессы: ragent - TCP 1540, rmngr - TCP 1541 и один или несколько rphost - TCP 1560 - 1591.

После чего имеет смысл перезагрузить сервер и проверить что все службы успешно стартуют в автоматическом режиме.

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

Для подключения клиентов нужно чтобы прежде всего они находили сервер по имени узла, для этого нам нужно либо добавить запись на DNS-сервере предприятия или добавить запись в файл hosts. В Windows он находится по пути C:\Windows\System32\drivers\etc\hosts, в Linux - /etc/hosts. Внесите в него строку:

192.168.233.148 host-148

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

1cv83-server-postgres-apache-alt-server-10-006.pngОбратим внимание на некоторые параметры: прежде всего на имя информационной базы в кластере и имя базы данных. Это разные сущности и не стоит их путать. Информационная база - это объект, который существует и работает на уровне сервера 1С:Предприятие. База данных - это связанная с ней база в СУБД, где физически хранятся данные. Чтобы отличать одно от другого мы для себя создали следующее соглашение: имя информационной базы записывается в верхнем регистре, базы данных - в нижнем.

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

На устройстве нет свободного места /tmp/v8_3xha48_12.tmp'. 28(0x0000001 С): No space left on device

1cv83-server-postgres-apache-alt-server-10-007.pngЭто как так? Ведь у нас должно быть много свободного места! Но не будем спешить, перед нами одна из типично Альтовских особенностей, дело в том, что Альт Сервер по умолчанию выносит директорию /tmp на tmpfs в оперативную память и использует для этого раздела половину установленной на сервере памяти.

Проверим:

df -h 

1cv83-server-postgres-apache-alt-server-10-008.pngДля нашего тестового сервера мы создали виртуальную машину с 4 ГБ памяти и как видим, свободного места в /tmp осталось всего 1,1 ГБ, вполне ожидаемо, что при попытке загрузить дамп размером около гигабайта мы потерпели неудачу.

Как быть? Можно временно отключить создание tmpfs, для этого откройте /etc/fstab и временно закомментируйте строку:

tmpfs    /tmp    tmpfs    nosuid    0 0

После чего перезагрузите сервер.

Также, возможно, вы захотите более явно управлять размерами раздела /tmp и не выделять ему половину оперативки, особенно если ее много. В таком случае запись следует изменить, укажите:

tmpfs    /tmp    tmpfs    size=4g,nr_inodes=1m,nosuid    0 0

В данном случае параметр size указывает желаемый размер раздела, в нашем случае 4 ГБ, можно также указывать размер в процентах.

Разобравшись с tmpfs мы, наконец-то, сможем залить нашу базу и начать работать с ней. Проверить параметры работы базы можно вызвав пункт меню О программе.

1cv83-server-postgres-apache-alt-server-10-009.pngКак видим, ничего сложного с работой сервера 1С:Предприятие размешенного на платформе Альт нет, но есть некоторые специфические моменты, которые следует знать и учитывать.

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

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

Начнем с установки Apache 2:

apt-get install apache2

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

usermod -a -G grp1cv8 apache2

Для каждой публикуемой базы мы должны создать каталог публикации:

mkdir /var/www/acc30

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

chown -R usr1cv8:grp1cv8 /var/www/acc30

Теперь перейдем в директорию с платформой:

 cd /opt/1cv8/x86_64/8.3.22.1709

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

 ./webinst -publish -apache24 -wsdir ACC30 -dir /var/www/acc30 -connstr "Srvr=host-184;Ref=ACC30;" -confpath /etc/httpd2/conf/httpd2.conf

Коротко поясним используемые параметры:

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

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

systemctl restart httpd2

Быстрее всего проверить работу базы можно в браузере, обращаться можно как по имени узла, так и по IP: http://192.168.233.184/ACC или http://host-184/ACC. Если вы увидели заставку 1С:Предприятия или окно аутентификации - то значит все работает. Войти в базу вы не сможете, так как при работе через браузер компонента веб-расширения ищет лицензию сначала локально, потом на сервере 1С, но если мы их туда не устанавливали, то вы получите сообщение об ее отсутствии. Однако такое поведение говорит, что публикация на веб-сервере выполнена без ошибок и работает.

Для использования локально установленной лицензии рекомендуем настроить тонкого клиента, который предлагает работу с веб-сервером как один из возможных вариантов.

1cv83-server-postgres-apache-alt-server-10-010.pngУбедиться в том, что мы работаем именно через веб-сервер также можно при помощи пункта меню О программе:

1cv83-server-postgres-apache-alt-server-10-011.pngВ данной статье мы коснулись только самых базовых настроек, особенно в том, что касается веб-сервера. Но и цель данной статьи - помочь вам быстро начать работать с сервером 1С:Предприятие на платформе Альт Сервер 10. Для более тонкой настройки можно воспользоваться иными статьями с нашего ресурса, но с оглядкой на используемый дистрибутив.

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

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

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

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



Loading Comments