Перейти к основному содержимому

Публикация HTTP-сервиса RAT на Apache. Подробная инструкция

Данная инструкция предназначена для публикации расширения RAT на веб-сервере Apache. Apache является популярной альтернативой IIS и часто используется в Linux-средах или когда требуется более гибкая настройка веб-сервера.

Предварительные требования

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

  1. Платформа 1С:Предприятие версии 8.3.20 или выше
  2. Операционная система Windows или Linux
  3. Права администратора на компьютере
  4. Установленное расширение RAT в информационной базе 1С
  5. Информационная база 1С с установленным расширением

Установка веб-сервера Apache

Установка Apache на Windows

Шаг 1: Скачивание Apache

  1. Перейдите на официальный сайт Apache:
    • Откройте http://httpd.apache.org/download.cgi
    • Выберите версию Apache 2.4.x для Windows
    • Скачайте архив (например, httpd-2.4.xx-win64-VS16.zip)

Шаг 2: Установка Apache

  1. Распакуйте архив:

    Распакуйте в каталог: C:\Apache24
  2. Настройте конфигурацию:

    • Откройте файл C:\Apache24\conf\httpd.conf
    • Найдите строку ServerRoot и убедитесь, что путь указан правильно:
      ServerRoot "C:/Apache24"
    • Найдите строку Listen и убедитесь, что порт указан:
      Listen 80
  3. Установите Apache как службу:

    # Откройте командную строку с правами администратора
    cd C:\Apache24\bin
    httpd.exe -k install
  4. Запустите службу Apache:

    net start Apache2.4

    Или через "Службы Windows" (services.msc)

Шаг 3: Проверка установки

  1. Откройте браузер и перейдите по адресу http://localhost
  2. Ожидаемый результат: Должна открыться страница приветствия Apache

Установка Apache на Linux (Ubuntu/Debian)

Шаг 1: Установка через пакетный менеджер

# Обновление списка пакетов
sudo apt update

# Установка Apache
sudo apt install apache2

# Запуск и включение автозапуска
sudo systemctl start apache2
sudo systemctl enable apache2

Шаг 2: Проверка установки

# Проверка статуса службы
sudo systemctl status apache2

# Проверка в браузере
curl http://localhost

Установка модуля расширения веб-сервера для 1С

Шаг 1: Проверка установки компонента

  1. Запустите установщик 1С:Предприятие
  2. Выберите "Изменить" (если платформа уже установлена)
  3. Убедитесь, что установлен компонент "Модуль расширения веб-сервера":
    ☑ 1С:Предприятие
      ☑ Сервер 1С:Предприятие
      ☑ Модуль расширения веб-сервера для Apache

Шаг 2: Установка компонента (если не установлен)

  1. Выберите "Изменить" в установщике 1С
  2. Установите флажок "Модуль расширения веб-сервера для Apache"
  3. Нажмите "Далее" и завершите установку

Настройка Apache для работы с 1С

Настройка на Windows

Шаг 1: Определение версии модуля

Модуль расширения находится в каталоге установки 1С:

C:\Program Files\1cv8\8.3.x.xxxx\bin\

Доступные модули:

  • wsap24.dll - для Apache 2.4 (64-bit)
  • wsap24_32.dll - для Apache 2.4 (32-bit)

Шаг 2: Подключение модуля к Apache

  1. Откройте файл конфигурации Apache:

    C:\Apache24\conf\httpd.conf
  2. Добавьте строку загрузки модуля:

    # Модуль расширения веб-сервера 1С для Apache 2.4
    LoadModule _1cws_module "C:/Program Files/1cv8/8.3.x.xxxx/bin/wsap24.dll"
  3. Сохраните файл и перезапустите Apache:

    net stop Apache2.4
    net start Apache2.4

Настройка на Linux

Шаг 1: Копирование модуля

# Создание каталога для модулей 1С
sudo mkdir -p /usr/lib/apache2/modules/1c

# Копирование модуля (путь может отличаться в зависимости от установки 1С)
sudo cp /opt/1cv8/x86_64/8.3.x.xxxx/bin/wsap24.so /usr/lib/apache2/modules/1c/

Шаг 2: Настройка конфигурации

  1. Создайте файл конфигурации модуля:

    sudo nano /etc/apache2/mods-available/1cws.load
  2. Добавьте содержимое:

    LoadModule _1cws_module /usr/lib/apache2/modules/1c/wsap24.so
  3. Включите модуль:

    sudo a2enmod 1cws
    sudo systemctl reload apache2

Публикация расширения RAT на Apache

Шаг 1: Подготовка к публикации

  1. Убедитесь, что расширение RAT установлено:

    • Запустите Конфигуратор 1С
    • Перейдите в "Конфигурация" → "Расширения конфигурации"
    • Убедитесь, что расширение "rat" присутствует в списке
  2. Проверьте настройки расширения:

    • Выберите расширение "rat" в списке
    • Убедитесь, что сняты галочки:
      • ❌ Безопасный режим
      • ❌ Защита от опасных действий

