Как настроить связку Ubuntu + Apache + файловая база 1С с USB-лицензией на 10 пользователей?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Настройка серверной инфраструктуры на базе Linux для работы с 1С — это эффективное и экономичное решение, которое, однако, требует глубокого понимания специфики работы платформы в среде Unix-подобных систем. Рассмотрим ситуацию, когда необходимо развернуть файловую информационную базу на операционной системе Ubuntu под управлением веб-сервера Apache с использованием аппаратного (USB) многопользовательского ключа на 10 рабочих мест. Разберем по шагам все этапы: от подготовки системы до тонкой настройки веб-публикации.

Обеспечение работы аппаратного USB-ключа в среде Linux

Первым и одним из самых важных этапов является настройка распознавания USB-ключа защитной системы HASP. В отличие от ОС Windows, где драйверы часто устанавливаются автоматически, в Ubuntu нам потребуется выполнить ряд ручных манипуляций. Проанализируем, что необходимо для того, чтобы система «увидела» лицензию.

Для корректной работы аппаратного ключа нам потребуется драйвер Sentinel HASP (aksusbd). Важно учитывать, что современные версии Ubuntu (например, 22.04 и выше) могут иметь проблемы с зависимостями для старых 32-битных библиотек, которые необходимы этому драйверу. Поэтому перед установкой следует убедиться в наличии пакетов поддержки многоархитектурности. После установки драйвера необходимо запустить и добавить в автозагрузку менеджер лицензий hasplms. Именно эта служба отвечает за раздачу лицензий через сеть.

Важно помнить: если вы используете многопользовательский ключ (например, серии Net10), то при работе через веб-сервер Apache лицензии считает сам веб-сервер, обращаясь к ключу. Проанализируем ситуацию с расходом лицензий: каждая открытая вкладка браузера с базой 1С будет забирать одну лицензию из ключа. Поэтому при лимите в 10 пользователей крайне важно следить за тем, чтобы сессии не «зависали».

Настройка прав доступа к файловой базе

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

Разберем алгоритм настройки прав по шагам:

  1. Определим владельца каталога базы. Нам необходимо рекурсивно назначить пользователя www-data владельцем всей папки с базой данных: chown -R www-data:www-data /путь/к/базе/.
  2. Установим права доступа. Для корректной работы 1С требуются права не только на чтение, но и на запись, так как в процессе работы создаются временные файлы и файлы блокировок 1Cv8.1C8 и .1cLck. Оптимальным режимом будет 775 или 770.
  3. Учтем регистр имен. Помним, что Linux чувствителен к регистру (Case Sensitive). Пути в конфигурационных файлах Apache и в файле публикации default.vrd должны в точности соответствовать реальным именам папок и файлов.

Публикация базы на Apache и настройка default.vrd

Теперь перейдем к технической части публикации. Для того чтобы Apache «подружился» с 1С, необходимо подключить специфический модуль расширения. Его версия должна строго соответствовать версии установленной платформы 1С и версии Apache (обычно это wsap24.so для Apache 2.4).

Рассмотрим структуру файла публикации default.vrd. Этот файл является ключевым инструментом управления сессиями. Проанализируем параметры, которые помогут нам избежать проблемы «пожирания» лицензий зависшими сеансами, упомянутой в обсуждении:


<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
       xmlns:xs="http://www.w3.org/2001/XMLSchema"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       base="/BaseName"
       ib="File="/home/1c/bases/BaseName";">
    <ws>
        <point name="WebServiceName"
               alias="ws1.1cws"
               enable="true"/>
    </ws>
    <standardOdata enable="true"/>
    <pool capacity="10" 
          maxAge="1800" 
          ttl="900" />
</point>

В данном примере параметры pool играют решающую роль:

Решение проблемы «зависших» сессий

Как отмечалось в сообщениях коллег, веб-клиенты часто не завершают сеанс корректно. Рассмотрим подробнее, как с этим бороться. Помимо настроек в default.vrd, рекомендуется внести изменения непосредственно в параметры информационной базы в режиме «1С:Предприятие».

Установите в настройках конфигурации минимально допустимое время жизни сеанса при бездействии. Также, если используется Linux, стоит проверить, не запущены ли лишние службы. Как правильно заметили участники обсуждения, для файловой базы на Linux нет необходимости запускать полноценную службу srv1cv83 (сервер 1С), если вы не планируете использовать клиент-серверный вариант. Работа через веб-сервер с файловой базой происходит напрямую через модули расширения Apache, что экономит ресурсы системы.

Дополнительные системные зависимости и шрифты

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

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

  1. Библиотеки отрисовки: Убедитесь, что установлены пакеты libwebkitgtk-3.0-0 (или актуальные аналоги) и libgsf-1-114. Без них могут возникать ошибки при открытии некоторых отчетов.
  2. Шрифты Microsoft: Это критически важный момент. 1С формирует отчеты, используя стандартные шрифты (Arial, Times New Roman). Если их нет в системе Linux, сервер будет заменять их на альтернативные, что приведет к «поехавшей» верстке или пустым квадратам в PDF-файлах. Установите пакет ttf-mscorefonts-installer.

Особенности обслуживания файловой базы на Linux

Посмотрим на ситуацию с точки зрения долгосрочной эксплуатации. Файловый режим в Linux использует специфические механизмы блокировок файловой системы. При достижении порога в 10 активных пользователей (как в нашем случае) производительность может снижаться быстрее, чем в среде Windows.

Обратите внимание на обслуживание базы: в Linux-версии платформы отсутствует графическая утилита chdbfl.exe. Если база потребует проверки и исправления, вам придется либо использовать параметры запуска в режиме конфигуратора (команда /CheckAndRepair), либо временно копировать файл 1Cv8.1C8 на Windows-машину для лечения.

Что касается резервного копирования: выполнение команды cp или tar «на горячую», пока пользователи работают в базе, может привести к получению битого архива. Для надежного бэкапа рекомендуется либо использовать скрипты, временно останавливающие службу Apache, либо применять встроенные средства выгрузки 1С.

Подводя итог, можно подтвердить: связка Ubuntu + Apache + файловая база с 10-пользовательским USB-ключом — это абсолютно рабочее и стабильное решение при условии правильной настройки прав доступа, установки драйверов HASP и тонкой конфигурации пула соединений в default.vrd.

← На главную