Часто для экономии средств на лицензии Microsoft, удобства администрирования и повышения устойчивости к вредоносному ПО происходит переход с Windows на Linux. При этом важно, чтобы программное обеспечение имело обратную совместимость. Компания TrueConf дорожит временем своих клиентов, поэтому мы позаботились о том, чтобы вы смогли без проблем перенести данные с одного сервера на другой.
Содержание
Шаг 1. Обновление TrueConf Server
Для успешной миграции новый устанавливаемый сервер на ОС Linux должен быть той же версии, что и оригинальный на ОС Windows. В нашем Linux репозитории всегда находится последняя версия дистрибутива. Мы не предоставляем старые версии сервера по соображениям безопасности, поэтому рекомендуем обновить сервер на Windows до последней версии. О том, как это сделать, читайте в нашей статье.
Шаг 2. Экспорт данных сервера
Для осуществления миграции вам понадобится регистрационный ключ вашего TrueConf Server и перечисленные ниже резервные копии.
Регистрационный ключ
Узнать регистрационный ключ непосредственно из панели управления TrueConf Server невозможно из соображений безопасности. Ключ приходил вам в письме при регистрации вашего экземпляра. Вы можете найти его с помощью поиска по содержимому, указав Server ID – он отображается в панели управления по пути Информация о сервере → Информация.
Основные данные
Реестр
В реестре хранятся данные о пользователях, группах, псевдонимах, конференциях, трансляциях, настройки сервера (параметры LDAP, SIP/H.323, WebRTC, федерации и др.).
Запустите командную строку от имени администратора и перейдите по пути:
1 |
cd /d [backup] |
где [backup]
– каталог, в который будут экспортированы настройки TrueConf Server, например:
1 |
cd /d D:\backup |
После чего для экспорта реестра выполните:
1 |
"C:\Program Files\TrueConf Server\tc_regkey.exe" export "" registry.csv |
База данных
В базе данных хранятся данные из раздела Отчёты TrueConf Server, в том числе история чатов.
Определение используемого порта
Чтобы экспорт данных прошёл успешно, вы должны указать используемый номер порта для подключения к БД. По умолчанию это — 5444
.
Т.к. порт мог меняться (например, остался старый 5432
при обновлении с версий TrueConf Server старее 5.2.9), то для определения текущего значения выполните команду в терминале:
1 |
findstr port "C:\Program Files\TrueConf Server\database\conf\postgresql.conf" |
Экспорт
Запустите командную строку от имени администратора и перейдите по пути:
1 |
cd /d [backup] |
где [backup]
– каталог, в который будет экспортирована БД TrueConf Server, например:
1 |
cd /d D:\backup |
После чего для экспорта выполните команду:
1 |
"C:\Program Files\TrueConf Server\database\bin\pg_dumpall.exe" -p 5444 -U postgres -c -f tcs.dump |
Настройки HTTPS
Если у вас настроен HTTPS, то файлы ключа и сертификата хранятся в каталоге [installation_path]\httpconf\ssl
,
где [installation_path]
– путь установки сервера. Сохраните резервную копию данного каталога в удобном вам месте на сервере, например, D:\backup\
.
Дополнительные данные
Записи видеозвонков и конференций
При автоматической записи на стороне сервера проходящих сеансов видеосвязи файлы по умолчанию сохраняются в каталоге Recordings
внутри рабочей папки сервера. Чтобы уточнить их расположение, проверьте значение поля Путь в разделе Записи панели управления.
Если вам нужно перенести их на новый сервер, просто сохраните копию необходимых файлов записей.
Файлы чатов
Файлы, которые передавались в переписках между пользователями вашего сервера, по умолчанию сохраняются в каталоге files
в рабочей папке TrueConf Server. Чтобы уточнить их расположение, перейдите к полю Путь в разделе Файловое хранилище панели управления. При желании переместить их на новый сервер сохраните резервную копию содержимого данного каталога.
Лог-файлы
Лог-файлы необходимы при обращении в техническую поддержку. Например, для анализа вопросов, возникших при использовании предыдущего экземпляра TrueConf Server.
Логи находятся в рабочей папке сервера. Чтобы перенести их, создайте резервную копию всех каталогов и файлов, перечисленных в статье о назначении логов.
Аватары пользователей
Аватары зарегистрированных на вашем сервере пользователей хранятся в каталоге avatars
в рабочей папке TrueConf Server. Скопируйте его в удобное место на сервере.
Перенесите все полученные файлы в удобное место на целевой машине с ОС Linux, например, в папку /home/$USER/backups/
.
Шаг 3. Установка TrueConf Server
О том, как установить TrueConf Server из файла и репозиториев, описано в данной статье.
Шаг 4. Импорт данных на ОС Linux
sudo -V
.База данных
Определение используемого порта
Чтобы импорт данных прошёл успешно, вы должны указать используемый номер порта для подключения к БД. По умолчанию это — 5444
:
Т.к. порт мог меняться (например, остался старый 5433
при обновлении с версий TrueConf Server старее 5.2.9), то для определения текущего значения выполните команду в терминале:
1 |
grep port /opt/trueconf/server/etc/database/postgresql.conf |
Импорт
Отключите службы TrueConf и перезапустите службу базы данных, чтобы разорвать с ней все активные подключения:
1 2 3 4 |
sudo systemctl stop trueconf-web sudo systemctl stop trueconf-manager sudo systemctl stop trueconf-php sudo systemctl restart trueconf-db |
Далее для импортирования БД вам нужно выполнить следующие шаги:
- Откройте терминал, если он закрыт.
- Скопируйте экспортированный файл в каталог c базой данных:
1sudo cp /home/$USER/backups/tcs.dump /opt/trueconf/server/bin/database - Войдите под пользователем postgres:
1sudo su postgres - Перейдите в каталог с базой данных:
1cd /opt/trueconf/server/bin/database - Выполните команду для импорта с указанием используемого порта:
1./psql -p 5444 -f tcs.dumpИмпорт данных может занять продолжительное время в том случае, если у вас на сервере большое количество чатов. - После этого выйдите из пользователя postgres c помощью команды:
1exit
Реестр
Для успешного переноса реестра из бэкап-файла нужно удалить не совместимые с ОС Linux строки. Для этого в терминале выполните:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
sed -i '/install_version/d' /home/$USER/backups/registry.csv sed -i '/Configuration,Working Directory/d' /home/$USER/backups/registry.csv sed -i '/ConfDefault,Working Directory/d' /home/$USER/backups/registry.csv sed -i '/Configuration,Executable Path/d' /home/$USER/backups/registry.csv sed -i '/Configuration,Recordings Path/d' /home/$USER/backups/registry.csv sed -i '/Configuration,Ffmpeg Path/d' /home/$USER/backups/registry.csv sed -i '/Configuration,Push Script/d' /home/$USER/backups/registry.csv sed -i '/Configuration,File Storage Path/d' /home/$USER/backups/registry.csv sed -i '/Configuration,version/d' /home/$USER/backups/registry.csv sed -i '/Configuration,DB Connection String/d' /home/$USER/backups/registry.csv sed -i '/Configuration\\ConfDefault,Working Directory/d' /home/$USER/backups/registry.csv sed -i '/WebManager,server_dir/d' /home/$USER/backups/registry.csv sed -i '/WebManager,db_port/d' /home/$USER/backups/registry.csv sed -i '/WebManager,group_security/d' /home/$USER/backups/registry.csv sed -i '/WebManager,group_admin/d' /home/$USER/backups/registry.csv sed -i '/WebManager,client_path/d' /home/$USER/backups/registry.csv sed -i '/WebManager\\API\\AccessTokens/d' /home/$USER/backups/registry.csv sed -i '/WebManager\\API\\RefreshTokens\\/d' /home/$USER/backups/registry.csv sed -i '/Transceivers/d' /home/$USER/backups/registry.csv |
Если ваш новый сервер имеет другой IP-адрес, тогда в терминале выполните команду (в ней используются пробелы в качестве разделителя):
1 |
sed -i "s x.x.x.x y.y.y.y " /home/$USER/backups/registry.csv |
где:
x.x.x.x
– старый IP-адрес, например, 192.168.0.1
.
y.y.y.y
– новый IP-адрес, например, 192.168.1.1
.
После этого в терминале выполните команду для импорта настроек реестра:
1 |
sudo /opt/trueconf/server/bin/vcs/tc_regkey import "" /home/$USER/backups/registry.csv |
После выполнения импорта перезапустите с помощью последовательного выполнения команд следующие службы TrueConf:
1 2 3 4 |
sudo systemctl restart trueconf-db sudo systemctl start trueconf-manager sudo systemctl start trueconf-web sudo systemctl start trueconf-php |
LDAP
Если у вас была настроена интеграция с LDAP, то вам необходимо сбросить настройки, потому что в Windows и Linux используются разные значения по умолчанию LDAP параметров. Для этого в панели управления сервером перейдите в LDAP / Active Directory → Настройки LDAP → Дополнительно и последовательно нажмите кнопки По умолчанию и Применить. Если в блоке Дополнительно вы настраивали свои какие-то параметры, то понадобится указать их заново и сохранить настройки.
Файлы
Перенесите файлы в каталог по умолчанию /opt/trueconf/server/var/lib/files
.
Длина имени
При переносе стоит учитывать, что часть файлов может не сохраниться. Это происходит из-за разного ограничения длины имени файла в ОС. Используемая в Windows файловая система NTFS поддерживает имена файлов длиной до 256-ти символов UTF-16. В свою очередь для ext4, обычно используемой ФС в Linux, предельная длина имени файла является 255 байт в UTF-8, то есть максимум 255 латинских символов и 127 для других языков (например, кириллицы).
Из-за этого файлы с длинным русским названием просто не смогут сохраниться из-за ограничений ядра Linux.
Решение:
Для решения данной проблемы вы можете использовать другую файловую систему для Linux или сохранить проблемные файлы (с длинными названиями) для передачи их пользователям.
Использование SCP
При перемещении файлов с помощью SCP (Secure Copy Protocol) могут возникнуть ошибки:
- «неожиданное имя файла»;
- изменилось название файла с символами, отличными от латиницы.
Некоторые системы не поддерживают определенные символы в именах файлов, поэтому если вам попадётся такой файл, то это может привести к возникновению ошибки.
Решение:
После переноса убедиться, что все файлы с отличными от латиницы символами в названии перенеслись правильно. В противном случае вручную переименовать такие файлы, основываясь на данных оригинального сервера.
Исправление абсолютных путей
Для того чтобы файлы корректно скачивались в чатах необходимо исправить абсолютный путь во всех служебных файлах *.resume_data. Для этого перейдите в каталог с файлами и в терминале выполните команду (в ней используются пробелы в качестве разделителя):
1 |
sed -i 's C:\\TrueConf\\files\\ /opt/trueconf/server/var/lib/files/ ' *.resume_data |
Настройки HTTPS
- Скопируйте сохранённую ранее папку SSL ключа и сертификата в каталог
/opt/trueconf/server/etc/webmanager/ssl
. - Перейдите в панель управления TrueConf Server.
- В разделе Веб → HTTPS панели управления примените те же настройки ключа и сертификата, которые использовались ранее на сервере.
Дополнительные данные
Скопируйте в соответствующие каталоги нового сервера остальные данные, сохранённые на шаге 2:
- записи конференций и видеозвонков – в каталог
recordings
рабочей папки (по умолчанию); - логи – в каталог
/opt/trueconf/server/var/log
; - аватары – каталог
avatars
в рабочую папку.
После выполнения импорта перезапустите с помощью последовательного выполнения команд следующие службы TrueConf:
1 2 3 |
sudo systemctl restart trueconf-manager sudo systemctl restart trueconf-web sudo systemctl restart trueconf-php |
Шаг 5. Проверка переноса данных
Перейдите в панель управления и проверьте перенос данных:
- пользователи их аватары;
- конференции;
- сообщения чата;
- настройки SMTP;
- настройки шлюза;
- отчеты;
- и другое.
Также с помощью клиентского приложения проверьте:
- авторизацию на сервере, в том числе если настроены SSO/ADFS;
- адресную книгу, список чатов, конференции в планировщике;
- доступность скачивания старых файлов из чатов.
Если во время импорта произошли ошибки, (например, вы допустили какую-то ошибку в команде, и данные не перенеслись), то начисто удалите сервер и повторите шаги 2 и 3.
Если импорт прошел успешно, то вам необходимо обратиться в техническую поддержку для сброса аппаратного ключа HW key. Исправление аппаратного ключа, к которому привязана ваша лицензия, производится технической поддержкой TrueConf совершенно бесплатно. Для этого вам нужно отправить заявку, в которой необходимо указать ID вашего сервера. После того, как техническая поддержка исправит аппаратный ключ, перерегистрируйте сервер.
Желаем удачных конференций!