Поиск по этому блогу

пятница, 16 июля 2010 г.

Установка DB2 и 1С на Linux Ubuntu 10.04 LTS

Итак, мальчики и девочки придвигайтесь поближе к своим мониторам.


Мы с вами сегодня пошагово пройдём весь процесс установки с нуля бесплатного сервера баз данных IBM DB2 Express-C v9.5 (сборка 22521) и сервера 1С:Предприятия 8.2 (версия 8.2.11.236) на сервер под управлением 64-битной операционной системы Linux Ubuntu 10.04.

Установку операционной системой оставим за рамками данного повествования. Для начала внесем корректировки в параметры ядра системы, а именно в файл /etc/sysctl.conf, согласно официальной документации:
kernel.sem = 250 256000 32 1024
kernel.msgmax = 65535
kernel.msgmnb = 65535
Следующие параметры зависят от количества установленной памяти в вашем сервере.Например, в моём случае, когда установлено 12 Гб, значения следующие:
kernel.shmmax = 12619325440
kernel.shmall = 2772801
Как расчитывать эти значения ?
Параметр shmmax равен физическому размеру оперативной памяти в сервере. Параметр shmall задается в количестве 4K блоков памяти умещающихся в 90% физической памяти. Вам поможет следующая формула: shmall = shmmax * 0,9 / 4096.
Итак, Вы внесли изменения в файл /etc/sysctl.conf, теперь чтоб они вступили в силу необходимо выполнить нижеследующую команду:
sudo sysctl -p
Теперь нам понадобятся дистрибутивы программ, которые мы возьмем с сайта 1С. Перейдите в домашний каталог:
cd ~
Для начала скачаем IB DB2 (426M):
wget http://downloads.v8.1c.ru/get/Info/Platform/DB2_22251/v9.5.4_linuxx64_expc_1C.tar.gz
Распакуем полученный дистрибутив (он распаковался в папку expc):
tar xfz v9.5.4_linuxx64_expc_1C.tar.gz
Качнём дистрибутив платформы (128M):
wget http://dl01.v8.1c.ru/get/Info/Platform/8_2_11_236/setupdeb64.rar
Обратите внимание на следующий забавный факт, что дистрибуция платформы 1C под Linux запакована WinRar'ом... :-)
Соответственно, сразу устанавливаем распаковщик, если он у вас ещё не стоял:
sudo apt-get install unrar
Теперь распаковываем выкаченный пакет, чтоб получить deb-пакеты:
unrar x setupdeb64.rar
Для запуска и работы IBM DB2 на 64-битной Linux Ubuntu нужна библиотека libstdc++.so.5, которую мы сейчас поставим вручную. Для начало выкачаем её deb-архивы из репозитория для разных платформ:

wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-20_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-20_i386.deb
Сначалу принудительно установим библиотеку для i386:
sudo dpkg --force-architecture -i libstdc++5_3.3.6-20_i386.deb
Вручную перемещаем в "нужный" каталог:
sudo mv /usr/lib/libstdc++.so.5* /usr/lib32/
А теперь нативную библиотеку:
sudo dpkg -i libstdc++5_3.3.6-20_amd64.deb
Проверяем:
sudo updatedb
locate libstdc++.so.
Должны получить такой вывод на консоли:
/usr/lib/libstdc++.so.5
/usr/lib/libstdc++.so.5.0.7
/usr/lib/libstdc++.so.6
/usr/lib/libstdc++.so.6.0.13
/usr/lib32/libstdc++.so.5
/usr/lib32/libstdc++.so.5.0.7
/usr/lib32/libstdc++.so.6
/usr/lib32/libstdc++.so.6.0.13
Так же нужно поставить стандартным образом следующие пакеты, иначе инсталляция всё равно будет ругаться на то что, не может найти libstdc++.so.5 и libaio.so.1 :
sudo apt-get install ia32-libs libaio-dev
Уф. Вроде "усё" выкачали и распаковали.

Для начала установим сам сервер 1С:
sudo dpkg -i *.deb
Дополнительно поставим часть пакетов:
sudo apt-get install imagemagick msttcorefonts libgsf-1-114 texlive-base texlive-binaries
Проверим все ли библиотеки установлены:
sudo /opt/1C/v8.2/x86_64/utils/config_server
Теперь запустим сервер 1С:Предприятия:
sudo /etc/init.d/srv1cv82 start
И настроим автозапуск:
sudo update-rc.d srv1cv82 defaults
Готово.

