Bimoid Server 2.0 — сервер с поддержкой СУБД

Официальный сайт

Новая версия Bimoid сервера с поддержкой популярных СУБД вместо встроенного хранилища данных в старой версии.

Что нового:

  • база данных SQLite по умолчанию
  • поддержка MySQL 4.1+
  • поддержка PostgreSQL 8.4+
  • поддержка MS SQL Server 2012+
  • возможность запретить собственный контакт в списке контактов (включая общий список контактов)
  • возможность хранить историю сообщений (за исключением зашифрованных сообщений)
  • возможность запретить использование механизмов шифрования сообщений
  • возможность запрашивать историю сообщений по определенным критериям в утилите Bimoid Admin
  • новая версия утилиты Bimoid Admin

ВАЖНО: Перед обновлением с версии сервера 1.0 на 2.0 обязательно почитайте инструкцию ниже.

Скачать дистрибутив для Windows:

Bimoid Server 2.0.49.5 (setup)

Инструкция по обновлению версий сервера 1.0 на версию 2.0

Прежде чем начать обновление, сделайте резервную копию папки, где установлен Bimoid Server.

1. Остановить службы Bimoid FT Server и Bimoid Server через «Панель управления/Администрирование/Службы».
2. Скачать и запустить утилиту Bim2SQL Converter. Она переносит в базу данных всех пользователей, их списки контактов, аватары, офлайновые сообщения, запросы авторизации и общий список контактов.

  • в этой программе, нажав кнопку Browse, выбрать папку ObimpDB текущей базы вашего сервера. (Если вы указывали собственный путь к базе, то укажите его, но при этом, если у вас есть общий список контактов, он не будет перенесен в базу и его надо будет создавать заново).
  • далее выберите тип СУБД, в которую надо перенести данные.

3. У каждого типа СУБД есть свои особенности, которые важно знать:

  • SQLite. Этот тип СУБД используется Bimoid сервером по умолчанию и не требует установки отдельных СУБД. После нажатия на кнопку Convert, в открывшемся диалоге, вам необходимо, во-первых, перейти к папке базы данных вашего Bimoid сервера (если вы не меняли папку базы, то это будет папка ObimpDB), во-вторых проверить, что введено правильное имя файла bimsrv.sqlite (его имя будет вбито в этом диалоге по умолчанию), и нажать на кнопку Save или Сохранить. Начнется процесс конвертирования, дождитесь его завершения. После чего в папке ObimpDB должен появится файл bimsrv.sqlite.
  • MySQL. Вам необходимо будет предварительно создать новую базу данных для Bimoid сервера. Для этого, через MySQL Client или же через PhpMyAdmin создаете новую базу данных с кодировкой utf8_unicode_ci. Убедитесь, что у вас установлена версия MySQL 4.1 и выше, и что в ней включена поддержка движка InnoDB. Если все готово, то введите все необходимые данные в появившемся диалоге и нажмите на кнопку ОК. Начнется процесс конвертирования, дождитесь его завершения.
  • PostgreSQL. Вам необходимо будет предварительно создать новую базу данных для Bimoid сервера. Для этого, через PostgreSQL client или же через PhpPgAdmin создаете новую базу данных с кодировкой UTF8. Убедитесь, что у вас установлена версия PostgreSQL 8.4 и выше. Если все готово, то введите все необходимые данные в появившемся диалоге и нажмите на кнопку ОК. Начнется процесс конвертирования, дождитесь его завершения.
  • MS SQL Server 2012 и выше. Вам необходимо будет предварительно создать новую базу данных для Bimoid сервера. Для этого, через SQL Server Management Studio создаете новую базу данных с кодировкой, например Cyrillic_General_100_CI_AI_SC. Желательно выбирать кодировки с окончанием CI_AI_SC, CI — регистронезависимость, сильно упрощает поиск в базе данных, SC — полноценная поддержка unicode и сортировка unicode данных (более подробно можно почитать на сайте microsoft). В большинстве случаев, для работы с MS SQL Server 2012 необходимо будет поставить SQL Server Native Client, иначе ни утилита конвертирования, ни сам Bimoid сервер работать не будут с этой СУБД, в этом случае даже ошибок никаких не отображается. Если все готово, то введите все необходимые данные в появившемся диалоге и нажмите на кнопку ОК. Начнется процесс конвертирования, дождитесь его завершения.

