Подопытная система: Alt Linux 4.1.. не спрашивайте почему, так получилось.
Сервер 1С работает с базой данных IBM DB2, под которую выделен отдельный компьютер. Как устанавливать сервер db2 подробно описано в инструкции к этой самой IBM, поэтому заострять внимания на этом процессе пока не буду.
Итак, система установлена, имеются rpm-пакеты сервера версии 8.1.13.41. Установка их с использованием команды rpm никаких затруднений не вызывает.
Иду уже известным путем:
[root@linuxserver ~]# rpm -ihv 1C_8.1.13.41/1C_Enterprise-common-8.1.13-41.i386.rpm
Preparing... ##################################################
1C_Enterprise-common ##################################################
[root@linuxserver ~]# rpm -ihv 1C_8.1.13.41/1C_Enterprise-common-nls-8.1.13-41.i386.rpm
Preparing... ##################################################
1C_Enterprise-common-nls ##################################################
[root@linuxserver ~]# rpm -ihv 1C_8.1.13.41/1C_Enterprise-server-8.1.13-41.i386.rpm
Preparing... ##################################################
1C_Enterprise-server ##################################################
[root@linuxserver ~]# rpm -ihv 1C_8.1.13.41/1C_Enterprise-server-nls-8.1.13-41.i386.rpm
Preparing... ##################################################
1C_Enterprise-server-nls ##################################################Сервер установлен, проверяю запущен ли он:
[root@linuxserver ~]# service srv1cv81 status
1C:Enterprise 8.1 server status:
Init script: NOT STARTED.Пытаюсь запустить
ragent как раньше с параметром
daemon (как жаль что фирма 1С не снабжает нас мануалами по установке своих серверов на Linux). И получаю сообщение что параметр неверный. Тогда решил попробывать просто без параметров:
[root@linuxserver ~]# /opt/1C/v8.1/i386/ragent
1C:Enterprise 8.1 (8.1.13.41) Server Agent started. to exit.
1C:Enterprise 8.1 (8.1.13.41) Cluster Manager started. to exit.
1C:Enterprise 8.1 (8.1.13.41) Working Process started. to exit.Тут судя по всему система ожидала нажатия комбинации клавишь
Ctrl+C, потому что после нажатия в консоли было написано следующее:
1C:Enterprise 8.1 (8.1.13.41) Working Process finished.
1C:Enterprise 8.1 (8.1.13.41) Cluster Manager finished.
1C:Enterprise 8.1 (8.1.13.41) Server Agent finished.Попробовал запустить сервер и проверить его статус:
[root@linuxserver ~]# service srv1cv81 start
Starting 1C:Enterprise 8.1 server: OK
[root@linuxserver ~]# service srv1cv81 status
1C:Enterprise 8.1 server status:
Init script: STARTED.
Ragent: RUNNING.Теперь нужно установить клиент db2, чтобы сервер 1С мог обращаться к серверу базы данных. В папке с пакетами клиентской части db2 лежит два скрипта,
db2_install и
db2setup. Первый устанавливает клиента в консольном режиме, второй в графическом с использованием весьма удобного мастера. Второй вариант позволяет сделать кое какие предварительные настройки клиента и создает в системе необходимого пользователя. При использовании первого скрипта все эти действия придется делать самому. По предыдущему опыту общения с db2 скажу что это не очень удобно.
Поэтому выбираю второй вариант:
[root@linuxserver ~]# /home/mactep/client/disk1/db2setup
ERROR:
The required library file libstdc++.so.5 is not found on the system.
Check the following web site for the up-to-date system requirements
of IBM DB2 9
http://www.ibm.com/software/data/db2/udb/sysreqs.html
http://www.software.ibm.com/data/db2/linux/validate
/home/mactep/client/disk1/db2/linux/install/../bin/db2langdir: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory
/home/mactep/client/disk1/db2/linux/install/../bin/db2langdir: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory
DBI1055E The message file db2install.cat cannot be found.
Explanation: The message file required by this
script is missing from the system; it may have been
deleted or the database products may have been loaded
incorrectly.
User Response: Verify that the product option containing
the message file is installed correctly. If there are
verification errors; reinstall the product option.Установщик ругается на недостающий компонент
libstdc++.so.5. Пытаюсь его установить:
[root@linuxserver ~]# apt-get install libstdc++На что получаю сообщение, что данный компонент возможно установить в версии 3.3 и 4.2, причем второй уже установлен в системе. Ну значит установлю первый, не жалко.
[root@linuxserver ~]# apt-get install libstdc++3.3
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
libstdc++3.3
0 upgraded, 1 newly installed, 0 removed and 0 not upgraded.
Need to get 0B/241kB of archives.
After unpacking 740kB of additional disk space will be used.
Committing changes...
Preparing... ########################################### [100%]
1: libstdc++3.3 ########################################### [100%]
Done.После этого установка клиента прошла как по маслу.
[root@linuxserver ~]# /home/mactep/client/disk1/db2setup
DBI1190I db2setup is preparing the DB2 Setup wizard which will
guide you through the program setup process. Please
wait.Сервер 1С установлен и запущен, клиент db2 тоже. Но при попытке запустить 1С появляется сообщение с ошибкой что невозможно найти
libdb2.so. Обращение к документации к IBM DB2 показывает, что сервер предприятия просто не видит библиотек клиента db2. В документации так же описано два способа как с этим бороться, первый проще, второй немного сложнее, но более универсален, так как работает в случае, если в системе установлено несколько версий db2. Мне это не нужно, поэтому выбираю первый способ (второй если интересно найдете сами).
Итак, смотрю содержимое конфигурационного файла динамического линковщика:
[root@linuxserver ~]# cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.confи вижу, что он обращается ко всем конфигурационным файлам, расположенным в директории ld.co.conf.d. Поэтому создаю там файл
db2.conf.[root@linuxserver ~]# vim /etc/ld.so.conf.d/db2.confв котором просто указываю пути к библиотекам db2:
/opt/db2/V9.1/i386/lib32
Сохраняю файл, выполняю команду ldconfig и делаю рестарт серверу 1С:
[root@linuxserver ~]# ldconfig
[root@linuxserver ~]# service srv1cv81 restart
Stopping 1C:Enterprise 8.1 server: OK
Starting 1C:Enterprise 8.1 server: OK
[root@linuxserver ~]# service srv1cv81 status
1C:Enterprise 8.1 server status:
Init script: STARTED.
Ragent: RUNNING.Для того, чтобы в консоли управления сервером был доступен компьютер с базой данных необходимо занести его с файл
hosts на сервере 1С.
После проверки работоспособности сервера установил драйвер серверного ключа 1С. Дабы не мучатся как в предыдущие разы были установлены пакеты
haspd и
haspd-modules, входящие в состав
WINE@Etersoft Network, которую приобрела наша фирма. С ними все работает замечательно, за что компании Etersoft отдельное спасибо.
Вот и все что хотелось рассказать. Вообще если честно писалось для себя, чтобы не забыть ничего. Но если кому то будет полезно... ну это еще лучше.