Развёртывание SMS-шлюза Kannel на Ubuntu 12.04 (amd64), для работы с Oracle 11g Release 1

Чуть ранее была разобрана тема с установкой СУБД Oracle 11g на Ubuntu, теперь нам требуется подключить к ней sms-шлюз

http://devppp.blogspot.ru/2013/02/oracle-11g-release-2-ubuntu-1204-amd64.html

А в данной статье будет рассказана тема о том как развернуть сервер Kannel на этой же Ubuntu, причём Kannel должен поддерживать работу с Oracle.

Следующая после этой статья посвящена непосредственно настройке данного шлюза:

http://devppp.blogspot.ru/2013/02/sms-kannel.html

Стандартная установка используя иструментарий ubuntu

Так как обычно требуемый пакет есть в репозитории, восользуемся пакетным менеджером:

apt-get install kannel kannel-sqlbox kannel-dev

После чего требуется перенести конфиги со старого сервера в директорию /etc/kannel/ после чего перезапустим сервер:

/etc/init.d/kannel restart

Но к сожалению версия в репозитории не поддерживает Oracle, но ничего страшного в этом нет, есть ещё один путь.

Развёрнутая процедура установки (ручная сборка)

Первым делом надо убедиться в том, что пользователь, который будет выполнять сборку, видит значения переменных ORACLE_HOME и ORACLE_BASE.

1) Скачаем пакеты с исходным кодом:

wget -c http://www.kannel.org/download/1.5.0/gateway-1.5.0.tar.gz

2) Распакуем архив:

tar xfv  gateway-1.5.0.tar.gz

3) Далее зайдём в директорию и запустим сборку:

cd gateway-1.5.0
./configure --enable-start-stop-daemon --with-oracle --prefix=/opt/kannel
make
sudo make install

4) Так же нам потребуется sqlbox:

cd addons/sqlbox
./bootstrap
./configure --with-kannel-dir=/opt/kannel

И вот на этом месте возникает ошибка сборки "configure: error: Kannel gwlib is required!" после нескольких часов гугления удалось найти отичный совет:

http://lists.altlinux.org/pipermail/devel/2009-July/172845.html

5) Откроем в текстовом редакторе configure.in и выполним поиск строки (её нужно комментировать или удалить):

AC_CHECK_LIB([gwlib], [cfg_create], [], AC_MSG_ERROR([Kannel gwlib is required!]))

6) Выполним команды по новой:

./bootstrap
./configure --with-kannel-dir=/opt/kannel --prefix=/opt/kannel
make
sudo make install

7) Теперь нам нужно подсказать бинарникам где им надо искать библиотеки, для этого откроем файл /etc/profile и допишем в конец строку:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/kannel/lib/kannel

8) Убедимся в том что всё впорядке:

./bearerbox --version

Kannel bearerbox version `1.5.0'.
Build `Feb 20 2013 10:18:20', compiler `4.6.3'.
System Linux, release 3.2.0-23-generic, version #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012, machine x86_64.
Hostname sms.network.ru, IP 10.61.71.98.
Libxml version 2.7.8.
Using Oracle OCI 11.2.
Using native malloc. 

На этом всё, бинарники будут расположены тут /opt/kannel/sbin