Публикация базы 1С на Apache в Linux и Ubuntu

Публикация базы 1С на веб-сервере Apache в Linux позволяет организовать удаленный доступ к информационным базам через браузер. Это удобно для распределенных команд, работы из дома или из филиалов без VPN. Настройка требует понимания архитектуры 1С:Предприятие, работы с Apache и прав доступа в Linux.
В этой инструкции разберем публикацию базы 1С на веб-сервере Apache в Ubuntu и других дистрибутивах Linux. Покажем полный цикл: от установки серверной части 1С до настройки виртуального хоста и устранения типовых ошибок. Гайд подходит для 1С:Предприятие 8.3 и актуален для Ubuntu 20.04, 22.04, Debian 11, CentOS 7/8.
Архитектура публикации 1С через Apache
Публикация базы 1С на веб-сервере Apache Linux работает по схеме:
- Клиент — браузер пользователя (Chrome, Firefox, Edge)
- Apache — принимает HTTP-запросы, проксирует их на веб-сервер 1С
- Веб-сервер 1С (wsap) — компонент платформы 1С, обрабатывает запросы через FastCGI
- Сервер 1С:Предприятие (rphost) — выполняет бизнес-логику, работает с информационной базой
- Информационная база — PostgreSQL или файловый вариант
Apache выступает обратным прокси: принимает запросы на 80-м порту (HTTP) или 443-м (HTTPS), передает их на локальный порт веб-сервера 1С (обычно 8080). Модуль mod_proxy или mod_fcgid связывает Apache с 1С.
Такая схема дает гибкость: Apache управляет SSL-сертификатами, кэшированием статики, логами доступа. Веб-сервер 1С концентрируется на выполнении прикладного кода.
Подготовка сервера и установка компонентов
Системные требования
Для публикации базы 1С на веб-сервере Apache Ubuntu нужен сервер со следующими характеристиками:
- Процессор: минимум 2 ядра (рекомендуется 4–8 для продакшена)
- Память: 4 ГБ для тестовой среды, от 8 ГБ для боевой
- Дисковое пространство: 20 ГБ под ОС и платформу, дополнительно под базы данных
- ОС: Ubuntu 20.04/22.04, Debian 10/11, CentOS 7/8, RHEL 8 (64-bit)
Для работы потребуются права суперпользователя (root или sudo).
Установка платформы 1С:Предприятие 8.3
Скачайте серверный дистрибутив 1С:Предприятие 8.3 для Linux с сайта releases.1c.ru. Для Ubuntu используйте DEB-пакет, для CentOS — RPM.
Для Ubuntu/Debian:
sudo dpkg -i 1c-enterprise83-server_8.3.*.deb
sudo dpkg -i 1c-enterprise83-ws_8.3.*.deb
sudo apt-get install -f
Пакет 1c-enterprise83-server устанавливает серверную часть (агент сервера, рабочие процессы). Пакет 1c-enterprise83-ws — веб-расширение для публикации через HTTP.
Для CentOS/RHEL:
sudo yum localinstall 1c-enterprise83-server-8.3.*.rpm
sudo yum localinstall 1c-enterprise83-ws-8.3.*.rpm
После установки сервис 1С запускается автоматически. Проверьте статус:
sudo systemctl status srv1cv83
Должен быть статус active (running).
Установка и настройка Apache
Установите Apache и необходимые модули:
Ubuntu/Debian:
sudo apt update
sudo apt install apache2
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod rewrite
sudo systemctl restart apache2
CentOS/RHEL:
sudo yum install httpd
sudo systemctl enable httpd
sudo systemctl start httpd
Модули mod_proxy и mod_proxy_http нужны для проксирования запросов на веб-сервер 1С. Модуль mod_rewrite используется для перенаправлений и ЧПУ.
Создание и настройка информационной базы
Создание информационной базы
Создайте каталог для файловой базы:
sudo mkdir -p /var/1C/bases/testbase
sudo chown usr1cv83:grp1cv83 /var/1C/bases/testbase
sudo chmod 750 /var/1C/bases/testbase
Пользователь usr1cv83 и группа grp1cv83 создаются автоматически при установке платформы.
Зарегистрируйте базу в кластере 1С с помощью утилиты v8:
sudo su - usr1cv83
/opt/1cv8/x86_64/8.3.*/rac localhost:1540 cluster create --name="testcluster"
/opt/1cv8/x86_64/8.3.*/rac localhost:1540 infobase create \
--cluster= \
--name="testbase" \
--dbms=FileSystem \
--db-path="/var/1C/bases/testbase" \
--locale=ru_RU \
--create-database
Получите UUID кластера командой:
/opt/1cv8/x86_64/8.3.*/rac localhost:1540 cluster list
Для продуктивных систем рекомендуется использовать PostgreSQL вместо файловой базы. Файловая база проще в настройке, но хуже масштабируется и не поддерживает полноценную многопользовательскую работу под нагрузкой.
Настройка веб-публикации базы
Откройте файл конфигурации веб-сервера 1С:
sudo nano /etc/apache2/vhosts.d/1c-testbase.conf
Если директория vhosts.d не существует, создайте ее или используйте /etc/apache2/sites-available/ для Ubuntu.
Добавьте конфигурацию виртуального хоста:
<VirtualHost *:80>
ServerName 1c.example.com
DocumentRoot /var/www/html
ProxyPreserveHost On
ProxyPass /testbase http://127.0.0.1:8080/testbase
ProxyPassReverse /testbase http://127.0.0.1:8080/testbase
<Location /testbase>
Require all granted
</Location>
ErrorLog ${APACHE_LOG_DIR}/1c-testbase-error.log
CustomLog ${APACHE_LOG_DIR}/1c-testbase-access.log combined
</VirtualHost>
Здесь /testbase — путь публикации в браузере, 127.0.0.1:8080 — адрес веб-сервера 1С.
Активируйте конфигурацию (для Ubuntu):
sudo a2ensite 1c-testbase.conf
sudo systemctl reload apache2
Для CentOS достаточно перезагрузить httpd:
sudo systemctl restart httpd
Публикация базы через веб-сервер 1С
Настройка vrd-файла публикации
- Создайте каталог для vrd-файлов:
sudo mkdir -p /var/www/1c/vrd sudo chown usr1cv83:grp1cv83 /var/www/1c/vrd - Создайте файл публикации
/var/www/1c/vrd/testbase.vrd:point = testbase; ib = Srvr="localhost";Ref="testbase"; standardOhs = 1024; enable = 1;Параметры:
point— путь публикации (соответствует/testbaseв Apache)ib— строка подключения к информационной базеstandardOhs— максимальное число HTTP-сессий на процессenable— признак активности публикации (1 = включено)
- Укажите путь к vrd-файлу в конфигурации веб-сервера 1С. Откройте:
sudo nano /opt/1cv8/x86_64/8.3.*/conf/default.vrdДобавьте строку:
include "/var/www/1c/vrd/testbase.vrd"; - Перезапустите службу веб-сервера 1С:
sudo systemctl restart srv1cv83-*@8080.serviceНомер порта (8080) может отличаться. Посмотрите список служб:
sudo systemctl list-units | grep srv1cv83 - Проверьте доступность публикации. Откройте в браузере:
http://1c.example.com/testbaseДолжна появиться страница входа в 1С:Предприятие через веб-клиент.
Настройка SSL-сертификата для HTTPS
Публикация базы 1С на веб-сервере Apache Linux через HTTP небезопасна: логины и пароли передаются открытым текстом. Для продакшена обязательно настройте HTTPS.
Получение бесплатного сертификата Let's Encrypt
Установите Certbot:
Ubuntu/Debian:
sudo apt install certbot python3-certbot-apache
CentOS/RHEL:
sudo yum install certbot python3-certbot-apache
Запустите получение сертификата:
sudo certbot --apache -d 1c.example.com
Certbot автоматически настроит виртуальный хост на 443-м порту, получит сертификат и настроит автопродление.
После этого измените конфигурацию виртуального хоста для перенаправления HTTP → HTTPS:
<VirtualHost *:80>
ServerName 1c.example.com
Redirect permanent / https://1c.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName 1c.example.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/1c.example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/1c.example.com/privkey.pem
ProxyPreserveHost On
ProxyPass /testbase http://127.0.0.1:8080/testbase
ProxyPassReverse /testbase http://127.0.0.1:8080/testbase
<Location /testbase>
Require all granted
</Location>
ErrorLog ${APACHE_LOG_DIR}/1c-testbase-error.log
CustomLog ${APACHE_LOG_DIR}/1c-testbase-access.log combined
</VirtualHost>
Перезагрузите Apache:
sudo systemctl reload apache2
Теперь доступ к базе возможен только через HTTPS: https://1c.example.com/testbase.
Настройка производительности и безопасности
Ограничение ресурсов для процессов 1С
По умолчанию 1С создает один рабочий процесс на 100 пользователей. Для большой нагрузки настройте лимиты в файле ragent.cfg:
sudo nano /opt/1cv8/x86_64/8.3.*/conf/ragent.cfg
Измените параметры:
port=1540
maxMemorySize=2048000
maxMemoryTimeLimit=600
maxMemorySize— максимальная память на рабочий процесс (в КБ)maxMemoryTimeLimit— время работы процесса с превышением лимита (секунды)
Перезапустите агент кластера:
sudo systemctl restart srv1cv83
Настройка firewall
Откройте порты 80 и 443 для внешнего доступа:
Ubuntu (ufw):
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
CentOS (firewalld):
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
Порт 1540 (агент кластера 1С) и 8080 (веб-сервер 1С) должны быть доступны только локально. Убедитесь, что они не открыты наружу:
sudo netstat -tuln | grep -E '1540|8080'
Если видны адреса вида 0.0.0.0:1540, ограничьте доступ через firewall или настройте привязку к 127.0.0.1 в конфигурации 1С.
Логирование и мониторинг
Логи Apache хранятся в /var/log/apache2/ (Ubuntu) или /var/log/httpd/ (CentOS). Логи 1С — в /var/log/1C/.
Настройте ротацию логов 1С через logrotate:
sudo nano /etc/logrotate.d/1cv8
Содержимое:
/var/log/1C/*.log {
daily
rotate 7
compress
missingok
notifempty
}
Для мониторинга производительности используйте утилиту rac (консоль администрирования 1С) или подключите внешние системы (Zabbix, Prometheus).
Типовые конфигурации сервера для публикации 1С
| Конфигурация | Процессор | Память | Диски | Сценарий использования |
|---|---|---|---|---|
| Малая (тестовая) | 2 ядра | 4 ГБ | 1x 120 ГБ SSD | До 10 пользователей, разработка, тестирование |
| Средняя | 4 ядра | 8 ГБ | 2x 240 ГБ SSD RAID 1 | 10-50 пользователей, филиал, небольшая компания |
| Большая | 8 ядер | 16 ГБ | 2x 480 ГБ NVMe RAID 1 | 50-100 пользователей, средняя компания, интенсивная работа |
| Кластерная | 16+ ядер | 32+ ГБ | 4x 960 ГБ NVMe RAID 10 | 100+ пользователей, высоконагруженные системы, холдинг |
Для публикации базы 1С на веб-сервере Apache Ubuntu в продуктивной среде рекомендуется выделенный сервер с минимум 4 ядрами и 8 ГБ памяти. Виртуализация подходит для средних нагрузок, но для высоконагруженных систем лучше использовать bare-metal серверы с NVMe-дисками.
Частые ошибки при публикации 1С на Apache
Ошибка 503 Service Unavailable
Причина: Apache не может подключиться к веб-серверу 1С на порту 8080.
Решение:
- Проверьте, запущен ли веб-сервер 1С:
Если служба не запущена, запустите:sudo systemctl status srv1cv83-*@8080.servicesudo systemctl start srv1cv83-*@8080.service - Проверьте, слушает ли процесс порт 8080:
Если порт не занят, проблема в конфигурации веб-сервера 1С.sudo netstat -tuln | grep 8080 - Проверьте логи 1С в
/var/log/1C/на наличие ошибок запуска.
Ошибка «Не удалось подключиться к информационной базе»
Причина: неверная строка подключения в vrd-файле или база не зарегистрирована в кластере.
Решение:
- Проверьте список зарегистрированных баз:
Убедитесь, что база/opt/1cv8/x86_64/8.3.*/rac localhost:1540 infobase summary list --cluster=<cluster-uuid>testbaseприсутствует. - Проверьте строку подключения в
/var/www/1c/vrd/testbase.vrd:
Имя базы (ib = Srvr="localhost";Ref="testbase";Ref) должно совпадать с именем, указанным при регистрации. - Проверьте права доступа к каталогу базы:
Владелец должен бытьls -ld /var/1C/bases/testbaseusr1cv83, права —750.
Страница публикации открывается без стилей (белый фон, только текст)
Причина: Apache не проксирует запросы к статическим ресурсам (CSS, JS) веб-клиента 1С.
Решение:
Добавьте в конфигурацию виртуального хоста проксирование корневого пути:
ProxyPass /testbase http://127.0.0.1:8080/testbase
ProxyPassReverse /testbase http://127.0.0.1:8080/testbase
Если проблема сохраняется, проверьте, что модули mod_proxy и mod_proxy_http включены:
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo systemctl restart apache2
Ошибка «Превышен лимит активных соединений»
Причина: недостаточное количество лицензий или неправильная настройка пула рабочих процессов.
Решение:
- Проверьте количество доступных лицензий через консоль администрирования 1С.
- Увеличьте параметр
standardOhsв vrd-файле (количество HTTP-сессий на процесс):standardOhs = 2048; - Добавьте новые рабочие процессы в конфигурации кластера через консоль администрирования или
rac.
Медленная работа веб-клиента
Причина: недостаток ресурсов сервера, неоптимальная конфигурация кластера или медленный диск.
Решение:
- Проверьте загрузку CPU и памяти:
Если загрузка постоянно близка к 100%, увеличьте ресурсы сервера.top - Переключите файловую базу на PostgreSQL для повышения производительности многопользовательской работы.
- Включите кэширование статических ресурсов в Apache:
Добавьте в конфигурацию виртуального хоста:sudo a2enmod expires sudo a2enmod headers<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/png "access plus 1 year" ExpiresByType text/css "access plus 1 month" ExpiresByType application/javascript "access plus 1 month" </IfModule> - Используйте SSD или NVMe-диски вместо HDD для хранения информационных баз.
Вопросы и ответы
Можно ли использовать Nginx вместо Apache для публикации 1С?
Да, Nginx отлично подходит для публикации базы 1С. Он работает как обратный прокси, аналогично Apache. Nginx потребляет меньше памяти и быстрее обрабатывает статические файлы. Конфигурация похожа: используйте директивы proxy_pass и proxy_set_header для проксирования запросов на веб-сервер 1С. Однако Apache проще в настройке для начинающих и имеет больше готовых примеров в документации 1С.
Нужна ли отдельная лицензия для публикации 1С через веб?
Да, для работы через веб-клиент требуются клиентские лицензии типа «1С:Предприятие 8. Клиентская лицензия на 1 рабочее место». Количество лицензий должно соответствовать числу одновременно работающих пользователей. Серверная лицензия также обязательна. Файл лицензии загружается через консоль администрирования кластера или утилиту rac.
Как организовать доступ к нескольким базам через один Apache?
Создайте отдельный vrd-файл для каждой базы с уникальным значением параметра point. Например, point = base1 и point = base2. В конфигурации Apache добавьте соответствующие директивы ProxyPass для каждого пути: /base1 и /base2. Все vrd-файлы подключите в default.vrd через директиву include. Пользователи смогут открывать базы по адресам https://1c.example.com/base1 и https://1c.example.com/base2.
Чек-лист перед запуском в продакшен
Перед переводом публикации 1С в боевой режим проверьте:
- HTTPS настроен и работает — HTTP перенаправляется на HTTPS
- SSL-сертификат актуален — срок действия не истек, настроено автопродление
- Firewall настроен — порты 80 и 443 открыты наружу, 1540 и 8080 закрыты
- Резервное копирование настроено — автоматическое копирование баз и конфигураций
- Логирование работает — логи Apache и 1С пишутся, настроена ротация
- Ресурсы сервера достаточны — CPU, память и диск не перегружены
- Лицензии загружены — количество лицензий соответствует числу пользователей
- Мониторинг настроен — отслеживается доступность сервиса и нагрузка
Регулярно проверяйте обновления платформы 1С и устанавливайте их на тестовом окружении перед применением на продакшене. Следите за логами на наличие ошибок и предупреждений. Проводите нагрузочное тестирование перед масштабированием числа пользователей.
Поделиться статьёй:
Об авторе

