Запуск 1С:Предприятие 8.3 в веб-режиме на Linux требует связки из двух ключевых компонентов: сервера приложений 1С и веб-сервера, выступающего в роли посредника. Apache HTTP Server — классический, надежный выбор для этой задачи. В этой статье мы разберем весь процесс от установки базовых компонентов до финальной настройки рабочего окружения.
Представь, что это пошаговый чек-лист от старшего коллеги. Мы пройдем путь от чистого сервера до полностью рабочего кластера 1С, обслуживающего пользователей через браузер.
Подготовка системы и установка базовых компонентов
Перед тем как начать установку Apache для 1С предприятие 8.3, необходимо подготовить операционную систему. Мы будем рассматривать процесс на примере Ubuntu 20.04/22.04 LTS или CentOS/RHEL 8/9. Логика одинакова для большинства дистрибутивов.
1. Обновление системы и установка зависимостей
Первым делом обновим пакеты и установим необходимые для компиляции и работы утилиты.
# Для Debian/Ubuntu
sudo apt update && sudo apt upgrade -y
sudo apt install -y wget curl gnupg2 lsb-release ca-certificates \
build-essential libssl-dev libpcre2-dev \
apache2 apache2-dev # Установим Apache для последующей сборки модуля
# Для RHEL/CentOS/Rocky Linux/AlmaLinux
sudo dnf update -y
sudo dnf install -y wget curl epel-release
sudo dnf groupinstall -y "Development Tools"
sudo dnf install -y openssl-devel pcre2-devel \
httpd httpd-devel
2. Установка сервера 1С:Предприятие 8.3
Ключевой этап — установка сервера 1С предприятия на Linux. 1С предоставляет собственные репозитории для популярных дистрибутивов.
# Пример для Ubuntu/Debian (замени ссылку на актуальную)
sudo wget -qO- http://deb.1c.ru/1c_repository.key | sudo apt-key add -
sudo echo "deb http://deb.1c.ru/ubuntu $(lsb_release -rs) main" | sudo tee /etc/apt/sources.list.d/1c.list
sudo apt update
sudo apt install -y 1c-enterprise83-server 1c-enterprise83-ws
Пакет 1c-enterprise83-ws содержит компоненты для работы в веб-режиме, которые нам понадобятся.
3. Установка и настройка PostgreSQL
Для полноценной работы базы данных требуется установка сервера 1С предприятия 8.3 postgresql. Рекомендуется использовать версию PostgreSQL не ниже 12.
# Установка PostgreSQL 15 на Ubuntu
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc
sudo apt update
sudo apt install -y postgresql-15 postgresql-server-dev-15
# Создание пользователя и базы данных для 1С
sudo -u postgres psql -c "CREATE USER user_1c WITH PASSWORD 'StrongPassword123' CREATEDB;"
sudo -u postgres psql -c "CREATE DATABASE db_1c OWNER user_1c;"
# Настройка аутентификации в pg_hba.conf (обычно /etc/postgresql/15/main/pg_hba.conf)
# Добавь строку для локальных подключений:
# local db_1c user_1c md5
sudo systemctl restart postgresql
Сборка и настройка модуля Apache для 1С
Сердце связки — это динамический модуль apache2 (mod_1c или wsap24), который позволяет Apache взаимодействовать с сервером приложений 1С. Давай разберем процесс установки Apache 2.4 для 1С предприятие 8.3.
1. Поиск и подготовка исходных кодов модуля
Исходники модуля обычно находятся в каталоге установки 1С.
# Найдем путь к исходникам модуля Apache
find /opt/1C -name "*wsap*.so" -o -name "*wsap*.c" 2>/dev/null
# Чаще всего исходники лежат здесь:
# /opt/1C/v8.3/x86_64/ws/wsap24
# Перейдем в директорию с исходниками (путь может отличаться!)
cd /opt/1C/v8.3/x86_64/ws/wsap24
ls -la
# Должны увидеть файлы: Makefile, wsap24.c, config.m4 и др.
2. Компиляция модуля
Соберем модуль, используя apxs2 (для Debian/Ubuntu) или apxs (для RHEL).
# Для Ubuntu/Debian
sudo apxs2 -c -i -a wsap24.c
# Для RHEL/CentOS
sudo apxs -c -i -a wsap24.c
# Проверим, что модуль появился и подключен
# Ubuntu:
ls -la /usr/lib/apache2/modules/mod_wsap24.so
sudo apache2ctl -M | grep wsap24
# RHEL:
ls -la /etc/httpd/modules/mod_wsap24.so
sudo httpd -M | grep wsap24
3. Настройка виртуального хоста Apache для 1С
Создадим конфигурационный файл виртуального хоста, который будет обрабатывать запросы к веб-клиенту 1С.
# /etc/apache2/sites-available/1c-enterprise.conf (Ubuntu)
# или /etc/httpd/conf.d/1c-enterprise.conf (RHEL)
ServerName 1c.mydomain.local
DocumentRoot /var/www/html
# Директивы для модуля 1С
WSAP24_Server "localhost"
WSAP24_Port "1541"
WSAP24_ServerTimeout "30"
# Местоположение для обработки запросов 1С
SetHandler wsap24-handler
# Статические файлы веб-клиента (если используются)
Alias /1c/ws "/opt/1C/v8.3/x86_64/ws/"
Require all granted
Options Indexes FollowSymLinks
ErrorLog ${APACHE_LOG_DIR}/1c-error.log
CustomLog ${APACHE_LOG_DIR}/1c-access.log combined
Активируем сайт и перезапустим Apache:
# Ubuntu
sudo a2ensite 1c-enterprise.conf
sudo systemctl restart apache2
# RHEL
sudo systemctl restart httpd
# Проверим, что Apache слушает порт 80
sudo ss -tlnp | grep :80
Настройка кластера серверов 1С:Предприятие
Теперь настроим сам кластер серверов 1С, который будет обрабатывать бизнес-логику. Это завершающий этап установки сервера 1С предприятия 8.3 на linux.
1. Запуск и первоначальная настройка сервисов 1С
# Запустим основные сервисы 1С
sudo systemctl start srv1cv83 # Основной сервер
sudo systemctl start ras # Сервер администрирования
sudo systemctl enable srv1cv83 ras
# Проверим статус
sudo systemctl status srv1cv83 ras --no-pager -l
2. Создание кластера и рабочего сервера через консоль
Используем утилиту ras для управления кластером.
# Создадим новый кластер
/opt/1C/v8.3/x86_64/ras cluster insert \
--cluster=http://localhost:1540 \
--name="MainCluster" \
--host=localhost \
--port=1541 \
--login=Администратор \
--pwd=""
# Добавим рабочий сервер в кластер
/opt/1C/v8.3/x86_64/ras server insert \
--cluster=http://localhost:1540 \
--name="MainServer" \
--host=localhost \
--port=1541 \
--login=Администратор \
--pwd=""
3. Регистрация веб-сервера в кластере
Это ключевой шаг, который связывает Apache и сервер приложений 1С.
# Зарегистрируем веб-сервер
/opt/1C/v8.3/x86_64/webinst -publish -apache24 -wsdir /1c -dir "/opt/1C/v8.3/x86_64/ws" -connstr "http://localhost:1541"
# Альтернативно, можно использовать прямой вызов ras
/opt/1C/v8.3/x86_64/ras web-app-registration \
--cluster=http://localhost:1540 \
--name="WebApp" \
--folder="/1c" \
--location="http://1c.mydomain.local/1c" \
--login=Администратор \
--pwd=""
Проверка работоспособности и устранение неполадок
После завершения установки 1С предприятия на linux необходимо убедиться, что вся цепочка работает корректно.
Чек-лист проверки:
- Apache:
sudo systemctl status apache2(должен быть active) - Сервер 1С:
sudo systemctl status srv1cv83(должен быть active) - Сеть:
sudo ss -tlnp | grep -E ':80|:1540|:1541'(порты должны слушаться) - Модуль Apache:
sudo apache2ctl -M | grep wsap24(модуль должен быть загружен) - Веб-доступ: Открой в браузере http://IP_СЕРВЕРА/1c. Должна появиться страница веб-клиента 1С.
Частые проблемы и их решения
| Проблема | Возможная причина | Решение |
|---|---|---|
| Ошибка 403 Forbidden при доступе к /1c | Неправильные права доступа к каталогам или настройки Directory в Apache | Проверь Require all granted в конфиге Apache и права на /opt/1C/v8.3/x86_64/ws/ |
| Модуль wsap24 не загружается | Ошибка компиляции или конфликт версий библиотек | Проверь логи Apache (/var/log/apache2/error.log). Пересобери модуль с подробным выводом: sudo apxs2 -c -i -a -Wc,"-Wall" -Wl,"-Wall" wsap24.c |
| Сервер 1С не запускается | Нехватка лицензии или проблемы с портами | Проверь наличие лицензии (/var/1C/licenses/*.lic). Убедись, что порты 1540 и 1541 свободны. |
Часто задаваемые вопросы (FAQ)
Можно ли использовать Nginx вместо Apache для 1С?
Да, это возможно. Nginx может выступать в роли reverse proxy перед Apache или напрямую взаимодействовать с сервером 1С через модуль ngx_http_1c_module. Однако установка Apache для 1С предприятия остается классическим и наиболее документированным способом, особенно для начинающих администраторов.
Какие порты нужно открыть в фаерволе?
Для базовой работы необходимо открыть:
- TCP 80/443 — для веб-доступа пользователей через Apache.
- TCP 1540 — для консоли администрирования кластера (RAS).
- TCP 1541 — для взаимодействия между сервисами 1С (рабочий сервер).
- TCP 5432 — если PostgreSQL находится на этом же сервере и нужен удаленный доступ.
Где хранятся логи и как мониторить работу системы?
Логи Apache: /var/log/apache2/ (Ubuntu) или /var/log/httpd/ (RHEL).
Логи сервера 1С: /var/log/1C/ (файлы rphost_*, rmngr_*).
Для мониторинга используй systemctl status, journalctl -u srv1cv83 -f и следи за использованием памяти процессами ragent и rphost.
Как обновить сервер 1С или Apache без простоя?
Рекомендуется использовать схему с балансировщиком нагрузки и несколькими рабочими серверами. Тогда можно поочередно выводить серверы из кластера, обновлять их и возвращать в строй. Для Apache можно использовать graceful restart: sudo apache2ctl graceful.
Заключение
Установка сервера 1С предприятия на linux с веб-доступом через Apache — многоэтапный, но полностью автоматизируемый процесс. Ключевые моменты для успеха:
- Тщательная подготовка ОС и установка всех зависимостей.
- Корректная сборка модуля
wsap24для твоей версии Apache. - Правильная настройка виртуального хоста Apache и регистрация веб-приложения в кластере 1С.
- Поэтапная проверка каждого компонента системы.
Полученная связка (Linux + Apache + 1С:Предприятие + PostgreSQL) образует стабильную, производительную и экономичную платформу для автоматизации бизнеса, которую легко масштабировать и обслуживать.