Как правильно установить и настроить 1С на виртуальном сервере (VPS/VDS)?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Многие компании на этапе роста или оптимизации ИТ-расходов сталкиваются с дилеммой: продолжать платить за готовые облачные решения (например, 1С:Фреш) по тарифу около 1000 рублей за пользователя в месяц или арендовать собственный виртуальный сервер (VPS/VDS), купить лицензии и развернуть систему самостоятельно. На первый взгляд, аренда сервера за 1000 рублей в месяц кажется невероятно выгодной сделкой. Однако администрирование собственной инфраструктуры 1С таит в себе множество скрытых нюансов.

В этой статье мы подробно разберем, как правильно организовать работу 1С на виртуальном сервере, какие подводные камни могут возникнуть при лицензировании, как выбрать подходящее аппаратное обеспечение, настроить связку из бесплатной операционной системы Linux и СУБД PostgreSQL, а также защитить свои данные от потери.

1. Экономика проекта: Свой VPS (IaaS) против 1С:Фреш (SaaS)

Прежде чем переходить к технической реализации, давайте проанализируем финансовую сторону вопроса. Логика «купил один раз лицензии 1С и арендую сервер за 1000 рублей» имеет право на жизнь, но часто не учитывает сопутствующие расходы:

  1. Стоимость обновлений (ИТС): Для того чтобы ваши типовые конфигурации (например, 1C:Бухгалтерия или Зарплата и Управление Персоналом) регулярно обновлялись и соответствовали актуальному законодательству, вам потребуется ежегодно оплачивать подписку 1С:ИТС (КП). В облачных тарифах 1С:Фреш стоимость обновлений уже включена в ежемесячный платеж.
  2. Затраты на администрирование: Готовое облако работает по принципу «включил и пользуйся» — резервным копированием, обновлением платформы и безопасностью занимаются специалисты провайдера. На собственном VPS вам придется настраивать все самостоятельно или привлекать системного администратора, услуги которого стоят денег.
  3. Лицензирование пользователей: При работе на VPS вам понадобятся основные поставки программных продуктов и клиентские лицензии на каждое рабочее место.

Вывод: Собственный сервер становится экономически выгодным в двух случаях: когда количество пользователей превышает 5–10 человек (тогда фиксированная стоимость аренды железа размывается) или когда вам требуются нетиповые, сильно доработанные конфигурации, которые невозможно запустить в стандартном облаке.

2. Главный технический подводный камень: Лицензирование 1С в виртуальной среде

Если вы решили разворачивать 1С на VPS, то самым критичным моментом станет поведение программных лицензий платформы. Программная лицензия 1С привязывается к ключевым параметрам сервера:

На виртуальном сервере провайдер может в любой момент обновить оборудование хоста, перенести вашу виртуальную машину на другой узел для балансировки нагрузки (технология live migration) или изменить сетевые настройки. При любом таком изменении ваша лицензия 1С заблокируется («слетит»), и система потребует ввести новый резервный пин-код из комплекта. Когда пин-коды закончатся, вам придется отправлять официальный запрос в Центр лицензирования 1С для получения дополнительных ключей.

Как решить эту проблему при настройке VPS?

  1. При создании виртуальной машины у хостинг-провайдера обязательно требуйте жесткой фиксации параметров оборудования. Особое внимание уделите статическому MAC-адресу сетевой карты и UUID виртуального процессора.
  2. Рассмотрите вариант создания отдельной микро-ВМ (с минимальными ресурсами), которая будет выполнять исключительно роль сервера лицензирования 1С. Ее конфигурация никогда не будет меняться, что защитит лицензии от сбоев.
  3. Если вы переносите базы с локального сервера, где использовался физический USB-ключ (HASP), вам придется либо выполнить официальный обмен USB-ключа на программные лицензии через партнеров 1С, либо использовать специализированный софт для проброса USB по сети (USB-over-IP), что усложняет архитектуру и снижает надежность.

3. Требования к «железу» виртуального сервера

Мнение участников обсуждения единогласно: сервер за 1000 рублей в месяц для комфортной работы группы пользователей не подойдет. За эту сумму вы обычно получаете 1-2 виртуальных ядра (vCPU) с низкой тактовой частотой, 2-4 ГБ оперативной памяти и медленный диск. Такая конфигурация справится максимум с одним пользователем в файловом режиме.

Разберем детально, какими характеристиками должен обладать сервер для стабильной работы СУБД и сервера приложений 1С:

4. Выбор операционной системы и СУБД

Использование операционной системы Windows Server на VPS влечет за собой необходимость покупки дорогостоящих лицензий на саму ОС и терминальные подключения (RDS CAL). Поэтому отличным и полностью бесплатным решением является связка Linux + PostgreSQL.