Подбор и консалтинг · Экономика и выбор
Консультант по подбору серверного оборудования. 7 лет помогает компаниям выбирать серверы под задачи и бюджет. Сторонник разумной экономии.
Все статьи автора →Похожие материалы

Настройка и установка серверного оборудования: пошаговое руководство
ошаговое руководство по установке серверного оборудования: монтаж в стойку, настройка BIOS/iDRAC, подключение к сети. Практические советы для надёжной работы.

Ошибка 500 при публикации 1С на веб-сервере: диагностика и решение
Ошибка 500 при публикации 1С на веб-сервере парализует работу с веб-клиентом. В статье разбираем, как читать логи IIS и Apache, диагностировать проблему пошагово и исправить типичные причины: от неверной конфигурации пула приложений до нехватки ресурсов сервера. Практические решения для Windows и Linux.

Код ответа 500 в веб-сервисе 1С: почему происходит и как исправить
Ошибка с кодом состояния 500 в веб-сервисе 1С возникает из-за необработанного исключения в программном коде метода. Статья объясняет причины сбоя — от ошибок обращения к объектам до блокировок транзакций, показывает методы диагностики через технологический журнал и отладку, даёт пошаговые инструкции по устранению типичных проблем и настройке серверной инфраструктуры для стабильной работы интеграций.