Смена платформы 1С:Предприятие на сервере — задача, с которой рано или поздно сталкивается каждый администратор. Причины могут быть разные: переход с Windows Server на Linux для экономии лицензий, обновление до актуальной версии платформы, миграция на облачную инфраструктуру или дажеforced переход из-за окончания поддержки старой ОС. В отличие от обновления конфигурации, замена платформы затрагивает системные компоненты, поэтому требует тщательной подготовки и тестирования.

Эта инструкция охватывает все этапы — от резервного копирования до финальной проверки работоспособности. Мы разберём нюансы для разных операционных систем, типичные ошибки (например, проблемы с правами доступа или несовместимостью версий) и дадим чек-лист для контроля процесса. Особое внимание уделим миграции с Windows на Linux: despite официальной поддержки, здесь есть подводные камни с кодировками и настройками Apache/Nginx для веб-доступа.

1. Подготовка к смене платформы: что нужно сделать до начала

Первый шаг — аудит текущей инфраструктуры. Составьте полный список:

  • 📋 Версии платформы 1С:Предприятие (текущая и целевая). Проверьте совместимость через официальный портал релизов.
  • 🖥️ Конфигурации баз данных (управляемые/обычные формы, версии конфигураций). Некоторые старые конфигурации могут не поддерживать новые версии платформы.
  • 🔄 Тип сервера (файловый или клиент-серверный). Для клиент-серверного варианта потребуется обновление SQL Server/PostgreSQL.
  • 🌐 Способы подключения пользователей (тонкий клиент, веб-доступ, мобильное приложение). Это влияет на настройку новых компонентов.

Критически важно создать полные резервные копии:

  • 💾 Баз данных (через 1Cv8.1CD или средства СУБД). Для PostgreSQL используйте pg_dump.
  • 📂 Конфигурационных файлов сервера (например, conf.cfg, srvinfo).
  • 🔑 Лицензионных ключей и файлов .lic. Без них новая платформа не запустится.

💡

Если используете аппаратные ключи защиты (например, HASP или Guardant), проверьте их совместимость с новой ОС заранее. Некоторые драйверы требуют ручной установки на Linux.

Не забудьте уведомить пользователей о времени простоя! Для крупных систем планируйте миграцию на выходные или ночное время. Если у вас распределённая команда, назначьте ответственного за каждый этап (например, один админ занимается сервером, другой — тестированием клиентов).

📊 На какой ОС работает ваш текущий сервер 1С?
Windows Server
Linux (Debian/Ubuntu)
Linux (CentOS/RHEL)
Другая ОС

2. Выбор целевой платформы: Windows vs Linux

Официально 1С:Предприятие 8.3 поддерживает обе системы, но есть ключевые различия:

Критерий Windows Server Linux (Debian/Ubuntu, RHEL)
Стоимость лицензий Высокая (требуется лицензия на ОС и CAL для пользователей) Бесплатно (можно использовать открытые дистрибутивы)
Производительность Стабильная, но выше нагрузка на ОЗУ Более эффективное использование ресурсов, особенно для большого количества пользователей
Сложность администрирования Проще для новичков (GUI-интерфейсы) Требует знания командной строки и конфигурационных файлов
Поддержка веб-доступа Через IIS или Apache Только через Apache/Nginx (настройка сложнее)
Обновления безопасности Регулярные, но иногда требуют перезагрузки Более частые, можно обновлять без перезагрузки

Для Linux рекомендуем дистрибутивы:

  • 🐧 Debian 11/12 или Ubuntu 22.04 LTS — наиболее стабильные и проверенные варианты.
  • 🐧 RHEL 8/9 или CentOS Stream — если нужна поддержка от Red Hat.

Если вы переходите с Windows на Linux, учтите:

  • ⚠️ Кодировки: базы данных, созданные в Windows (CP1251), могут неправильно отображаться в Linux (UTF-8). Используйте утилиту chrcnv8 для конвертации.
  • ⚠️ Права доступа: на Linux потребуется настроить chmod и chown для папок с базами.
  • ⚠️ Шрифты: некоторые печатные формы могут выглядеть иначе. Проверьте наличие шрифтов Microsoft Core Fonts.

Что делать, если после миграции на Linux пропадают русские символы в отчётах?

Это типичная проблема с кодировкой. Решение:

1. Установите пакет шрифтов: sudo apt install ttf-mscorefonts-installer (для Debian/Ubuntu).

2. В файле /etc/environment добавьте строку LANG=ru_RU.UTF-8.

3. Перезапустите сервис 1С: sudo systemctl restart srv1cv83.

Если проблема осталась, конвертируйте базу через chrcnv8 с ключом --utf8.

3. Установка новой платформы 1С

Процесс установки отличается в зависимости от ОС. Ниже — универсальные шаги с учетом особенностей.

Для Windows Server:

1. Скачайте дистрибутив платформы с сайта 1С (выберите версию для Windows x64).

2. Запустите установщик с правами администратора.

3. Выберите компоненты:

  • 🖥️ Сервер 1С:Предприятия (обязательно для клиент-серверного варианта).
  • 🌐 Веб-сервер (если нужен доступ через браузер).
  • 📊 Администрирование сервера (утилиты rac и ragent).

4. Укажите путь установки (по умолчанию — C:\Program Files\1cv8).

5. После установки обновите лицензии в Лицензирование → Обновить.

Для Linux:

1. Установите зависимости:

sudo apt update

sudo apt install -y lsb-core libgsf-1-114 libxml2

2. Скачайте дистрибутив для Linux (файл с расширением .tar.gz).

3. Распакуйте архив в /opt/1C/v8.3:

sudo mkdir -p /opt/1C/v8.3

sudo tar -xzf 1c-enterprise83-*.tar.gz -C /opt/1C/v8.3

4. Установите сервис:

sudo /opt/1C/v8.3/setup/setup-full-8.3.23.xxxx.sh

(замените xxxx на номер сборки).

5. Настройте автозапуск:

sudo systemctl enable srv1cv83

sudo systemctl start srv1cv83

Установлены все зависимости (lsb-core, libgsf-1-114)|Сервис 1С добавлен в автозагрузку|Порты 1540-1541 открыты в фаерволле|Лицензии успешно загружены в систему|Тестовое подключение прошло без ошибок-->

После установки проверьте версию платформы командой:

/opt/1C/v8.3/8.3.23.xxxx/1cv8 -version

(для Linux) или через Панель управления → Программы и компоненты (для Windows).

4. Перенос баз данных на новую платформу

Самый ответственный этап — миграция данных. Способ зависит от типа базы:

Для файловых баз (.1CD):

1. Скопируйте файлы баз (.1CD, .1CDL) в новую папку на сервере.

2. Обновите пути в файле ibases.v8i (расположен в профиле пользователя или в общей папке).

3. Проверьте права доступа:

sudo chown -R usr1cv8:grp1cv8 /путь/к/базам

sudo chmod -R 770 /путь/к/базам

Для клиент-серверных баз (SQL/PostgreSQL):

1. Экспортируйте базу через pg_dump (для PostgreSQL) или SQL Server Management Studio.

2. Создайте новую базу на целевом сервере:

createdb -U postgres имя_базы -E UTF8 -l ru_RU.UTF-8 -T template0

3. Импортируйте данные:

psql -U postgres имя_базы < дамп.sql

4. Обновите настройки подключения в conf.cfg (путь к СУБД, порт, имя базы).

💡

При миграции с MS SQL на PostgreSQL используйте утилиту dbmssql2pg от 1С. Она автоматически конвертирует типы данных и исправляет синтаксис запросов.

Для крупных баз (более 50 ГБ) рекомендуем:

  • 🔄 Переносить данные в нерабочее время (ночью или на выходных).
  • 📊 Использовать утилиту 1Cv8.1CD с ключом --restore для проверки целостности.
  • 🔒 Отключить всех пользователей перед началом миграции (через rac).

5. Настройка веб-доступа и интеграций

Если пользователи подключаются через веб-интерфейс или мобильное приложение, потребуется дополнительная настройка.

Для Windows (IIS):

1. Установите компонент Веб-сервер 1С:Предприятия во время установки платформы.

2. В IIS Manager создайте новый сайт с пулом приложений .NET CLR version 4.0.

3. Укажите путь к файлу default.vrd (находится в папке установки 1С).

4. Настройте аутентификацию (обычно Anonymous Authentication + Windows Authentication).

Для Linux (Apache/Nginx):

1. Установите веб-сервер:

sudo apt install apache2

2. Активируйте модули:

sudo a2enmod proxy proxy_http headers

3. Создайте конфиг для сайта (/etc/apache2/sites-available/1c.conf):

<VirtualHost *:80>

ServerName 1c.yourdomain.ru

ProxyPass / http://localhost:8080/

ProxyPassReverse / http://localhost:8080/

</VirtualHost>

4. Перезапустите Apache:

sudo systemctl restart apache2

Для мобильного доступа (через 1С:Мобильная платформа):

  • 📱 Обновите сертификаты SSL (используйте Let’s Encrypt для бесплатных сертификатов).
  • 🔗 Проверьте настройки webinst.xml (должен быть доступен по HTTPS).
  • 🔄 Перезагрузите сервис nginx или apache2 после изменений.

1. Открыты ли порты 80/443 в фаерволле (sudo ufw allow 80,443).

2. Правильно ли указан URL в файле default.vrd.

3. Запущен ли сервис apache2 или nginx (sudo systemctl status apache2).-->

6. Тестирование и устранение ошибок

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

  • 🔍 Функциональное тестирование:
    • Откройте все основные формы (документы, справочники, отчёты).
    • Проверьте печать документов (особенно с штрихкодами и графикой).
    • Запустите регламентные задания.
  • 📊 Производительность:
    • Сравните время открытия форм до и после миграции.
    • Проверьте нагрузку на CPU/OЗУ через htop (Linux) или Task Manager (Windows).
  • 🔒 Безопасность:
    • Убедитесь, что права доступа к базам не сбросились.
    • Проверьте логи на ошибки (/var/log/1C/srv1cv83.log).

Типичные ошибки и их решения:

Ошибка Причина Решение
Не найден ключ защиты Не подключён аппаратный ключ или неверный путь к файлу лицензии Проверьте подключение ключа (lsusb) или путь в /etc/1C/conf/licenses
Ошибка формата потока Несовпадение версий платформы и конфигурации Обновите конфигурацию через Конфигуратор → Обновить конфигурацию базы данных
Нет прав на доступ к файлу Неверные права на папку с базами Выполните chmod 770 /путь/к/базам и chown usr1cv8:grp1cv8
Не удалось подключиться к СУБД Неверные настройки в conf.cfg или СУБД не запущена Проверьте sudo systemctl status postgresql и параметры в conf.cfg

Если после миграции пользователи жалуются на медленную работу, проверьте:

  • 🔄 Индексы в базе данных: после переноса они могут сброситься. Пересоздайте их через VACUUM ANALYZE (PostgreSQL).
  • 📂 Фрагментацию файлов: для файловых баз выполните 1Cv8.1CD --repack.
  • 🌐 Сетевые задержки: используйте ping и traceroute для диагностики.

usr1cv8 soft nofile 4096 usr1cv8 hard nofile 8192

Это увеличит лимит открытых файлов для пользователя 1С.-->

7. Оптимизация и мониторинг после миграции

Чтобы новая платформа работала стабильно, настройте:

  • 📈 Мониторинг ресурсов:
    • Используйте Zabbix или Prometheus для отслеживания нагрузки.
    • Настройте алерты на превышение CPU/RAM.
  • 🔄 Резервное копирование:
    • Автоматизируйте бэкапы через cron (Linux) или Task Scheduler (Windows).
    • Проверяйте целостность бэкапов раз в неделю.
  • 🔒 Безопасность:
    • Закройте ненужные порты в фаерволле (sudo ufw deny 1542).
    • Настройте ротацию логов (/etc/logrotate.d/1c).

Для PostgreSQL рекомендуем оптимизировать параметры в postgresql.conf:

shared_buffers = 4GB          # 25% от общей ОЗУ

work_mem = 16MB # для сложных запросов

maintenance_work_mem = 512MB # для VACUUM

effective_cache_size = 12GB # 75% от общей ОЗУ

После изменений перезапустите СУБД: sudo systemctl restart postgresql.

Если используете 1С:Документооборот или 1С:ERP, проверьте настройки полнотекстового поиска. На Linux может потребоваться установка дополнительных пакетов:

sudo apt install postgresql-15-pg-trgm postgresql-15-unaccent

💡

