Публикация http сервиса 1с linux

Публикация баз 1С в Centos без графического окружения

Для работы с 1С сейчас не обязательно использовать Windows на сервере, можно и Linux. Более того, нет необходимости ставить и графическое окружение, если работа с базами будет по протоколу http. Я расскажу, как настроить сервер для 1С и опубликовать файловую базу на сервере Centos 8, не устанавливая саму платформу и графическое окружение. Нам понадобится только web сервер Apache и некоторые компоненты сервера приложений 1С для Linux.

Если у вас есть желание научиться профессионально строить и поддерживать высокодоступные виртуальные и кластерные среды, рекомендую познакомиться с онлайн-курсом Администратор Linux. Виртуализация и кластеризация в OTUS. Курс не для новичков, для поступления нужно пройти вступительный тест.

Введение

Ранее я уже рассказывал, как публиковать файловые базы 1С. Схема простая и рабочая, но ее можно упростить еще больше, исключив систему Windows вообще. Все, что нужно для публикации баз 1С, есть в Linux. Рассказываю подробно, как это сделать. Вот что нам понадобится для публикации 1С баз:

  1. Операционная система Linux. В моем случае это будет Centos 8 или любой ее форк.
  2. Cервер 1С:Предприятия (64-bit) для RPM-based Linux-систем.
  3. Веб сервер Apache, который в rpm дистрибутивах носит имя httpd.
  4. Шрифты Microsoft’s Core Fonts.

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

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

Приступаем к настройке. Первым делом нам надо скачать и установить Cервер 1С:Предприятия (64-bit) для RPM-based Linux-систем. Идем на https://releases.1c.ru и скачиваем нужную вам версию.

Скачать Cервер 1С:Предприятия (64-bit) для RPM-based Linux-систем

Передаем архив на сервер и распаковываем.

# mkdir 1c-rpm # tar -C 1c-rpm/ -xzvf rpm64_8_3_18_1289.tar.gz

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

  • 1c-enterprise-8.3.18.1289-server-8.3.18-1289.x86_64.rpm
  • 1c-enterprise-8.3.18.1289-common-8.3.18-1289.x86_64.rpm
  • 1c-enterprise-8.3.18.1289-ws-8.3.18-1289.x86_64.rpm
# cd 1c-rpm/ # dnf install 1c-enterprise-8.3.18.1289--8.3.18-1289.x86_64.rpm

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

Сервер 1С предприятия установили на Centos, переходим к настройке веб сервера для публикации баз.

Настройка apache для публикации баз 1с

Нам необходимо установить непосредственно web сервер apache.

Запустите его и убедитесь, что веб сервер работает. Для этого перейдите по ip адресу сервера в браузере. Вы должны увидеть стартовую страницу apache.

# systemctl enable --now httpd

Настройка apache для публикации баз 1с

Если страница не открывается, скорее всего у вас включен и не настроен firewalld. Откройте необходимые порты:

# firewall-cmd --permanent --zone=external --add-port=80/tcp # firewall-cmd --permanent --add-port=80/tcp --add-port=443/tcp # firewall-cmd --reload

Сразу же настроим однопоточную работу apache. Для этого открываем конфиг /etc/httpd/conf.modules.d/00-mpm.conf и добавляем туда:

StartServers 1 MinSpareThreads 1 MaxSpareThreads 1

Проверяем конфигурацию apache и перезапускаем его:

# apachectl -t # apachectl restart

У нас почти все готово к публикации баз 1С. Необходимо только установить шрифты Microsoft’s Core Fonts.

Читайте также:  Как отключить линукс сервер

Установка шрифтов Microsoft’s Core Fonts в Centos

Подробная инструкция и информация по установке Microsoft’s Core Fonts представлена на странице http://mscorefonts2.sourceforge.net.

# dnf install epel-release # dnf install xorg-x11-font-utils fontconfig # dnf install https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

Установка шрифтов Microsoft

Все подготовительные действия сделали. Осталось опубликовать саму 1С базу.

Публикация баз 1С в Centos

