OpenIMSCore服务器安装配置过程

更新时间:2023-10-23 13:54:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

OpenIMSCore安装配置过程,思路,可能遇到的问题及其解决办法 袁星勇

E-MAIL:yuan-xy@hotmail.com

ChongQing JinMei Communication Co.,Ltd 2008-10-23

代码资源来源:OpenIMSCore: http://www.openimscore.org.

文档来源:OpenIMSCore Installation Guide――http://www.openimscore.org. 参考资料:基于开放源代码实现的IMS原型化系统-张懿-重庆大学硕士论文

1. 运行环境之编译环境的安装及配置

OpenIMSCore是基于Linux环境开发的,所以要编译OpenIMSCore源代码首先需要在Linux操作系统安装编译及运行环境。在《基于开放源代码实现的IMS原型化系统》论文中可以找到OpenIMSCore运行环境要求:

a) GCC 3/4; b) JDK1.5以上; c) ant;

d) 已安装并启动MySQL数据库管理系统;

e) libxml2,libmysqlclient库软件包及开发包头文件; f) flex和bison; g) Linux Kernel 2.6

h) 已安装并启动bind域名服务器; 注:Fedora8或者CentOS5(RHEL5)操作系统DVD光盘中有自带的MySQL,bind等rpm安装包,而在Ubuntu的CD光盘上是没有mysql,bind,flex,bison,gcc等安装包的,所以我选择了Fedora和CentOS的安装方式。在安装Fedora/CentOS时在定制时(安装过程基本相似),我安装了mysql,bind,gcc,安装完成后只需要在安装ant和jdk就可以完成以上的运行环境要求,所以首次安装推荐使用Fedora/CentOS,本文也只介绍了Fedora/CentOS下的安装过程。如果采用Ubuntu以上所有的都需要自己手动下载安装包安装或者在线更新,需要的步骤会更多,在本文中就不再描述。

在www.openimscore.org上下载了源代码以后就可以发现OpenIMSCore源代码分为两个部分,ser_ims和FHoSS,其中ser_ims是用C语言开发的,而FHoSS是用Java开发的。ser_ims部分主要完成的IMS中的cscfs功能实体,FHoSS完成IMS中HSS功能实体。所以首先需要在Linux操作系统中安装GCC编译器及jdk编译器。

a) GCC

在Linux终端shell命令行中输入命令#gcc --version如果显示gcc版本信息则基本可以确认gcc是已经安装了的,如果在编译程序时出现error C compiler cannot create executables的错误,是gcc库安装不完整造成的,需要安装glibc,及libc6-dev。

如果采用fedora8或者centos5(RHEL5),在安装配置时可以配置是否安装GCC,如果没有安装你需要找到光盘中的gcc有关的rpm包手动安装,它

在终端输入java –version命令后会显示已经安装的jdk信息,输入ant –h会显示ant相关信息,如果没有,仔细检查上面三个脚本中的几个路径是否对应是你的jdk和ant的安装路径,也可能是jdk-6u7-linux-i586.bin或 apache-ant-1.7.1-bin.tar.gz没有正确的安装。

2. 编译程序

在/opt/目下新建一个OpenIMSCore文件夹,然后将下载下的源代码复制到/opt/OpenIMSCore下,如果采用ftp下载的代码,只需要将ser_ims2008909.r0583.tgz和FHoSS2008909.r0583.tgz解压缩到OpenIMSCore即可。

可能会依赖很多安装包,过程会比较繁琐。 b) jdk

我采用的是jdk-6u7-linux-i586.bin及apache-ant-1.7.1-bin.tar.gz,在/usr下新建一个文件夹java,将jdk-6u7-linux-i586.bin复制到/usr/java下然后在终端键入命令#./jdk-6u7-linux-i586.bin运行这个文件,按照提示信息安装jdk。

将apache-ant-1.7.1-bin.tar.gz解压缩到/usr/local目录下,然后将在/usr/local下新产生的apache-ant-1.7.1文件夹更名为ant。

#tar –zxvf apache-ant-1.7.1-bin.tar.gz –C /usr/local/ #mv /usr/local/apache-ant-1.7.1 /usr/local/ant

完成以上两步后设置编译程序需要的环境变量JAVA_HOME 编辑/etc/profile文件,在文件末尾中增加以下几行:

#set java environment

export JAVA_HOME=/usr/java/jdk1.6.0_07 export PATH=/usr/java/jdk1.6.0_07:$PATH export CLASSPATH=/usr/java/jdk1.6.0_07/lib #end

在/etc/profile.d/文件夹下新建两个文档:java.sh,ant.sh。 在java.sh中增加以下3行

export JAVA_HOME=/usr/java/jdk1.6.0_07 export PATH=/usr/java/jdk1.6.0_07/bin:$PATH export

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib

在ant.sh中增加下面2行

export ANT_HOME=/usr/local/ant

export PATH=$PATH:$ANT_HOME/bin

然后分别执行这个文件: # source /etc/profile

# source /etc/profile.d/java.sh # source /etc/profile.d/ant.sh

注:#前缀表示需要root权限才能运行。

如果是用SVN,将ser_ims和FHoSS都checkout在/opt/OpenIMSCore目录下即可。

a) 进入ser_ims文件件编译

#cd /opt/OpenIMSCore/ser_ims #make install-libs all

如果只需要编译其中的一部分,或者只编译IMSCore不需要其他模块,可详细阅读在ser_ims文件夹下的INSTALL文件。

如果在编译时出错:

1) 检查编译器是否安装正确 2) 源代码是否完整

3) 如果提示在文件dbase.c有错误,如找不到以及提示

struct my_con等。 解决思路:

找到ser_ims/modules/mysql/下的dbase.c文件下可以找到#include 行 ,相应的查看/usr/include/下面找不到mysql文件夹。 错误原因:在/usr/include下没有包含有mysql.h的mysql头文件夹; 解决办法:下载一个mysql的压缩包,我采用的是mysql-5.0.67-linux-i686.tar.gz,在解压缩后的文件夹中可以找到include和lib文件夹,将include文件夹名改为mysql,并复制到/usr/include中。 重新编译,应该还会发现找不到libmysqlclient的错误,这时再将压缩文件中的lib文件夹更名为mysql,复制到/usr/local/lib文件夹下。 重新编译,顺利通过。

b) 进入FHoSS文件夹编译HSS

#ant compile deploy

如果需要了解更多信息,阅读在FHoSS目录下install.txt文件 如果编译出错一般是JAVA_HOME设置不正确造成的。

3. 运行环境之mysql

如果不是采用的默认安装mysql(rpm包安装方式和默认安装是一致的),请参考mysql官方相关文档,安装完成后,相应的导入到数据库中即可。

终端中输入命令:

#chkconfig --level 5 mysql on #service mysqld start

在终端shell命令行中输入mysql即可进入mysql环境,使用show databases;命令即可查看默认的mysql数据库,使用exit可返回到终端shell命令行。

如果输入mysql提示command not found则表示数据库没有正常启动,可能出现的的错误原因: a) mysql服务没有启动

可在shell命令行输入chkconfig --list | grep mysqld查看mysqld服务进程是否启动。

如果没有启动,输入命令service mysqld start即可启动mysql。 b) mysql没有安装。(mysql在linux下的安装步骤网上教程比较多。)

如果mysql正常工作,将OpenIMSCore需要的三张表导入到数据库中, mysql -u root -p -h localhost

mysql -u root -p -h localhost

在mysql环境中输入show databases;(注意命令有个分号结尾)可以看到已经多了两个数据库hss_db(注意是hss_db,icscf。

4. 运行环境之DNS服务器

如果有独立的可控的DNS服务器,则域名解析部分可方在专门的DNS服务器上,在这里我们是准备在局域网中搭建IMS试验场,所以需要安装DNS服务器来做域名解析,并将DNS服务器和IMS服务器做在同一台PC中。下面就介绍在Fedora 8 和CentOS下利用bind实现IMS服务器需要的DNS解析(详情请参考Bind9相关的官方文档)。

由于是在同一台PC上实现,所以DNS服务器地址应该指向自己,所以在/etc/resolv.conf中应增加一行:nameserver 127.0.0.1

可通过命令chkconfig --list|grep named查看是否安装了DNS Serve。 如果已经安装通过命令service named start则可启动DNS Server。 如果没有安装则需要在安装包中(或下载)找到bind相应的安装包和它依赖的相关包,bind安装相关的文章在网上也很多。最简便的办法就是在安装Linux操作系统定制时就选上DNS服务器,直接就可以使用。 安装完成后修改/etc/name.conf文件。

在CentOS5中默认好像是没有这个文件,需要执行命令 #cp –p /etc/named.caching-nameserver.conf named.conf

用named.caching-nameserver.conf(这个文件需要安装另外一个dns的caching-nameserver-xxx.rpm安装包才会产生)模板生成一个named.conf文件

。修改后的文件为(红色为修改部分) CentOS下的named.conf文件: options {

listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory \

dump-file \

statistics-file \

memstatistics-file \ query-source port 53; query-source-v6 port 53; allow-query { any; };

};

logging {

channel default_debug {

file \ severity dynamic; }; };

view localhost_resolver {

match-clients { any; }; match-destinations { any; }; recursion yes;

include \};

如果是Fedora8 named.conf修改后为下面的结果:

options {

listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory \

dump-file \

statistics-file \

memstatistics-file \ allow-query { any; }; };

logging {

channel default_debug {

file \ severity dynamic; }; };

zone “.” IN { type hint;

file “named.ca”; };

include “etc/named.rfc1912.zones”;

修改完named.conf后无论是在fedora8还是CentOS下均需要编辑/etc/named.rfc1912.zones文件,在文件中增加一个zone: zone “open-ims.test” IN{

type master;

file “open-ims.dnszone”; notify no;

安装方式-源代码编译安装方式

需要安装的支持库Libosip,libexosip,gtk2.0,libxml2,libcurl3,gstreamer相关,libvlc0,vlc,这个过程就不在详细描述。安装以上的库文件后,就可以将UCTIMSClient的源代码包 uctimsclient1.0.12.tar.gz解压缩,进入目录后直接make就可以编译。编译后用命令./uctimsclient就可以启动软终端。

ii. Ubuntu下deb安装方式

上面所列出的开发库在ubuntu linux下都有deb的安装包,安装完所有deb包及其相互依赖的包(约80~100个)(在ubuntu中文网均可找到)后,(安装deb包的命令为sudo dpkg –i xxxx.deb),再安装uctimsclient1.0.12.deb即可。

安装成功后在命令行输入sudo /usr/bin/uctimsclient即可运行软终端。

注:下载deb安装包时注意应该与相应的操作系统对应,feisty对应ubuntu7.04,gusty对应ubuntu7.10,hardy对应ubuntu8.04。

i.

本文来源:https://www.bwwdw.com/article/k2uf.html

Top