Публикация файловой базы 1с linux apache

Sysadminium

База знаний системного администратора

Web-сервер apache 2.4 на Linux для публикаций баз 1С

В этой статье я покажу как подготовить свой web-сервер apache 2.4 на операционной системе Linux (Ubuntu 18.04) для публикации серверных и файловых баз .

Для того, чтобы получить доступ к базе данных из интернета обычно применяют 2 способа:

  • размещают базы 1С на терминальном сервере и дают доступ к этому серверу из интернета;
  • публикуют базы 1С на web-сервере и дают доступ к этому web-серверу из интернета.

В первом случае нужен дорогой Windows Server, который на момент написания статьи стоит в районе 80 – 100 тыс. рублей. В добавок к этому нужны терминальные лицензии, которые тоже стоят денег.

Во втором случае можно использовать следующие web-сервера:

  • IIS – входящий в операционную систему Windows, которую тоже нужно купить, хотя в этом случае подойдёт и десктопная Windows 10;
  • apache 2.4 – бесплатный web-сервер, работающий на Linux. Таким образом ни за операционную систему, ни за сам web-сервер платить не нужно. В дополнение, открывать опубликованные базы можно будет с помощью web-браузера. Не будет проблем с прокидыванием принтеров и торгового оборудования на терминальный сервер.

После установки и подготовки операционной системы Ubuntu 18.04, а этот процесс я описывать не буду, займемся установкой web-сервера.

Устанавливаем web-сервер apache 2.4 на Linux для 1С

Во-первых установим зависимости для модуля 1С:

Следом установим шрифты, чтобы при открытии базы 1С всё красиво выглядело:

Хоть сервер 1С нам не нужен, но модуль для web сервера и утилита для публикации баз устанавливаются вместе с ним. Поэтому установить его придётся. Архив с дистрибутивом сервера 1С платформы 8.3.18.1483 можно скачать по следующей ссылке Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем. Затем его нужно положить в какой-нибудь каталог на нашем сервере.

Создадим каталог 1c, в который положим дистрибутив сервера 1С. Затем перейдем в него, распакуем и установим:

Затем установим apache 2.4:

Дополнительно можем убрать страничку приветствия:

Подключим модуль от 1С:

После чего перезапускаем службу web-сервера:

На этом всё, чуть позже покажу как:

  • публиковать файловую или серверную базы;
  • включить https на вашем web-сервере;
  • опубликовать тонкий клиент для автоматического обновления ваших клиентов.

Источник

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


План работ:


  1. Установка Apache под Linux.
  2. Выпуск самоподписанного сертификата (Необязательно).
  3. Публикация информационной базы.
  4. Проверка публикации.

В отличие от 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 не обязательно):

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

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

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

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

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

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

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

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

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

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

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

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

где нужно заменить:

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

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

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

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

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

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

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

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

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

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

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

Источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Публикация баз данных 1С:Предприятие 8.3 на веб-сервере Apache в Debian или Ubuntu

Публикация баз данных 1С:Предприятие 8.3 на веб-сервере Apache в Debian или Ubuntu

Публикация информационных баз 1С:Предприятие на веб-сервере приобретает все большую популярность, так как позволяет легко организовать доступ с использованием стандартных протоколов HTTP/HTTPS из любого места где есть интернет. При этом вы можете работать даже там, где доступ в интернет ограничен одним лишь серфингом, если работает браузер — будет работать и 1С. Сегодня мы подробно рассмотрим настройку веб-сервера для совместной работы с 1С:Предприятие 8.3 на платформах Debian или Ubuntu.

Обычно во всех инструкциях по установке сервера 1С на платформе Linux вместе с ним устанавливают и веб-сервер Apache, что не совсем правильно с точки зрения безопасности и удобства администрирования. С учетом того, что веб-сервер обычно используется для работы с внешними пользователями, то крайне желательно использовать на нем актуальные версии ПО с последними обновлениями безопасности. Это не всегда возможно, если веб-сервер установлен на одном узле с сервером 1С, так как обновление критически важного для предприятия сервера — это весьма непростая задача.

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

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

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

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

Настройка сервера

В первую очередь установим веб-сервер Apache, так как 1С:Предприятие, начиная с версии платформы 8.3.8 поддерживает актуальную версию Apache 2.4, то вся установка сводится к единственной команде:

Компания 1С рекомендует использовать модуль мультипроцессной обработки worker, поэтому следует выяснить с каким модулем работает ваш сервер, для этого выполним:

Если это prefork или event, то их следует отключить:

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

Затем установим модуль расширения веб-сервера от 1С, для этого скачаем с официального сайта архив Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем. Сразу сделаем оговорку, мы не видим никаких причин использовать в 2019 году 32-битные версии веб-серверов для 1С, поэтому здесь и далее мы будем работать только с 64-битными системами.

Из данного архива нам понадобятся три пакета: 1c-enterprise83-ws — сам модуль веб-расширения, 1c-enterprise83-common — требуется по зависимостям и 1c-enterprise83-server, которого нет в зависимостях, но без которого веб-сервер с 1С работать не будет. Если вы используете в 1С языки отличные от русского, то вам потребуется еще добавить одноименные пакеты nls

Скопируем эти пакеты в отдельную директорию, скажем, в домашнем каталоге, перейдем в него и установим пакеты:

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

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

Публикация клиент-серверных баз

Перед тем как публиковать базу нужно выполнить некоторые условия. Обращаться к серверу 1С можно только по имени хоста, которое веб-сервер должен разрешать в IP-адрес, в доменных сетях это решается использованием доменных DNS, но в любом случае разрешение имен следует проверить.

Для одноранговых сетей следует добавить запись в файл /etc/hosts:

Где SRV-1C имя вашего сервера 1С, перед которым указываем его IP-адрес.

Затем создадим директорию для публикации информационной базы, расположение может быть любым, но хорошим тоном для Linux-систем будет использование стандартных расположений, для веб-сервера это /var/www:

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

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

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

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

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

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

Поэтому мы рекомендуем использовать тонкий клиент везде, где это возможно. Для подключения следует использовать строку http://SRV-WEB-1C/InfoBase или http://192.168.16.136/InfoBase, для подключения можно использовать FQDN, плоское имя или IP-адрес, с условием, что имена разрешаются на клиенте в адрес сервера. Предпочтительно использовать FQDN, но работать будет любой вариант.

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

Здесь мы еще раз напомним, что адрес регистрозависимый и если вы ранее указали в параметре wsdir имя InfoBase, то в дальнейшем его следует использовать в строке подключения, потому как http://SRV-WEB-1C/InfoBase — работать будет, а http://SRV-WEB-1C/infobase вызовет ошибку 404.

Публикация файловых баз

Возможно, вы удивитесь, но модуль расширения веб-сервера позволяет публиковать файловые базы на сервере без графического интерфейса и без установки клиента 1С, единственное условие — база физически должна располагаться на веб-сервере.

Также нам потребуется установить все необходимые для работы 1С библиотеки и шрифты. Для этого потребуется подключить несвободные репозитории, откройте файл /etc/apt/sources.list и в Debian добавьте в конце каждой строки:

а в Ubuntu раскомментируйте строки содержащие в конце

В зависимости от используемого вами дистрибутива часть библиотек может быть уже установлена, о чем вы получите сообщение, так в Debian 9/10 по умолчанию установлены libfontconfig1 и libglib2.0-0.

Затем установим библиотеки ImageMagick, в разных дистрибутивах они могут иметь разные версии, поэтому выполним:

В выводе найдем нужную версию с окончанием на q16-x и установим ее.

В нашем случае это библиотека libmagickwand-6.q16-6:

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

И поместим в нее любым доступным способом, скажем, через SFTP, файл базы данных 1Cv8.1CD, имейте ввиду, что клиента 1С на веб-сервере нет и загрузить на нем DT-файл мы не можем, поэтому его нужно развернуть в другом месте и передать на сервер именно 1CD.

Затем обязательно изменим владельца директории на пользователя веб-сервера:

Создадим каталог публикации:

и опубликуем базу:

Перезапустим веб-сервер и базой можно работать:

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

Для корректной работы с файловыми базами следует ограничить Apache одним рабочим процессом, в противном случае вы можете столкнуться с ошибкой Объект заблокирован. Чтобы избежать этого, откроем /etc/apache2/mods-available/mpm_worker.conf и установим следующие значения:

Если вы используете иные модули мультипроцессной обработки, то нужно внести изменения в их конфигурационные файлы, для event это /etc/apache2/mods-available/mpm_event.conf, настройки выполняются аналогично модулю worker (приведены выше).

В случае использования prefork откройте /etc/apache2/mods-available/mpm_prefork.conf и установите следующие значение опциям:

После чего не забудьте перезапустить веб-сервер.

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

Дополнительные материалы:

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

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

Источник

Читайте также:  How to run the jar file in windows
Оцените статью