Шаг 2: Публикация через Конфигуратор

  1. Запустите Конфигуратор с правами администратора:

    • Щелкните правой кнопкой мыши на ярлыке Конфигуратора
    • Выберите "Запуск от имени администратора"
  2. Откройте информационную базу с установленным расширением RAT

  3. Перейдите к публикации:

    • В меню выберите "Администрирование" → "Публикация на веб-сервере"
  4. Настройте параметры публикации:

    Имя публикации: rat_service (или любое другое имя латиницей)
    Тип веб-сервера: Apache
    Каталог: C:\Apache24\htdocs\rat_service (Windows)
    Каталог: /var/www/html/rat_service (Linux)
  5. Установите необходимые флажки:

    ☑ Публиковать доступ для клиентских приложений
    ☑ Публиковать HTTP сервисы расширений по умолчанию
    ☑ Публиковать HTTP сервисы расширений
  6. Нажмите "Опубликовать" и дождитесь завершения процесса

Шаг 3: Публикация через командную строку

Windows

# Перейдите в каталог bin установки 1С
cd "C:\Program Files\1cv8\8.3.x.xxxx\bin"

# Выполните команду публикации
webinst -publish -apache24 -wsdir rat_service -dir "C:\Apache24\htdocs\rat_service" -connstr "File='D:\Bases\MyBase';" -confpath "C:\Apache24\conf\httpd.conf"

Linux

# Перейдите в каталог bin установки 1С
cd /opt/1cv8/x86_64/8.3.x.xxxx/bin

# Выполните команду публикации
./webinst -publish -apache24 -wsdir rat_service -dir "/var/www/html/rat_service" -connstr "File='/opt/1c/bases/MyBase';" -confpath "/etc/apache2/apache2.conf"

Шаг 4: Проверка файлов публикации

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

  • default.vrd - файл настроек публикации
  • ws - каталог с веб-сервисами
  • hs - каталог с HTTP-сервисами

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

Шаг 1: Проверка веб-клиента

  1. Откройте браузер и перейдите по адресу:

    http://localhost/rat_service/ru/
  2. Ожидаемый результат:

    • Должна открыться форма авторизации 1С
    • Или веб-клиент 1С (если настроена автоматическая авторизация)

Шаг 2: Проверка HTTP-сервиса RAT

  1. Проверьте доступность сервиса:

    http://localhost/rat_service/hs/test-api/spec.json
  2. Ожидаемый результат:

    • Должен вернуться JSON с описанием API сервиса
    • Или форма авторизации, если требуется аутентификация

Шаг 3: Проверка через веб-интерфейс спецификации

  1. Откройте веб-интерфейс спецификации:

    http://localhost/rat_service/hs/test-api/spec-ui
  2. Ожидаемый результат:

    • Должна открыться HTML-страница с документацией API
    • Возможность просмотра всех доступных методов

Устранение типичных проблем

Проблема 1: Ошибка 500 Internal Server Error

Причина: Неправильная настройка модуля расширения или отсутствие модуля

Решение:

  1. Проверьте, что модуль расширения загружен в конфигурации Apache
  2. Убедитесь, что разрядность модуля соответствует разрядности Apache
  3. Проверьте журналы ошибок Apache:
    # Windows
    tail -f C:\Apache24\logs\error.log
    
    # Linux
    sudo tail -f /var/log/apache2/error.log

Проблема 2: Ошибка 404 Not Found

Причина: Неправильный путь к публикации или отсутствие файлов

Решение:

  1. Проверьте, что файлы публикации находятся в правильном каталоге
  2. Убедитесь, что имя публикации в URL соответствует реальному имени
  3. Проверьте права доступа к каталогу публикации

Проблема 3: Модуль не загружается

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

Решение:

  1. Проверьте путь к модулю в конфигурации Apache
  2. Убедитесь, что файл модуля существует и доступен для чтения
  3. Проверьте разрядность модуля (32-bit vs 64-bit)

Проблема 4: Сервис недоступен извне

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

Решение:

  1. Проверьте настройки брандмауэра
  2. Убедитесь, что порт 80 открыт для входящих соединений
  3. Проверьте настройки сетевого адаптера

Безопасность и права доступа

Настройка прав доступа к каталогу

Windows

  1. Установите права для пользователя Apache:

    Правый клик на каталоге публикации → Свойства → Безопасность
    Добавить пользователя: IUSR (или пользователя, от имени которого работает Apache)
    Права: Чтение и выполнение, Список содержимого папки, Чтение
  2. Настройте права для каталога информационной базы:

    Добавить пользователя: IUSR
    Права: Полный доступ (для работы с базой данных)

Linux

# Установка прав для каталога публикации
sudo chown -R www-data:www-data /var/www/html/rat_service
sudo chmod -R 755 /var/www/html/rat_service

# Установка прав для каталога информационной базы
sudo chown -R www-data:www-data /opt/1c/bases/MyBase
sudo chmod -R 755 /opt/1c/bases/MyBase

Рекомендации по безопасности

  1. Используйте HTTPS в продакшн-среде
  2. Настройте аутентификацию для доступа к сервису
  3. Ограничьте доступ по IP-адресам при необходимости
  4. Регулярно обновляйте платформу 1С и расширение RAT
  5. Мониторьте логи веб-сервера и 1С на предмет подозрительной активности

Настройка SSL (опционально)

Генерация самоподписанного сертификата

# Создание приватного ключа
sudo openssl genrsa -out /etc/ssl/private/apache-selfsigned.key 2048

# Создание сертификата
sudo openssl req -new -x509 -key /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt -days 365

# Настройка Apache для SSL
sudo a2enmod ssl
sudo systemctl reload apache2

Дополнительные ресурсы


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