Публикация нескольких баз 1С на веб-сервере Apache: настройка

Веб-сервер Apache позволяет одновременно публиковать несколько информационных баз 1С:Предприятие на одном физическом сервере. Это удобно для компаний, которые используют разные конфигурации — бухгалтерию, управление торговлей, зарплату и кадры — и хотят организовать единую точку доступа для сотрудников. В этой инструкции разберём, как настроить Apache для публикации нескольких баз 1С, сконфигурировать модули, настроить безопасность и проверить работу.
Публикация информационной базы 1С на веб-сервере Apache требует правильной конфигурации виртуальных хостов, модуля FastCGI и параметров взаимодействия с платформой 1С:Предприятие. Для стабильной работы нескольких баз нужен сервер с достаточным объёмом оперативной памяти и производительным процессором — например, серверы Dell PowerEdge для 1С обеспечивают надёжную работу даже при высоких нагрузках.
Требования к серверу и ПО
Перед началом настройки убедитесь, что сервер соответствует минимальным требованиям. Для одновременной публикации нескольких баз 1С на веб-сервере Apache нужны:
- Операционная система: Linux (Ubuntu Server 20.04/22.04, Debian 11/12, CentOS 7/8, RHEL 8/9) или Windows Server 2016/2019/2022
- Apache 2.4 или выше
- Модуль mod_fcgid (для FastCGI)
- Платформа 1С:Предприятие 8.3 (версия 8.3.18 или выше рекомендуется)
- Минимум 8 ГБ оперативной памяти (для 2-3 баз), 16 ГБ и более — для большего количества баз
- Процессор с частотой от 2,5 ГГц (4 ядра и более)
Если планируете публиковать более 5 баз или ожидаете высокую нагрузку (более 50 одновременных пользователей), рекомендуем использовать rack-серверы Dell PowerEdge с поддержкой масштабирования ресурсов. Также обратите внимание на объём оперативной памяти — для комфортной работы нескольких баз лучше использовать DDR4 RDIMM или DDR5 с объёмом от 32 ГБ.
Архитектура публикации нескольких баз
Веб-сервер апачи и 1С взаимодействуют через протокол FastCGI. Apache принимает HTTP-запросы от клиентов и передаёт их в процессы вебсервера 1С (rphost), которые обрабатывают бизнес-логику и возвращают результаты. При публикации нескольких баз каждая база может иметь свой виртуальный хост или размещаться на разных путях одного домена.
Существует два основных подхода:
- Отдельные виртуальные хосты: каждая база доступна по своему доменному имени (например, buh.company.ru, ut.company.ru, zup.company.ru)
- Один домен с разными путями: все базы доступны через единый домен по разным URL (например, erp.company.ru/buh, erp.company.ru/ut, erp.company.ru/zup)
Первый вариант удобнее для управления и безопасности, второй — проще в настройке DNS. В этой инструкции рассмотрим оба варианта.
Установка и настройка Apache
Для публикации нескольких баз 1С нужно установить веб-сервер Apache и модуль FastCGI.
Установка на Linux (Ubuntu/Debian)
-
Обновите списки пакетов:
sudo apt update -
Установите Apache и модуль FastCGI:
sudo apt install apache2 libapache2-mod-fcgid -y -
Включите модуль fcgid:
sudo a2enmod fcgid -
Включите модуль headers (для работы с заголовками):
sudo a2enmod headers -
Перезапустите Apache:
sudo systemctl restart apache2
Установка на CentOS/RHEL
-
Установите Apache:
sudo yum install httpd -y -
Установите модуль FastCGI:
sudo yum install mod_fcgid -y -
Запустите и добавьте в автозагрузку:
sudo systemctl start httpd && sudo systemctl enable httpd
Установка на Windows Server
- Скачайте Apache для Windows с официального сайта Apache Lounge (httpd-2.4.xx-win64-VS16.zip)
- Распакуйте архив в каталог C:\Apache24
- Скачайте mod_fcgid для Windows (mod_fcgid-2.3.x-win64-VS16.zip) и распакуйте модуль в C:\Apache24\modules
-
Установите Apache как службу: откройте командную строку от администратора, перейдите в C:\Apache24\bin и выполните
httpd.exe -k install -
Запустите службу:
httpd.exe -k start
Настройка модуля FastCGI для 1С
Модуль mod_fcgid управляет взаимодействием Apache с процессами 1С. Нужно настроить параметры работы модуля в конфигурационном файле Apache.
Настройка на Linux
-
Откройте файл настройки модуля:
sudo nano /etc/apache2/mods-available/fcgid.conf -
Добавьте или измените параметры:
FcgidConnectTimeout 600 FcgidIOTimeout 600 FcgidMaxRequestLen 1073741824 FcgidMaxProcessesPerClass 10 FcgidMinProcessesPerClass 1 FcgidIdleTimeout 300
-
Сохраните файл (Ctrl+O, Enter, Ctrl+X) и перезагрузите Apache:
sudo systemctl reload apache2
Настройка на Windows
- Откройте файл C:\Apache24\conf\httpd.conf в текстовом редакторе
-
Найдите строку
LoadModule fcgid_module modules/mod_fcgid.soи убедитесь, что она не закомментирована (нет символа #) -
Добавьте в конец файла параметры FastCGI:
FcgidConnectTimeout 600 FcgidIOTimeout 600 FcgidMaxRequestLen 1073741824 FcgidMaxProcessesPerClass 10 FcgidMinProcessesPerClass 1 FcgidIdleTimeout 300
- Сохраните файл и перезапустите службу Apache
Пояснения к параметрам:
FcgidConnectTimeout— время ожидания подключения к процессу 1С (секунды)FcgidIOTimeout— тайм-аут операций ввода-выводаFcgidMaxRequestLen— максимальный размер запроса (байты), важно для загрузки больших файловFcgidMaxProcessesPerClass— максимальное количество процессов rphost для одной базыFcgidMinProcessesPerClass— минимальное количество процессов (всегда активных)FcgidIdleTimeout— время простоя процесса перед завершением
Публикация баз через веб-сервис 1С
Прежде чем настраивать Apache, нужно опубликовать базы через встроенный механизм публикации 1С:Предприятие.
- Запустите конфигуратор 1С и откройте список информационных баз
- Выберите первую базу, которую нужно опубликовать, и откройте её свойства
- Перейдите на вкладку «Веб-сервисы» и нажмите «Добавить»
-
Укажите параметры публикации:
- Имя публикации: короткое латинское имя (например, buh, ut, zup)
- Каталог публикации: путь к виртуальному каталогу (например, /var/www/1c/buh для Linux или C:\inetpub\wwwroot\1c\buh для Windows)
- Использовать стандартный механизм аутентификации: включите, если нужна авторизация по логину и паролю 1С
- Нажмите «ОК» и повторите процедуру для остальных баз данных (для каждой базы — своё имя публикации и каталог)
После публикации в указанных каталогах появятся файлы default.vrd (описание публикации) и wsgi.fcgi (скрипт для FastCGI). Эти файлы будет использовать Apache для взаимодействия с 1С.
Конфигурация виртуальных хостов Apache
Теперь настроим Apache для обработки запросов к каждой базе. Рассмотрим два варианта: отдельные виртуальные хосты и один хост с разными путями.
Вариант 1: Отдельные виртуальные хосты
Каждая база доступна по своему домену (например, buh.company.ru, ut.company.ru).
-
Создайте файл конфигурации для первой базы (например, buh.company.ru):
sudo nano /etc/apache2/sites-available/buh.company.ru.conf -
Добавьте конфигурацию виртуального хоста:
<VirtualHost *:80> ServerName buh.company.ru DocumentRoot /var/www/1c/buh <Directory /var/www/1c/buh> Require all granted Options +ExecCGI AddHandler fcgid-script .fcgi </Directory> ScriptAlias / /var/www/1c/buh/wsgi.fcgi/ ErrorLog ${APACHE_LOG_DIR}/buh-error.log CustomLog ${APACHE_LOG_DIR}/buh-access.log combined </VirtualHost> - Сохраните файл и создайте аналогичные конфигурации для остальных баз (ut.company.ru.conf, zup.company.ru.conf), изменив ServerName и пути
-
Активируйте виртуальные хосты:
sudo a2ensite buh.company.ru.conf ut.company.ru.conf zup.company.ru.conf -
Проверьте конфигурацию на ошибки:
sudo apache2ctl configtest -
Если вывод «Syntax OK», перезагрузите Apache:
sudo systemctl reload apache2
Вариант 2: Один домен с разными путями
Все базы доступны через единый домен по разным URL (например, erp.company.ru/buh, erp.company.ru/ut).
-
Создайте файл конфигурации:
sudo nano /etc/apache2/sites-available/erp.company.ru.conf -
Добавьте конфигурацию с несколькими алиасами:
<VirtualHost *:80> ServerName erp.company.ru DocumentRoot /var/www/1c ScriptAlias /buh /var/www/1c/buh/wsgi.fcgi ScriptAlias /ut /var/www/1c/ut/wsgi.fcgi ScriptAlias /zup /var/www/1c/zup/wsgi.fcgi <Directory /var/www/1c/buh> Require all granted Options +ExecCGI AddHandler fcgid-script .fcgi </Directory> <Directory /var/www/1c/ut> Require all granted Options +ExecCGI AddHandler fcgid-script .fcgi </Directory> <Directory /var/www/1c/zup> Require all granted Options +ExecCGI AddHandler fcgid-script .fcgi </Directory> ErrorLog ${APACHE_LOG_DIR}/erp-error.log CustomLog ${APACHE_LOG_DIR}/erp-access.log combined </VirtualHost> -
Активируйте хост и перезагрузите Apache:
sudo a2ensite erp.company.ru.conf && sudo systemctl reload apache2
Конфигурация на Windows
На Windows Server конфигурация виртуальных хостов добавляется в файл C:\Apache24\conf\httpd.conf или в отдельные файлы в C:\Apache24\conf\extra. Пути к каталогам публикаций изменятся на Windows-формат (например, C:/inetpub/wwwroot/1c/buh).
Настройка SSL/TLS для безопасного доступа
Для защиты данных пользователей рекомендуется использовать HTTPS. Настройка SSL для Apache требует сертификата и включения модуля ssl.
Получение SSL-сертификата
Используйте бесплатный сертификат Let's Encrypt или приобретите коммерческий. Для Let's Encrypt на Linux:
- Установите Certbot:
sudo apt install certbot python3-certbot-apache -y - Получите сертификат:
sudo certbot --apache -d buh.company.ru -d ut.company.ru -d zup.company.ru - Certbot автоматически настроит Apache для работы по HTTPS и создаст задачу автообновления сертификата
После установки сертификата Apache будет принимать запросы по порту 443 (HTTPS) и перенаправлять HTTP на HTTPS.
Настройка производительности и безопасности
При работе с несколькими базами нужно правильно распределить ресурсы и защитить публикации от несанкционированного доступа.
Ограничение доступа по IP
Если базы 1С должны быть доступны только из локальной сети или определённых IP, добавьте ограничения в конфигурацию виртуального хоста:
<Directory /var/www/1c/buh>
Require ip 192.168.1.0/24
Require ip 10.0.0.0/8
</Directory>
Это разрешит доступ только с адресов 192.168.1.0/24 и 10.0.0.0/8.
Базовая HTTP-аутентификация
Дополнительный уровень защиты — базовая аутентификация Apache (запрос логина и пароля перед входом в 1С):
- Создайте файл с паролями:
sudo htpasswd -c /etc/apache2/.htpasswd admin(введите пароль для пользователя admin) - Добавьте в конфигурацию виртуального хоста:
<Directory /var/www/1c/buh>
AuthType Basic
AuthName "Restricted Access"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
Настройка пула процессов 1С
Для каждой базы можно ограничить количество одновременных процессов rphost, чтобы одна база не расходовала все ресурсы сервера. Это настраивается в параметрах публикации 1С (файл default.vrd) или через параметры FastCGI в конфигурации Apache.
Если на сервере работают более 5 баз или ожидается высокая нагрузка, используйте отдельный сервер для баз данных (SQL Server, PostgreSQL), а веб-сервер Apache разместите на выделенном сервере. Это снизит конкуренцию за ресурсы и повысит стабильность.
Проверка работы публикаций
После настройки нужно убедиться, что каждая база доступна через браузер.
- Откройте браузер и перейдите по адресу первой базы (например, http://buh.company.ru или http://erp.company.ru/buh)
- Должна открыться страница входа в 1С:Предприятие (запрос логина и пароля пользователя информационной базы)
- Введите учётные данные пользователя 1С
- Если вход выполнен успешно и интерфейс 1С загрузился, публикация работает корректно
- Повторите проверку для остальных баз
Если возникают ошибки (500 Internal Server Error, 503 Service Unavailable), проверьте логи Apache:
- Linux:
/var/log/apache2/error.logи/var/log/apache2/buh-error.log - Windows:
C:\Apache24\logs\error.log
Типичные ошибки:
- Permission denied при запуске wsgi.fcgi: проверьте права доступа к каталогу публикации (на Linux:
sudo chmod -R 755 /var/www/1c) - Timeout при подключении к процессу 1С: увеличьте параметры FcgidConnectTimeout и FcgidIOTimeout
- Процессы rphost не запускаются: проверьте, что служба агента сервера 1С (ragent) запущена и работает
Типовые конфигурации серверов для публикации 1С
Выбор конфигурации сервера зависит от количества публикуемых баз, числа пользователей и интенсивности работы.
| Количество баз | Число пользователей | Рекомендуемая конфигурация | Примеры серверов |
|---|---|---|---|
| 2-3 базы | до 20 пользователей | CPU: 4 ядра, RAM: 16 ГБ, SSD: 240 ГБ | Dell PowerEdge R340, R350 |
| 4-6 баз | 20-50 пользователей | CPU: 8 ядер, RAM: 32 ГБ, SSD: 480 ГБ | Dell PowerEdge R440, R450, R650 |
| 7-10 баз | 50-100 пользователей | CPU: 16 ядер, RAM: 64 ГБ, SSD: 960 ГБ | Dell PowerEdge R640, R750 |
| Более 10 баз | 100+ пользователей | CPU: 24+ ядра, RAM: 128+ ГБ, NVMe SSD: 1,92 ТБ | Dell PowerEdge R760, R660 с сетевыми адаптерами 10 Гбит/с |
Для высоконагруженных систем рекомендуем разделять роли: один сервер для веб-сервера Apache, второй — для СУБД (SQL Server, PostgreSQL), третий — для файлового хранилища информационных баз. Это обеспечивает горизонтальное масштабирование и отказоустойчивость.
Частые ошибки при настройке
Конфликт портов
Если на сервере уже работает другой веб-сервер (IIS на Windows или nginx на Linux) на порту 80, Apache не сможет запуститься. Измените порт Apache в конфигурации (Listen 8080 вместо Listen 80) или остановите конфликтующий сервис.
Недостаточные тайм-ауты
При работе с большими отчётами или обработками в 1С запросы могут выполняться долго. Если тайм-ауты FastCGI слишком малы (по умолчанию 30-40 секунд), пользователи получат ошибку 504 Gateway Timeout. Увеличьте FcgidIOTimeout до 600 секунд или больше.
Ошибки прав доступа
На Linux Apache работает от пользователя www-data (Ubuntu/Debian) или apache (CentOS/RHEL). Каталоги публикаций и файлы wsgi.fcgi должны быть доступны для чтения и выполнения этим пользователем. Установите правильные права:
sudo chown -R www-data:www-data /var/www/1c sudo chmod -R 755 /var/www/1c
Неправильный путь к wsgi.fcgi
В директиве ScriptAlias путь к wsgi.fcgi должен заканчиваться слешем: /var/www/1c/buh/wsgi.fcgi/ (а не /var/www/1c/buh/wsgi.fcgi). Без завершающего слеша Apache не сможет корректно передать запросы в 1С.
Не запущена служба агента сервера 1С
Процессы rphost управляются агентом сервера 1С (ragent). Если агент не запущен, веб-сервер Apache не сможет запустить процессы для обработки запросов. Проверьте состояние службы:
- Linux:
sudo systemctl status srv1cv83(имя службы может отличаться в зависимости от дистрибутива) - Windows: откройте «Службы» и убедитесь, что служба «Агент сервера 1С:Предприятие» запущена
Мониторинг и обслуживание
После запуска публикаций настройте мониторинг работы веб-сервера и процессов 1С.
Логирование Apache
Регулярно проверяйте логи доступа и ошибок. Для каждого виртуального хоста создайте отдельные лог-файлы (как в примерах выше), чтобы разделять события разных баз.
Мониторинг процессов rphost
Следите за количеством запущенных процессов rphost и потреблением памяти. На Linux используйте команду ps aux | grep rphost, на Windows — диспетчер задач. Если процессов слишком много (более 50-70), возможна утечка памяти или зависание сеансов — перезапустите службу агента сервера 1С.
Ротация логов
Настройте автоматическую ротацию логов Apache, чтобы файлы не разрастались до гигабайтов. На Linux используйте logrotate (обычно настроен по умолчанию для Apache). На Windows настройте ротацию через планировщик задач или сторонние утилиты.
Частые вопросы
Можно ли публиковать базы 1С на Apache в контейнерах Docker?
Да, можно создать Docker-образ с Apache, mod_fcgid и платформой 1С:Предприятие. Каждую базу разместите в отдельном контейнере или настройте один контейнер с несколькими виртуальными хостами. Учтите, что процессы rphost требуют доступа к кластеру серверов 1С (ragent), поэтому контейнер должен иметь сетевое соединение с сервером кластера.
Как настроить балансировку нагрузки между несколькими серверами Apache для одной базы 1С?
Установите перед серверами Apache балансировщик нагрузки (например, HAProxy или nginx в режиме reverse proxy). Балансировщик будет распределять запросы между несколькими серверами Apache, каждый из которых подключён к одному кластеру серверов 1С. Настройте sticky sessions (привязку сеансов к серверу), чтобы все запросы одного пользователя обрабатывались на одном сервере Apache.
Какой веб-сервер лучше для 1С: Apache или IIS?
Оба сервера подходят для публикации 1С. IIS проще настраивается на Windows Server и лучше интегрирован с Active Directory, что удобно для единой аутентификации. Апач веб-сервер для 1С — хороший выбор для Linux-серверов и гибридных инфраструктур. Apache предоставляет больше возможностей для тонкой настройки и работает на любой платформе. Выбирайте исходя из ОС сервера и опыта администраторов.
Поделиться статьёй:
Об авторе

Подбор и консалтинг · Экономика и выбор
Консультант по подбору серверного оборудования. 7 лет помогает компаниям выбирать серверы под задачи и бюджет. Сторонник разумной экономии.
Все статьи автора →Похожие материалы
Глава 14: Reviews
Отзывы Поделитесь своим опытом использования продуктов StarTech.com, включая применение и настройку продуктов, что вам нравится в продуктах и области для улучшения. StarTech.com Ltd. 45 Artisans...
Глава 13: Hard-to-find made easy. At StarTech.com, that isn't a slogan. It's a promise.
Труднодоступное стало простым. В StarTech.com это не слоган. Это обещание. StarTech.com — ваш универсальный источник всех необходимых компонентов для подключения. От новейших технологий до...
Глава 12: Limitation of Liability
Ограничение ответственности Ни при каких обстоятельствах ответственность StarTech.com Ltd. и StarTech.com USA LLP (или их должностных лиц, директоров, сотрудников или агентов) за любые убытки...