Установка сервера ИС-ПРО 4 под Linux

Технические требования.

Для работы сетевого варианта ИС-ПРО с выделенным сервером потребуется сервер следующей конфигурации:

    Рекомендуемая конфигурация:

  • Процессор : Intel Pentium III 800 MHz или выше
  • Объем оперативной памяти : 256 Mb или более
  • Жесткий диск : 10 Gb Ultra Wide SCSI
    Приведенные выше параметры предназначены для сетей с 10-25 рабочими станциями.

    Операционная система GNU/Linux.
    Подойдет в общем-то любой дистрибутив Linux, но RPM-based будет удобнее. Почему - поясню далее.

    Требования к конфигурации операционной системы GNU/Linux:

  • Kernel version 2.4 или выше
  • Glibc 2.1 или выше
  • PAM libraries (if PAM is selected for security)
  • Установленный сервер SAMBA
  • Файловая система: ext3 или raisefs
  • Установленная и запущенная система управления базами данных Pervasive.SQL 2000i Service Pack 3 или выше

Полный список режимов работы и аппаратно-программных требований ИС-ПРО смотрите здесь: http://www.intelserv.kiev.ua/texn.shtml

Проще говоря, для того, чтобы ИС-ПРО заработал, на серере нужно установить Pervasive.SQL 2000i SP3 или выше и SAMBA.

Несколько слов, о чем на сайтах, посвященных ИС-ПРО, не говорится.

Хотя, может я просто плохо искал... Если честно, особенно и не старался...

Pervasive.SQL 2000i под Linux распространяется в виде RPM-пакета или ZIP-архива, содержащего RPM-пакет сервера Pervasive.SQL 2000i, клиента под Windows и программы Pervasive System Analyzer.
Pervasive.SQL 2000i - на самом деле это версия 7.9x, предшествующая Pervasive 8.0. ServicePack-ам соответствуют следующие версии RPM-пакетов:

Pervasive.SQL 2000i SP3 - Pervasive.SQL-7.90.243.007-2000i.i386.rpm
Pervasive.SQL 2000i SP4 - Pervasive.SQL-7.94.251.005-2000i.i386.rpm

Найти их в Internet можно, воспользовавшись сервером "Поиска файлов", например http://www.filesearch.ru, или на сайте производителя http://www.pervasive.com. Точную ссылку на Pervasive.SQL 2000i на сайте производителя дать не могу, т.к. во-первых, текущая версия 9 SP2, и ссылки на ранние версии как-то хитро замаскированны, во-вторых, чтобы скачать Pervasive.SQL 2000i с этого сайта, предварительно надо зарегистрироваться.

В любом случае Вы скачаете 30-и дневную Trial-версию Pervasive.SQL 2000i на 20 пользовательских подключений.

Установка.

SAMBA.

Как уже было сказано, нужно предварительно установить SAMBA. Об этом уже много написано, повторяться не буду.
Отмечу лишь следующее:

  • На момент написания статьи установлена версия Samba и Winbind - 3.0.23c
  • Настроена аутентификация Samba через ActiveDirectory на Windows 2000 Server. Если в локальной сети имеется Active Directory, то удобнее сделать именно так. Меньше будет возни с пользователями.

PSQL

RPM-based дистрибутив Linux
Если у Вас RPM-based дистрибутив Linux (RedHat, Mandriva, AltLinux, ASPLinux и т.д.), то проблем с установкой быть не должно. Выполняем команду:

rpm -ivh [/path/to/file/]Pervasive.SQL-7.90.243.007-2000i.i386.rpm

и все.
Для запуска и остановки сервера Pervasive.SQL выполните команду, соответственно

/etc/rc.d/init.d/psql start
...
/etc/rc.d/init.d/psql stop

или, если есть поддержка команды service, как в RedHat

service psql start
...
service psql stop