После миграции обновите драйверы принтеров и оборудования (сканеры штрихкодов, ККМ). Старые драйверы могут не работать с новой платформой.

8. Обратный откат: что делать, если что-то пошло не так

Даже при тщательной подготовке возможны сбои. Заранее подготовьте план отката:

  1. 🛑 Остановите все сервисы 1С:
    sudo systemctl stop srv1cv83 apache2 postgresql
  2. 🔙 Восстановите резервные копии:
    • Для файловых баз: скопируйте обратно старые файлы .1CD.
    • Для SQL: восстановите дамп через psql или SSMS.
  3. 🔄 Верните старую платформу:
    • На Windows: переустановите старую версию поверх новой.
    • На Linux: восстановите папку /opt/1C/v8.3 из бэкапа.
  • 📋 Проверьте конфигурационные файлы:
    • Восстановите старые версии conf.cfg, srvinfo.
    • Перезапустите сервисы.

    Если откат не помог, проверьте:

    • 🔍 Логи ошибок (/var/log/1C/ или Журналы Windows).
    • 🔌 Сетевые подключения (например, не блокирует ли фаервол порт 1541).
    • 🔑 Права доступа к папкам и файлам лицензий.

    Что делать, если после отката базы не открываются?

    1. Проверьте версию платформы — она должна совпадать с версией, на которой создавался бэкап.

    2. Для файловых баз выполните проверку целостности:

    1Cv8.1CD --test-and-fix /путь/к/базе.1CD

    3. Если базы повреждены, восстановите их из более раннего бэкапа.

    4. В крайнем случае используйте утилиту chdbfl для восстановления структуры.

    FAQ: Частые вопросы по смене платформы 1С

    Можно ли перенести базу с 1С 8.2 на 8.3 без конвертации?

    Нет, это невозможно. Платформа 1С:Предприятие 8.3 использует другой формат данных. При первом открытии базы в новой версии произойдёт автоматическая конвертация, но лучше сделать это заранее через Конфигуратор → Администрирование → Выгрузить информационную базу, а затем загрузить в 8.3.

    Как перенести лицензии с Windows на Linux?

    Для программных лицензий (.lic файлы):

    1. Скопируйте файлы лицензий из C:\Program Files\1cv8\conf\licenses в /etc/1C/conf/licenses.
    2. Проверьте права доступа: sudo chmod 644 /etc/1C/conf/licenses/*.lic.
    3. Перезапустите сервис: sudo systemctl restart srv1cv83.

    Для аппаратных ключей (HASP):

    1. Установите драйвер: sudo apt install hasp-dkms.
    2. Подключите ключ к серверу и проверьте его обнаружение: lsusb | grep Aladdin.

    Почему после миграции на Linux медленно работают отчёты?

    Причины могут быть следующими:

    • 📉 Недостаточно ресурсов: проверьте свободную память (free -h) и нагрузку на CPU (top).
    • 🗃️ Не оптимизирована СУБД: для PostgreSQL увеличьте shared_buffers и work_mem.
    • 🔍 Отсутствуют индексы: выполните VACUUM ANALYZE для всех таблиц.
    • 🌐 Сетевые задержки: если сервер и клиенты в разных сетях, проверьте пинг.

    Также убедитесь, что на Linux установлены все необходимые шрифты (ttf-mscorefonts-installer).

    Как перенести настройки расшаривания баз (ibases.v8i) на новый сервер?

    Файл ibases.v8i содержит список информационных баз, доступных пользователям. Чтобы перенести его:

    1. Найдите файл на старом сервере (обычно в %APPDATA%\1C\1cv8 или /home/usr1cv8/.1cv8).
    2. Скопируйте его на новый сервер в ту же папку.
    3. Обновите пути к базам данных (если они изменились).
    4. Проверьте права доступа: chmod 644 ~/.1cv8/ibases.v8i.

    После этого пользователи увидят список баз в окне запуска 1С.

    Нужно ли обновлять конфигурацию после смены платформы?

    Да, если:

    • Вы переходите с 8.2 на 8.3 — требуется обновление конфигурации через Конфигуратор → Обновить конфигурацию базы данных.
    • Используются устаревшие объекты (например, обычные формы вместо управляемых).
    • Есть кастомные обработки, написанные под старую платформу.

    Перед обновлением сделайте резервную копию и протестируйте работу в тестовом режиме!