Теперь примемся за установку DB2. Как вы помните у нас лежит распакованный дистрибутив в папке ~/expc. Перейдем туда:
cd ~/expc
Запускаем установщик:
sudo ./db2_install
Оставляем каталог по умолчанию:

нет
После чего устанавливаем сам продукт:

EXP
Теперь начинается самое интересное. Зайдём под правами суперюзера:
sudo -i
Создаём пользователей необходимых для работы DB2:
useradd -m dasusr1
useradd -m db2fenc1
useradd -m db2inst1
Задаем им пароли:
passwd dasusr1
passwd db2fenc1
passwd db2inst1
Создаем DB2 Administration Server (DAS):
cd /opt/ibm/db2/V9.5/instance/
./dascrt dasusr1
Создаим экземпляр DB2, настроенный на работу через порт 50000 (порт DB2 по-умолчанию):

./db2icrt -u db2fenc1 -p 50000 db2inst1
Зайдём под пользователем db2inst1:

su - db2inst1
Конфигурируем DB2 для работы с 1С:

db2set DB2_WORKLOAD=1C
Запускаем экземпляр DB2:

db2start
Возвращаемся в root через Ctrl-D (logout)
Настраиваем автозапуск сервера:

./db2iauto -on db2inst1
Готово.

Теперь надо подружить 1С и DB2.
Для начала выясним код группы доступа, которая является основной для запущенного экземпляра DB2:
id db2inst1
У меня вот такой вывод:

uid=1006(db2inst1) gid=1007(db2inst1) группы=1007(db2inst1),1005(dasusr1)
После этого необходимо добавить пользователя usr1cv81 в эту группу доступа (в моём случае, это 1007):

usermod -G 1007 usr1cv82
Чтобы сервер 1С:Предприятия видел динамические библиотеки DB2, то их нам надо их добавить в пути поиска. а так же задать "правильные" переменные окружения для корректной работы. Для этого добавим в конец файла /home/usr1cv82/.profile подключение профиля от нашего экземпляра DB2:
echo ". /home/db2inst1/sqllib/db2profile" >> /home/usr1cv82/.profile
Теперь перезапустим сервер 1С:
sudo /etc/init.d/srv1cv82 restart
Готово.

Таким образом мы получили работающую связку 1С и DB2 на одном сервере под управлением Linux Ubuntu 10.04 LTS.

5 комментариев:

  1. Спасибо за статью сильно помогла. Но при установке пользовался еще двумя. И ставил не на UBUNTU а на DEBIAN. Все получилось ТЕ КТО ХОТЯТ ПОВТОРИТЬ ПОБУЙТЕ ТУТ ПРАВДА НАПИСАНА

    ОтветитьУдалить
  2. тут написана просто жесть для любителей жесткого секса :)

    nano /etc/apt/sources.list

    Раскоментировать:

    deb http://archive.canonical.com/ubuntu lucid partner
    deb-src http://archive.canonical.com/ubuntu lucid partner

    Установка DB2 Express-C Edition 9.7 FP 2 for Linux

    apt-get update
    apt-get install db2exc

    Установка 1С сервера

    cd /tmp
    apt-get install unrar
    wget http://путь_до_доступного_без_пароля_дистриба_8.2.12-96_i386/setupdeb.rar
    unrar e setupdeb.rar
    dpkg -i 1c-enterprise82-common_8.2.12-96_i386.deb
    dpkg -i 1c-enterprise82-server_8.2.12-96_i386.deb

    Настройка прав

    adduser usr1cv82 db2iadm1
    passwd db2inst1

    Автозапуск сервера 1С

    update-rc.d srv1cv82 defaults

    ОтветитьУдалить
  3. "церебральный секс" -- моё кредо :-)
    спасибо за наводку на репозиторий.

    ОтветитьУдалить
  4. 10-ку в deb-based дистрос из репов не поставишь

    ОтветитьУдалить
  5. Making Money - Work/Tennis: The Ultimate Guide
    The way you 1xbet 먹튀 would poormansguidetocasinogambling.com expect from betting on the tennis 바카라사이트 matches of tennis is to bet on the player you like most. But you หารายได้เสริม also titanium flat iron need a different

    ОтветитьУдалить