Дистрибутив Debian GNU/Linux
Если во всех RPM-based установка Pervasive.SQL 2000i проходит одинаково, то как она пройдет в других дистрибутивах Linux, я не знаю. На своих серверах я использую Debian GNU/Linux. На момент написания статьи установлен Debian Sarge 3.1r2a с текущими обновлениями. Хоть Debian и использует свои DEB-пакеты, с RPM от тоже работать умеет.
Для установки Pervasive.SQL-7.9x.xxx.xxx-2000i.i386.rpm нужно установить rpm и cpio.

apt-get install rpm cpio

Далее тоже самое, что и в RPM-based дистрибутиве, но с ключем, чтобы зависимости не проверялись.

rpm -ivh [/path/to/file/]Pervasive.SQL-7.9x.xxx.xxx-2000i.i386.rpm --nodeps

Pervasive.SQL-7.9x.xxx.xxx-2000i.i386.rpm требует sh.xxx.rpm. Разумеется ставиь его из RPM не надо.

У Debian-а нет папки /etc/rc.d, но после установки Pervasive.SQL 2000i она будет создана. В каждом из каталогов /etc/rc.d/init.d, /etc/rc.d/rc0.d, ..., /etc/rc.d/rcS.d будет лежать по одному файлу. Эти файлы нужно будет перенести соответственно в /etc/init.d, /etc/rc0.d, ..., /etc/rcS.d. Или можно просто перенести файл /etc/rc.d/init.d/psql в /etc/init.d/psql и установить его запуск, используя команду update-rc.d.
После этого папку /etc/rc.d можно удалить.

Если по каким-либо причинам команда rpm -ivh ... выдала ошибку, и пакет не установился, то можно преобразовать его в DEB-пакет, воспользовавшить утилитой alien, или распаковать вручную. Но тут уж без "бубна" не обойтись.

Настройка
Pervasive.SQL 2000i установиться в папку /usr/local/psql/. Будут созданы локальный пользователь psql и группа pvsw. В файл /etc/samba/smb.conf будут добавлены сетевые разделы [PSQL] и [PVPIPE$].
Настройки раздел [PVPIPE$] менять не надо, а в [PSQL] следуюет прописать доступ пользователям ИС-ПРО. Так же потребуется создать раздел, в который будет установлена система ИС-ПРО. У меня этот раздел называется [BPRO]. В итоге часть файла smb.conf с настройками для Pervasive.SQL и ИС-ПРО будет выглядеть примерно так:

[BPRO]
comment = IS-PRO
path = /path/to/bpro
browseable = yes
create mask = 0640
valid users = @"MYDOMAIN@ISProUser", @pvsw, psql
write list = @"MYDOMAIN@ISProUser", @pvsw, psql
force user = psql
force group = pvsw
case sensitive = no
msdfs proxy = no

[PSQLDATA]
comment = Pervasive databases
path = /usr/local/psql/data
browseable = no
force user = psql
force group = pvsw
create mask = 0664
directory mask = 0775
case sensitive = no
msdfs proxy = no
valid users = @"MYDOMAIN@ISProUser", @pvsw, psql
write list = @"MYDOMAIN@ISProUser", @pvsw, psql

[PVPIPE$]
comment = Pervasive pipes
path = /usr/local/psql/etc/pipe/
# only members of group pvsw will have access
valid users = @pvsw
# Absolutely necessary - prevents caching
oplocks = no
case sensitive = no
msdfs proxy = no

На этом все. Перезапускаем Samba, на рабочей станции ставим Pervasive.SQL-клиента, назначаем сетевой диск для ресурса \\MYSERVER\BPRO и можно устанавливать систему ИС-ПРО (об этом написано в документации к ИС-ПРО).

Утилиты PSQL.

Хочу отметить две утилиты, которые точно понадобятся.

btadmin [-p пароль] [a+] [a-] [-r] username
btadmin создает или обновляет файл аутентификации пользователей. Для работы ИС-ПРО пользователи, созданные с помощью btadmin не требуются. Но если потребуется снять зависшее подключение или т.п., то эти пользователи понадобятся. Наверное, можно настроить аутентификацию из Active Directory, но я с этим еще не разбирался.

    Ключи:

  • -p - задать пароль
  • -r - удалить пользователя
  • a+ - задать пользователю атрибуд "admin"
  • a- - убрать у пользователя атрибуд "admin"