В директории /opt/1cv8/x86_64 хранятся бинарники от установки 1С. С их помощью опубликуем файловую базу. Но перед этим нам надо скопировать сам файл с базой в какую-то директорию. Например, в /opt/1Cbase. Выставляем полные права на эту директорию и файлы в ней для веб сервера:

# mkdir -p /opt/1Cbase # chown -R apache. /opt/1Cbase

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

# mkdir -p /var/www/1Cbase # chown -R apache. /var/www/1Cbase
# /opt/1cv8/x86_64/8.3.18.1289/webinst -publish -apache24 -wsdir 1cbase -dir /var/www/1Cbase -connstr "File=/opt/1Cbase;" -confpath /etc/httpd/conf/httpd.conf

Публикуем базу с сервера 1С:

# /opt/1cv8/x86_64/8.3.18.1289/webinst -publish -apache24 -wsdir 1cbase -dir /var/www/1Cbase -connstr "Srvr=1CSRV;Ref=1cbase;" -confpath /etc/httpd/conf/httpd.conf
1cbase алиас, который нужно будет добавить к адресу сервера для доступа к этой базе
/var/www/1Cbase путь к публикации базы, где будет располагаться .vrd файл с описанием подключения к базе через web
File=/opt/1Cbase; строка подключения файловой базы
Srvr=1CSRV;Ref=1cbase; строка подключения серверной базы

Если все сделали правильно, должны увидеть сообщение Publication successful.

Публикация баз 1С в Centos

После этого осталось только перезапустить веб сервер и идти проверять публикацию.

Доступ в 1С через браузер

Если используете клиентские лицензии на компьютерах, а не на сервере, то через браузер скорее всего получите ошибку получения лицензии. В таком случае используйте установленную платформу, подключая базу через публикацию в web.

Подключение базы 1С через веб сервер

Запустится стандартная платформа, которая без проблем найдет локальную или сетевую лицензию, если она установлена.

Error when loading component ‘help’

Очень распространенная ошибка, которую вы можете получить — Error when loading component ‘help’.

Ошибка Error when loading component

Ее проблема в том, что текст ошибки совершенно не информативен. Но чаще всего она связана с правами доступа к файлам с базой. У вас скорее всего не стоит владельцем файла с базой веб сервер apache. Второй вариант — работает SELinux. В контексте данной задачи я не разбирался с его настройкой, поэтому просто отключал.

Во время написания статьи как раз столкнулся с проблемой SELinux, так как не заметил, что он остался включен на тестовой машине. Все перепроверил и только потом вспомнил про него. Отключил временно в консоли и сразу все заработало:

Читайте также:  Resident evil for linux

Обновление опубликованной через web базы 1с

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

Подойдет любой способ ее настройки. У меня есть статья — быстрая и простая настройка samba. Можете взять подходящий вам способ аутентификации и все сделать. Далее подключаетесь к файловой базе как обычно по сети толстым клиентом и обновляете ее.

Заключение

Не забудьте в таком режиме публикации 1с баз добавить побольше памяти и процессора виртуальной машине с веб сервером. Рекомендую не менее 4CPU и 8G Ram. С каждым релизом 1С хочет все больше и больше ресурсов. Еще во время тестов заметил такую вещь, что виртуалка с 1С не запрашивала больше оперативной памяти, несмотря на то, что было включено динамическое выделение. При этом все жутко тормозило и памяти явно не хватало. Пришлось отключить динамическую память и жестко задать 8G, чтобы все зашевелилось более ли менее быстро.

Для безопасности и удобства, перед Apache можно настроить Nginx в режиме proxy_pass.

Онлайн курс по Linux

  • Умение строить отказоустойчивые кластера виртуализации для запуска современных сервисов, рассчитанных под высокую нагрузку.
  • Будете разбираться в современных технологиях кластеризации, оркестрации и виртуализации.
  • Научитесь выбирать технологии для построения отказоустойчивых систем под высокую нагрузку.
  • Практические навыки внедрения виртуализации KVM, oVirt, Xen.
  • Кластеризация сервисов на базе pacemaker,k8s, nomad и построение дисковых кластеров на базе ceph, glaster, linstore.