4. Если все прошло успешно, программа конвертирования отобразит строку Finished в логе (иначе отобразит ошибку). После чего можно устанавливать новую версию Bimoid сервера поверх старой. При установке необходимо установить все галочки в выборе компонентов установки, чтобы все компоненты обновились.

5. После установки, запускаете утилиту Bimoid Admin:

  • Если вы выбирали SQLite при конвертировании, то проверяете, что все ваши пользователи появились в базе данных.
  • Если выбирали остальные СУБД, то откройте пункт Сервер->Настройки базы данных, выберите тот тип СУБД, который вы уже указывали в утилите конвертирования, и введите необходимые данные. После чего, нажмите на кнопку Применить новые настройки и перезапустите службы Bimoid FT Server и Bimoid Server через «Панель управления/Администрирование/Службы».

6. Если все сделали правильно, то сервер должен заработать как положено. Если есть проблемы, то первым делом посмотрите в логи, т.к. ошибки с базой данных и ее подключениями записываются в папку ObimpLog (имена файлов sql_xxxx_xx_xx.log), если вы вручную не указывали другую папку для ведения логов.


Вопросы по установке и обновлению

Подготовка базы данных MySQL, PostgreSQL, SQL Server 2012 для работы с Bimoid Server:

Если вы ставите Bimoid сервер с нуля, то ознакомьтесь с пунктом 3 инструкции по обновлению выше. Там описано какие базы данных надо создавать, и указаны требования к ним.

Не подключается к SQL Server 2012:

Решение 1.
Возможно SQL Server не прослушивает входящие подключения на порт 1433. Поясняю как включить прослушивание входящих подключений на примере SQL Server 2012 Express:

  1. Запускаете оснастку «SQL Server Configuration Manager».
  2. Слева открываете «SQL Server Network Configuration» и там же выбираете «Protocols for SQLEXPRESS».
  3. Убедитесь, что пункт TCP/IP справа в состоянии «Enabled/Включено». Если нет, то включаете его через контекстное меню этого же пункта.
  4. Через контекстное меню этого же пункта выбираете «Properties/Свойства».
  5. В открывшемся окне свойств выбираете вторую вкладку «IP Addresses» и смотрите, что там все IP указаны верно и листаете ниже до пункта «IPAll». Убедитесь, что в пункте «IPAll», в свойстве «TCP Dynamic Ports» ничего не указано (если указано, то сотрите), а в свойстве «TCP Port» указано значение 1433. Если не указано, впишите его туда.

Решение 2.
В большинстве случаев, для работы с MS SQL Server 2012, необходимо еще установить SQL Server Native Client, иначе Bimoid сервер работать не сможет с этой СУБД. В этом случае даже ошибок никаких не отображается в логе (это явный признак отсутствия в системе SQL Server Native Client). После того, как перейдете по ссылке SQL Server Native Client, не жмите Download, а кликните на Install Instructions и найдите на этой странице упоминание native client или sqlncli.msi, там будет два дистрибутива под платформы х64 и х86. Качайте под свою платформу.

Проблемы с базой, где посмотреть логи?

Ошибки с базой данных и ее подключениями записываются в папку ObimpLog (имена файлов sql_xxxx_xx_xx.log), если вы вручную не указывали другую папку для ведения логов.

Чем можно открыть базу данных bimsrv.sqlite?

Для этого в интернете есть много разных утилит. Например, SQLite Manager, которая идет как дополнение к Mozilla Firefox.

Можно ли вносить правки в базу данных Bimoid сервера?

Вмешиваться в работу Bimoid сервера с базой данных, без особой надобности, не стоит. Если же вы знаете, что делаете, то можно. Но при этом, рекомендую вначале остановить службу Bimoid Server.

Работают ли с новой версией Bimoid сервера транспорты?

Работают и в обновлении не нуждаются.

Нужна ли особенная версия Bimoid Messenger для работы с новой версией сервера?

Нет. Bimoid Messenger в обновлении не нуждается.

В SQL логе вижу ошибку Error: 1, no such table: obimp_xxxxx

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