Многие компании на этапе роста или оптимизации ИТ-расходов сталкиваются с дилеммой: продолжать платить за готовые облачные решения (например, 1С:Фреш) по тарифу около 1000 рублей за пользователя в месяц или арендовать собственный виртуальный сервер (VPS/VDS), купить лицензии и развернуть систему самостоятельно. На первый взгляд, аренда сервера за 1000 рублей в месяц кажется невероятно выгодной сделкой. Однако администрирование собственной инфраструктуры 1С таит в себе множество скрытых нюансов.
В этой статье мы подробно разберем, как правильно организовать работу 1С на виртуальном сервере, какие подводные камни могут возникнуть при лицензировании, как выбрать подходящее аппаратное обеспечение, настроить связку из бесплатной операционной системы Linux и СУБД PostgreSQL, а также защитить свои данные от потери.
Прежде чем переходить к технической реализации, давайте проанализируем финансовую сторону вопроса. Логика «купил один раз лицензии 1С и арендую сервер за 1000 рублей» имеет право на жизнь, но часто не учитывает сопутствующие расходы:
1С:ИТС (КП). В облачных тарифах 1С:Фреш стоимость обновлений уже включена в ежемесячный платеж.Вывод: Собственный сервер становится экономически выгодным в двух случаях: когда количество пользователей превышает 5–10 человек (тогда фиксированная стоимость аренды железа размывается) или когда вам требуются нетиповые, сильно доработанные конфигурации, которые невозможно запустить в стандартном облаке.
Если вы решили разворачивать 1С на VPS, то самым критичным моментом станет поведение программных лицензий платформы. Программная лицензия 1С привязывается к ключевым параметрам сервера:
RAM);CPU);На виртуальном сервере провайдер может в любой момент обновить оборудование хоста, перенести вашу виртуальную машину на другой узел для балансировки нагрузки (технология live migration) или изменить сетевые настройки. При любом таком изменении ваша лицензия 1С заблокируется («слетит»), и система потребует ввести новый резервный пин-код из комплекта. Когда пин-коды закончатся, вам придется отправлять официальный запрос в Центр лицензирования 1С для получения дополнительных ключей.
Как решить эту проблему при настройке VPS?
Мнение участников обсуждения единогласно: сервер за 1000 рублей в месяц для комфортной работы группы пользователей не подойдет. За эту сумму вы обычно получаете 1-2 виртуальных ядра (vCPU) с низкой тактовой частотой, 2-4 ГБ оперативной памяти и медленный диск. Такая конфигурация справится максимум с одним пользователем в файловом режиме.
Разберем детально, какими характеристиками должен обладать сервер для стабильной работы СУБД и сервера приложений 1С:
Использование операционной системы Windows Server на VPS влечет за собой необходимость покупки дорогостоящих лицензий на саму ОС и терминальные подключения (RDS CAL). Поэтому отличным и полностью бесплатным решением является связка Linux + PostgreSQL.
Рассмотрим особенности выбора дистрибутивов:
CentOS прекратил свое классическое развитие, для развертывания серверов 1С чаще всего выбирают стабильный Debian или Ubuntu Server LTS. В рамках импортозамещения и корпоративных стандартов также отлично подходят отечественные ОС, такие как Astra Linux или РЕД ОС.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
Чтобы избежать покупки лицензий на службы удаленных рабочих столов (терминальный сервер RDP), мы можем использовать возможности веб-публикации 1С. Для этого на нашем Linux-сервере достаточно установить и настроить бесплатный веб-сервер Apache или Nginx.
Пользователи смогут подключаться к базе двумя способами:
Рассмотрим по шагам, как выглядит процесс публикации базы данных на веб-сервере Apache в операционной системе семейства Linux с помощью встроенной утилиты 1С webinst:
Apache стандартными средствами операционной системы./var/www/my_base.
# Выполняем публикацию базы данных на веб-сервере 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).
При переходе на арендованный VPS вся ответственность за сохранность ваших данных ложится исключительно на ваши плечи. Если виртуальный сервер выйдет из строя или база данных будет повреждена из-за программного сбоя, восстановить ее без бэкапа будет невозможно.
Выясним основные правила настройки резервного копирования:
pg_dump.Пример простого 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, чтобы создание резервной копии происходило автоматически каждую ночь, не отвлекая пользователей от работы.