1C + Apache на Debian 11

Автор: | 14.03.2022

Вводные данные:

  • Система Debian 11
  • 1С версия 8.3.17.2256
  • Apache версия 2.4.52

1. Подготовка системы.

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

Ставим необходимые пакеты для работы 1С веб сервера

Теперь нужно подготовить locale для нашей системы

Нам нужно выбрать ru_RU.UTF-8 UTF-8. Так же убедитесь на всякий случай, что en_US.UTF-8 тоже выбрана. По умолчанию выбираем ее же — ru_RU.UTF-8 UTF-8 и перезапускаем систему.

Все готово для установки 1С и Apache

2. Установка 1С компонентов для веб сервера

Скачиваем с сайта https://releases.1c.ru/ архив с deb пакетами 1С сервера и передаем на наш сервер. Можно воспользоваться WinSCP если используете Windows, для Linux можно воспользоваться scp

Где:

deb64_8_3_17_2256.tar.gz — 1С архив

user@10.21.2.167 — Пользователь и адрес сервера куда передаем

:/home/user — Директория назначения

Архив лучше распаковать в отдельную директория

Проверяем файлы которые распаковали

Для установки 1С компонентов с поддержкой русского языка вам нужны пакеты в названии которых не встречается nsl

Ставим 1С сервер и компоненты веб сервера. Сам сервер 1С выключаем

3. Установка Apache

Ну тут все тривиально и просто, сначала ставим apache

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

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

или

Теперь запускаем модуль и перезапускаем Apache

4. Настройка только для файловых баз

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

5. Лицензирование 1С Веб клиента

Рассмотрим несколько вариантов:

  • У нас есть аппаратный ключ на 5 пользователей, сервера 1с у нас нет, а ключ надо как — то раздать, то вариант тут только один. Создаем директорию на нашем веб сервере.

и добавляем файл со следующим содержимым

Теперь веб сервер будет спокойно отдавать лицензии пользователям 1с веб клиента так и тонком клиенте.

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

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

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

Переносим туда базу и выставляем права доступа

Теперь переходим в каталог где установлена 1с

и публикуем нашу базу

Где:

  • -publish — опубликовать базу (для удаления delete)
  • -wsdir buh — наименование базы (будет добавлено в http:\\serverip\buh
  • -dir /var/www/buh — путь публикации
  • -connstr «File=/opt/bases/buh;» — путь до базы данных
  • -confpath /etc/apache2/apache2.conf — расположения конфига Apache

После этого рестартуем Apache

Открываем в браузере http://serverip/buh и проверяем работу нашей базы

7. Публикация серверной базы

Для публикации серверной базы 1с на нужны реквизиты для подключения к 1с серверу

1c-server.angald.local — это наш 1с сервер

buh — наименование базы

Переходим в каталог где установлена 1с

и публикуем нашу базу

Где:

  • -publish — опубликовать базу (для удаления delete)
  • -wsdir buh — наименование базы (будет добавлено в http:\\serverip\buh
  • -dir /var/www/buh — путь публикации
  • -connstr «Srvr=server-1c.angald.local;Ref=buh;» — строка подключения к 1с серверу
  • -confpath /etc/apache2/apache2.conf — расположения конфига Apache

После этого рестартуем Apache

Открываем в браузере http://serverip/buh и проверяем работу нашей базы

8. Установка пароля на наш веб сервер

Добавим немного безопасности нашему серверу, например есть базы данных у которых нет паролей, да вы скажете что можно создать пользователей с паролями, но пользователи как правило сложнее паролей типа (12345, qwerty) не запомнят, а публиковать в публичной сети не защищенную базу данных сомнительное удовольствие.

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

Создаем файл с паролями

Обращу внимание что параметр -c указанный в команде создает новый файл с паролями, если нужно добавить пользователя не затирая предыдущего, не указывайте его.

Добавляем файл .htaccess

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

9. Настройка 1С клиента для аутентификации на веб сервере

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

Нажимаем изменить
Далее

Где:

/WSN — тут прописывается имя пользователя для доступа к веб серверу

/WSP — здесь соответственно пароль

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

Где:

mariyapetrovna:superpassword — логин и пароль

example.ru/buh — путь до нашей базы

Также можете отправить эту строку пользователю и он перейдя по ней сразу попадет в 1с через браузер не вводя никакие пароли.

Использованы материалы: https://interface31.ru/

Добавить комментарий