DellShop B2B
Корзина

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

24 марта 2026 г.·11 мин чтения·Игорь ДементьевИгорь Дементьев
Публикация базы 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-файла публикации

  1. Создайте каталог для vrd-файлов:
    sudo mkdir -p /var/www/1c/vrd
    sudo chown usr1cv83:grp1cv83 /var/www/1c/vrd
    
  2. Создайте файл публикации /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 = включено)
  3. Укажите путь к vrd-файлу в конфигурации веб-сервера 1С. Откройте:
    sudo nano /opt/1cv8/x86_64/8.3.*/conf/default.vrd
    

    Добавьте строку:

    include "/var/www/1c/vrd/testbase.vrd";
    
  4. Перезапустите службу веб-сервера 1С:
    sudo systemctl restart srv1cv83-*@8080.service
    

    Номер порта (8080) может отличаться. Посмотрите список служб:

    sudo systemctl list-units | grep srv1cv83
    
  5. Проверьте доступность публикации. Откройте в браузере:
    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. Проверьте, запущен ли веб-сервер 1С:
    sudo systemctl status srv1cv83-*@8080.service
    
    Если служба не запущена, запустите:
    sudo systemctl start srv1cv83-*@8080.service
    
  2. Проверьте, слушает ли процесс порт 8080:
    sudo netstat -tuln | grep 8080
    
    Если порт не занят, проблема в конфигурации веб-сервера 1С.
  3. Проверьте логи 1С в /var/log/1C/ на наличие ошибок запуска.

Ошибка «Не удалось подключиться к информационной базе»

Причина: неверная строка подключения в vrd-файле или база не зарегистрирована в кластере.

Решение:

  1. Проверьте список зарегистрированных баз:
    /opt/1cv8/x86_64/8.3.*/rac localhost:1540 infobase summary list --cluster=<cluster-uuid>
    
    Убедитесь, что база testbase присутствует.
  2. Проверьте строку подключения в /var/www/1c/vrd/testbase.vrd:
    ib = Srvr="localhost";Ref="testbase";
    
    Имя базы (Ref) должно совпадать с именем, указанным при регистрации.
  3. Проверьте права доступа к каталогу базы:
    ls -ld /var/1C/bases/testbase
    
    Владелец должен быть usr1cv83, права — 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. Проверьте количество доступных лицензий через консоль администрирования 1С.
  2. Увеличьте параметр standardOhs в vrd-файле (количество HTTP-сессий на процесс):
    standardOhs = 2048;
    
  3. Добавьте новые рабочие процессы в конфигурации кластера через консоль администрирования или rac.

Медленная работа веб-клиента

Причина: недостаток ресурсов сервера, неоптимальная конфигурация кластера или медленный диск.

Решение:

  1. Проверьте загрузку CPU и памяти:
    top
    
    Если загрузка постоянно близка к 100%, увеличьте ресурсы сервера.
  2. Переключите файловую базу на PostgreSQL для повышения производительности многопользовательской работы.
  3. Включите кэширование статических ресурсов в 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>
    
  4. Используйте 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С и устанавливайте их на тестовом окружении перед применением на продакшене. Следите за логами на наличие ошибок и предупреждений. Проводите нагрузочное тестирование перед масштабированием числа пользователей.

Поделиться статьёй:

TelegramVKWhatsApp

Об авторе

Игорь Дементьев
Игорь Дементьев

Подбор и консалтинг · Экономика и выбор

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

Все статьи автора →

Похожие материалы

Ошибка 500 при публикации 1С на веб-сервере: диагностика и решение

Ошибка 500 при публикации 1С на веб-сервере: диагностика и решение

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

27.03.202611 мин
Код ответа 500 в веб-сервисе 1С: почему происходит и как исправить

Код ответа 500 в веб-сервисе 1С: почему происходит и как исправить

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

27.03.20269 мин