Система ОПСУРТ рассчитана для использования на компьютерах, работающих под управлением Windows. Однако серверную часть без каких-либо ограничений можно использовать на компьютерах, работающих под управлением Linux. Дело в том, что Firebird в нативном виде существует в том числе и под Linux. Необходимо лишь настроить сервер и правильно прописать пути к базе данных в клиенте.
Это может оказаться полезным для тех пользователей ОПСУРТ, которые в целях надежности и безопасности предпочитают держать серверную часть комплекса на отдельном компьютере или сервере. При этом снимается ограничение на операционную систему для компьютера, на которой работает серверная часть комплекса. Зачастую использование операционной системы Linux на сервере может оказаться предпочтительнее.
В этой заметке я опишу основные этапы настройки серверной части комплекса на примере ОПСУРТ 2.0.8 и Ubuntu 14.04.
Прежде всего на ваш Windows-компьютер необходимо установить полный комплект ОПСУРТ, то есть клиент и сервер. Из серверного комплекта вам потребуется база данных, а также сервисные утилиты AdminTool.exe и Satellite.exe, которые вы будете запускать из-под Windows. Сервисные утилиты работают отдельно от базы данных и могут быть запущены на любом удалённом компьютере.
Для начала необходимо установить на сервер Firebird. Это программное обеспечение присутствует в стандартном репозитории Ubuntu, поэтому для установки Firebird достаточно дать единственную команду:
sudo apt-get install firebird2.5-super
В процессе установки у вас запросят глобальный пароль для управления базой данных. Именно этот пароль вы будете потом вводить при входе в приложение «Администрирование». Будьте внимательны – пароль вводится лишь один раз и в процессе ввода не отображается. Я рекомендую для начала в качестве пароля задать слово masterkeу, как в комплексе ОПСУРТ по умолчанию. Потом через приложение «Администрирование» вы сможете легко его изменить.
Далее необходимо слегка отредактировать конфигурационный файл Firebird. Этот файл находится по следующему пути:
/etc/firebird/2.5/firebird.conf
Открываем файл на редактирование и ищем там строку:
RemoteBindAddress = localhost
Закомментируем её, добавив вначале знак #. В результате правки у вас должно получиться следующее:
#RemoteBindAddress = localhost
Если этого не сделать, то вы не сможете достучаться до базы данных снаружи, так как база данных будет доступна исключительно с этого же сервера.
Теперь нужно скопировать базу данных на сервер. Для этого файл базы данных с Windows-компьютера:
C:\OPSURT_DB\OPSURT_DB_2.0.8.FDB
Необходимо положить на Linux-компьютер по этому пути:
/var/lib/firebird/2.5/data/OPSURT_DB_2.0.8.FDB
После этого необходимо назначить владельца и задать необходимые разрешения файлу базы данных:
sudo chown firebird:firebird /var/lib/firebird/2.5/data/OPSURT_DB_2.0.8.FDB sudo chmod 660 /var/lib/firebird/2.5/data/OPSURT_DB_2.0.8.FDB
После всех этих манипуляций необходимо перезапустить Firebird. Делается это следующей командой:
sudo service firebird2.5-super restart
На этом настройка серверной части завершена и остаётся лишь научить клиент работать с сервером, для чего необходимо указать правильный путь к базе данных и адрес сервера. Начать необходимо с инструмента администрирования, программы AdminTool.exe. Эта программа запускается на вашем Windows-компьютере, но она будет управлять базой данных, которая крутится на вашем Linux-компьютере. AdminTool.exe является сервисной программой и предназначена для создания новых пользователей и изменения некоторых настроек, так что для повседневной работы сервера она не требуется. Поэтому, когда вам потребуется завести нового пользователя, то вы сможете запустить инструмент администрирования на любом компьютере, удалённо подключиться к базе данных и произвести необходимые действия.
В поле «Путь к файлу БД» запущенной программы AdminTool.exe прописываем:
/var/lib/firebird/2.5/data/OPSURT_DB_2.0.8.FDB
В качестве сетевого адреса прописываем IP-адрес вашего сервера, либо его доменное имя. В моём случае это 192.168.0.1. Порт оставляем по умолчанию – 3050.
Вводим пароль masterkey, если вы не задали другой, и пробуем подключиться. Если вы всё сделали правильно, то вы зайдёте в программу администрирования и сможете создать первого пользователя:
Также я настоятельно рекомендую сменить пароль masterkey на какой-то другой, особенно если ваш сервер находится не в локальной сети и для доступа к нему используется Интернет.
После того, как задан хотя бы один пользователь, можно входить непосредственно в клиентскую часть системы ОПСУРТ, но предварительно соединение с базой нужно настроить аналогичным образом:
Если вы планируете пользоваться программой для обслуживания сервера Satellite.exe, которая входит в комплект поставки системы ОПСУРТ, то вам необходимо будет запустить её на Windows-компьютере и прописать правильный путь к базе данных. Обратите внимание, что путь отличается от того, который мы прописывали ранее. В начале пути через двоеточие указывается адрес сервера. В моём примере путь будет таким:
192.168.0.1:/var/lib/firebird/2.5/data/OPSURT_DB_2.0.8.FDB
А вы вместо 192.168.0.1 пропишите IP-адрес своего сервера или его доменное имя, например:
mydomain.ru:/var/lib/firebird/2.5/data/OPSURT_DB_2.0.8.FDB
Почему-то в конце операции создания резервной копии у меня появляется окно с ошибкой, не смотря на то, резервная копия благополучно создается:
К сожалению, также я не нашёл способа как через Satellite восстановить базу данных из резервной копии, так как строка «Восстановление БД из рез. копии» неактивна.
Я предполагаю, что и ошибка базы данных, и неактивная кнопка связаны с тем, что программа не рассматривает вариант, когда база данных может крутиться на удалённом компьютере, а не на том же, на котором запущена сама программа Satellite. Однако эта проблем не носит фатальный характер, так как, имея в распоряжении резервную копию, можно восстановить из неё базу данных средствами Linux с помощью команды gbak с соответствующими параметрами.
На этом настройка комплекса ОПСУРТ завершена – можно полноценно пользоваться системой.
В заключении хочу также привести рецепт полной переустановки базы данных Firebird, как будто вы ставите её впервые. Это может потребоваться, если вдруг в результате ваших экспериментов база перестанет работать должным образом. Итак, для того, чтобы полностью удалить Firebird со всеми хвостами, необходимо в консоли последовательно подать три команды, отвечая утвердительно клавишей Y на выводимые запросы:
sudo apt-get remove firebird2.5-super sudo apt-get autoremove sudo apt-get purge firebird2.5-super
Далее вам останется лишь повторно установить Firebird, как это было описано в начале данной статьи.
Надеюсь, что данная информация окажется для кого-то полезной. Свои вопросы вы можете задавать в комментариях.
Как раз хотел озадачится, как разместить БД на отдельном сервере,но WinServer мне показался слишком жестким вариантом. Но к счастью есть готовое решение как базу сделать на Linux. Спасибо