Смена платформы 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.
Не забудьте уведомить пользователей о времени простоя! Для крупных систем планируйте миграцию на выходные или ночное время. Если у вас распределённая команда, назначьте ответственного за каждый этап (например, один админ занимается сервером, другой — тестированием клиентов).
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С:
sudo systemctl stop srv1cv83 apache2 postgresql - 🔙 Восстановите резервные копии:
- Для файловых баз: скопируйте обратно старые файлы
.1CD. - Для SQL: восстановите дамп через
psqlилиSSMS.
- Для файловых баз: скопируйте обратно старые файлы
- 🔄 Верните старую платформу:
- На 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 файлы):
- Скопируйте файлы лицензий из
C:\Program Files\1cv8\conf\licensesв/etc/1C/conf/licenses. - Проверьте права доступа:
sudo chmod 644 /etc/1C/conf/licenses/*.lic. - Перезапустите сервис:
sudo systemctl restart srv1cv83.
Для аппаратных ключей (HASP):
- Установите драйвер:
sudo apt install hasp-dkms. - Подключите ключ к серверу и проверьте его обнаружение:
lsusb | grep Aladdin.
Почему после миграции на Linux медленно работают отчёты?
Причины могут быть следующими:
- 📉 Недостаточно ресурсов: проверьте свободную память (
free -h) и нагрузку на CPU (top). - 🗃️ Не оптимизирована СУБД: для PostgreSQL увеличьте
shared_buffersиwork_mem. - 🔍 Отсутствуют индексы: выполните
VACUUM ANALYZEдля всех таблиц. - 🌐 Сетевые задержки: если сервер и клиенты в разных сетях, проверьте пинг.
Также убедитесь, что на Linux установлены все необходимые шрифты (ttf-mscorefonts-installer).
Как перенести настройки расшаривания баз (ibases.v8i) на новый сервер?
Файл ibases.v8i содержит список информационных баз, доступных пользователям. Чтобы перенести его:
- Найдите файл на старом сервере (обычно в
%APPDATA%\1C\1cv8или/home/usr1cv8/.1cv8). - Скопируйте его на новый сервер в ту же папку.
- Обновите пути к базам данных (если они изменились).
- Проверьте права доступа:
chmod 644 ~/.1cv8/ibases.v8i.
После этого пользователи увидят список баз в окне запуска 1С.
Нужно ли обновлять конфигурацию после смены платформы?
Да, если:
- Вы переходите с 8.2 на 8.3 — требуется обновление конфигурации через
Конфигуратор → Обновить конфигурацию базы данных. - Используются устаревшие объекты (например, обычные формы вместо управляемых).
- Есть кастомные обработки, написанные под старую платформу.
Перед обновлением сделайте резервную копию и протестируйте работу в тестовом режиме!