Рассмотрим особенности выбора дистрибутивов:

  1. Операционная система: Поскольку дистрибутив CentOS прекратил свое классическое развитие, для развертывания серверов 1С чаще всего выбирают стабильный Debian или Ubuntu Server LTS. В рамках импортозамещения и корпоративных стандартов также отлично подходят отечественные ОС, такие как Astra Linux или РЕД ОС.
  2. СУБД PostgreSQL: Важно понимать, что стандартная версия PostgreSQL из стандартных репозиториев Linux не подходит для работы с 1С. В ней отсутствуют специфические патчи для корректной работы механизмов блокировок таблиц и временных файлов платформы. Для работы вам потребуется либо специализированная бесплатная сборка СУБД от самой фирмы 1С (доступна на портале ИТС), либо оптимизированное коммерческое решение Postgres Pro 1C от компании Postgres Professional.

Проанализируем пример базовой оптимизации конфигурационного файла СУБД PostgreSQL (postgresql.conf) для сервера с 16 ГБ оперативной памяти:


# Оптимальные параметры для работы 1С на сервере с 16 ГБ RAM
max_connections = 100
shared_buffers = 4GB                  # 25% от общего объема ОЗУ
effective_cache_size = 12GB           # 75% от общего объема ОЗУ
maintenance_work_mem = 1GB            # Для быстрой очистки и индексации
work_mem = 64MB                       # Выделяется на каждый сложный запрос
temp_buffers = 256MB                  # Размер временных буферов для 1С
row_security = off

5. Публикация базы на веб-сервере для подключения пользователей

Чтобы избежать покупки лицензий на службы удаленных рабочих столов (терминальный сервер RDP), мы можем использовать возможности веб-публикации 1С. Для этого на нашем Linux-сервере достаточно установить и настроить бесплатный веб-сервер Apache или Nginx.

Пользователи смогут подключаться к базе двумя способами:

Рассмотрим по шагам, как выглядит процесс публикации базы данных на веб-сервере Apache в операционной системе семейства Linux с помощью встроенной утилиты 1С webinst:

  1. Установим веб-сервер Apache стандартными средствами операционной системы.
  2. Создадим каталог для публикации базы данных, например: /var/www/my_base.
  3. Перейдем в каталог с установленной платформой 1С и выполним команду публикации:

# Выполняем публикацию базы данных на веб-сервере Apache 2.4
/opt/1cv8/x86_64/8.3.22.1709/webinst -apache24 -wsdir my_base -dir /var/www/my_base -conn "Srvr=localhost;Ref=my_base;" -confPath /etc/apache2/apache2.conf

После перезапуска службы Apache база станет доступна пользователям по протоколу HTTP. Для обеспечения безопасности обязательно настройте шифрование трафика с помощью бесплатного SSL-сертификата (например, Let's Encrypt).

6. Организация резервного копирования (Бэкапы)

При переходе на арендованный VPS вся ответственность за сохранность ваших данных ложится исключительно на ваши плечи. Если виртуальный сервер выйдет из строя или база данных будет повреждена из-за программного сбоя, восстановить ее без бэкапа будет невозможно.

Выясним основные правила настройки резервного копирования:

  1. Никогда не храните резервные копии на том же виртуальном сервере, где крутится рабочая база. В случае сбоя дискового массива хостинга вы потеряете и рабочую базу, и бэкапы. Настройте автоматическую отправку архивов во внешнее облачное хранилище (например, по протоколу WebDAV или SFTP).
  2. Используйте регулярное создание дампов баз данных через стандартные утилиты СУБД. Например, для создания резервной копии базы данных средствами PostgreSQL отлично подходит утилита pg_dump.
  3. Разработайте расписание: делайте ежедневные архивы базы, а также храните еженедельные и ежемесячные срезы данных.

Пример простого bash-скрипта для автоматического создания резервной копии базы данных PostgreSQL и сохранения ее в указанный каталог:


#!/bin/bash
# Задаем переменные
DB_NAME="my_base"
BACKUP_DIR="/backup/1c_bases"
DATE=$(date +%Y-%m-%d_%H-%M-%S)

# Создаем резервную копию базы данных
pg_dump -U postgres -F c -b -v -f "${BACKUP_DIR}/${DB_NAME}_backup_${DATE}.backup" ${DB_NAME}

# Удаляем резервные копии старше 14 дней для экономии места
find ${BACKUP_DIR} -type f -mtime +14 -name "*.backup" -exec rm -f {} \;

Этот скрипт можно добавить в планировщик задач cron, чтобы создание резервной копии происходило автоматически каждую ночь, не отвлекая пользователей от работы.

← На главную