ucutil -D <путь> | -G<код> | -K<ключ> | -S
ucutil - утилита поддержки количества пользовательских подключений. Она управляет лицензионными ключами. Чтобы ее использовать, нужно войти в систему как пользователь root.

    Ключи:

  • -D<путь> - добавить лицензию из указанного пути
  • -G<код> - показать количество пользовательских подключений по коду продукта
  • -K<ключ> - ввести ключ
  • -S - показать серийный номер

Команда:

ucutil -S

Покажет серийный номер, на основе которого генерируется лицензионный ключ. Этот ключ вводится с помощью команды:

ucutil -K

После выполнение команды:

ucutil -G

на экране будет следующее:

MYSERVER:/usr/local/psql/bin# ./ucutil -G
User Count Maintenance Utility, Version 1.4 Build 1
(c) Copiright 1996-2001, Pervasive Software Inc. All rights reserved worldwide.

Following is the product list:

Product Code Product
------------ --------
1 Btrieve 6.30
2 Scalable SQL 4.0
10 Pervasive.SQL v7 Server
11 Pervasive.SQL 2000 Server
101 Pervasive.SQL 2000 Workgroup

Select one from the product list: _

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

Переход с Windows Server.

Сервер
Если кто-то Вам скажет, что перенести систему ИС-ПРО 4 с сервера Windows на сервер Linux сложно, не верьте. Перенос данных и самой системы - процесс, наверное, самый длительный, но и самый простой во всем описанном здесь "безобразии". ;-) Заключается он в простом копировании всего содержимого папки [BPRO] со старого (Windows) сервера на новый (Linux) сервер.
Первое, что нужно сделать, это остановить сервис Pervasive на Windows-сервере и закрыть файловый доступ к [BPRO] всем, кроме себя. Даже если Вы занимаетесь переносом системы ИС-ПРО в выходные или ночью, когда по-вашему никого на работе нет, подстраховаться не помешает.

Далее, на Linux-сервере, проверьте владельца и группу файлов и папок, скопированных в [BPRO].
Владелец и группа должны быть psql и pvsw.
Если владелец и/или группа другие, то выполняем:

chown -R psql:pvsw /path/to/BPRO

Запускаем Pervasive.SQL

/etc/init.d/psql start

Если требуется, открываем пользователям доступ к ресурсу [BPRO] на Linux-сервере и перезапускаем Samba.

Рабочие станции
Если новый Linux-сервер, конкретно Samba, имеет такое же NETBIOS-имя, что и старый Windows-сервер (мой случай), то делать что либо на рабочих станциях не потребуется. Не важно, как был подключен сетевой диск [BPRO] (именно он нужен для работы системы ИС-ПРО) - в сценарии или средствами Windows. Если сетевое имя сервера и имя сетевого ресурса не изменились, то при загрузке рабочая станция подключит диск, а ИС-ПРО будет продолжать работать. Пользователи даже не узнают, что на сервере сменилась операционная система. Каких либо проблем с аппаратным ключом защиты, установленном на одной из рабочих станций, так же не замечено.

Если же Linux-сервер имеет другое имя, то, возможно, на рабочих станциях придется переустановить клиент Pervasive.SQL (хотя мне не пришлось). Клиентов ИС-ПРО переустанавливать не надо, лишь бы они запускались с подключенного сетевого диска.

Ссылки по теме.

http://volgograd.lug.ru/wiki/TarasAblamsky/PervasiveSQL?v=bt0

У кого есть

У кого есть это:
Pervasive.SQL 2000i SP3 - Pervasive.SQL-7.90.243.007-2000i.i386.rpm
или вот это:
Pervasive.SQL 2000i SP4 - Pervasive.SQL-7.94.251.005-2000i.i386.rpm

Поделитесь pls.

мой емайл inf_rs "СОБАЧКА" mail.ru

как раз занимаюсь переводом ИС-ПРО на FreeBSD а эти пакеты ни где не могу скачать.

большое спасибо!