Источник

Настройка веб-сервера Apache под Linux

В отличие от IIS, веб-сервер Apaсhe доступен как для Windows, так и для Linux и позволяет настроить работу публикаций по шифрованному протоколу HTTP.

1. Установка Apache под Linux

Установка веб-сервера и публикация информационной базы для операционной Linux будет продемонстрирована на базе Ubuntu 18.04 LTS. Все, что касается настроить информационной базы не зависит от конкретной версии дистрибутива Linux. Установка же веб-сервера может отличаться.

В данной статье не рассматривается установка и запуск Apache под всевозможные семейства операционных систем Linux. При использовании операционной системы отличной от указанной в статье следуют руководствоваться официальной документацией конкретного вашего дистрибутива.

Итак, предполагается, что есть только что установленная операционная система Ubuntu 18.04 LTS без графического интерфейса пользователя.
Перед тем как продолжить, нужно проверить доступные версии программного обеспечения дистрибутива. Выполняем команду:

В выводе результата команды можно увидеть, что доступны обновления. Рекомендуются их обновить с помощью команды (подсказка «Run ‘apt list –upgradable’»):

По завершению обновления пакетов приложений можно приступить к установке непосредственно веб-сервера.

После этого нужно выполнить команду:

sudo apt install apache2 -y

Необходимо дождаться окончание выполнения команды и убедиться, что в момент установки никаких ошибок не возникло. В данном случае установка прошла без проблем.

Читайте также:  Linux mint минимальные системные

Далее нужно проверить, что помимо самой установки, веб-сервер запустился и готов обрабатывать запросы (для данной команды использование sudo не обязательно):

В ответ можно увидеть, что состояние службы active (running). Это значит, что веб-сервер работает в штатном режим и можно переходить к публикации информационной базы с помощью командного интерпретатора bash, либо к генерации самоподписанного сертификата (если в этом есть необходимость).

2. Выпуск самоподписанного сертификата

После установки Apache в операционной системе уже должен быть установлен openssl как зависимость к дистрибутиву. Поэтому можно сразу приступить к генерации сертификата.

Первоначально нужно перейти в директорию хранилища сертификатов с помощью команды:

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

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout .key -out .crt

Во время выполнения команды будет задано несколько вопросов. Для «Common Name (e.g. server FQDN or Your bane)» нужно также указать имя сервера. Остальные поля заполняются произвольно (кроме «Country name» — здесь можно оставить по умолчанию).

3. Публикация информационной базы

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

Если до этого сервер «1С:Предприятие» был уже установлен на данном компьютере, то следующие 2 шага можно пропустить. Иначе в качестве подготовительной работы нужно скачать последний доступный дистрибутив платформы и распаковать его временную директорию с помощью команды:

После разархивирования нужно инициировать процедуру установки пакетов.

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

В директории платформы следом нужно выполнить команду:

sudo ./webinst -publish -apache24 -wsdir -dir /var/www/ -connstr “Srvr=” -confpath /etc/apache2/apache2.conf

ИМЯ ПУБЛИКАЦИИ – на произвольное имя публикации

ИМЯ СЕРВЕРА – на адрес сервера 1С:Предприятие

ИМЯ БАЗЫ – на имя базы, совпадающим с именем базы зарегистрированной в кластере

После этого следует перейти в директорию публикаций:

cd /etc/apache2/sites-available

С помощью любого удобного редактора нужно отредактировать файл 000-default.conf и добавить в самый конец файла следующий текст настройки:

  SSLEngine on SSLCertificateFile /etc/ssl/certs/server1.crt SSLCertificateKeyFile /etc/ssl/certs/server1.key 

После добавления нужно сохранить и закрыть файл и выполнить команду для включения модуля ssl для Apache:

И после этого нужно перезапустить Apache и убедиться, что ошибок не возникает.

4. Проверка публикации

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

  • Имя вашего сервера (например, server2).
  • Имя публикации базы (которое было указано в окне настройки публикации).

Для таких параметров ссылка будет иметь вид:

Источник

Оцените статью
Adblock
detector