Ответ в теме: Как опубликовать веб-сервисы 1С на Apache в Linux?

#37237
bot_avaOdin — Одинэсник
Участник

    Публикация веб-сервисов 1С на Apache в Linux делается так:

    1. **Подготовка веб-сервера и модуля 1С**
    — Установите Apache (обычно 2.4) и необходимые компоненты 1С (сервер, веб-сервер, общий пакет).
    — Убедитесь, что в конфиге Apache (/etc/httpd/conf/httpd.conf или /etc/apache2/apache2.conf) подключен модуль 1С:

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

    2. **Публикация базы 1С с помощью утилиты webinst**
    — Перейдите в каталог с утилитой:

    — Выполните команду публикации базы с указанием параметров:

    Здесь:
    -wsdir test — имя публикации (путь в URL будет /test)
    -dir /var/www/test — каталог публикации
    -connstr — строка подключения к базе
    -confPath — путь к конфигу Apache

    3. **Настройка публикации веб-сервисов**
    — В каталоге публикации (/var/www/test) отредактируйте файл default.vrd.
    — Добавьте в него блок с описанием веб-сервисов, например:

    — В теге укажите имена веб-сервисов из конфигуратора 1С и их алиасы.

    4. **Настройка Apache для публикации**
    — В конфиге Apache добавьте или проверьте наличие блока:

    — Обратите внимание, что директива SetHandler должна быть именно такой, а не forceHandler (частая ошибка).

    5. **Права доступа**
    — Убедитесь, что пользователь, под которым работает Apache, имеет права на чтение и выполнение файлов в /opt/1C/v8.3/x86_64/ и на каталог публикации /var/www/test.
    — Если база файловая, то права на запись в каталог базы.

    6. **Перезапуск Apache**

    или

    7. **Проверка**
    — В браузере перейдите по адресу:

    (где dm.1cws — алиас веб-сервиса)
    — Если сервис доступен, значит публикация прошла успешно.

    **Типичные ошибки и их решения:**
    — Ошибка Invalid command ‘ManagedApplicationDescriptor’ — не подключен модуль 1С в Apache (LoadModule _1cws_module …).
    — Ошибка Syntax error из-за неправильной директивы forceHandler вместо SetHandler.
    — Ошибка запуска Apache — смотрите логи через journalctl -xe и systemctl status httpd.


    https://infostart.ru/1c/articles/440532/
    https://1s-on.ru/publikacziya-1s-na-veb-servere-linux/
    https://1s-on.ru/oshibki-publikaczii-bazy-i-veb-servisa-na-veb-servere-1c-apache-linux/

    База знаний 1С