您的位置:首页 > 其它

jabberd-2.2.11源码安装与配置笔记(ubuntu 10.04)

2010-11-12 11:21 561 查看
title - Jabberd-2.2.11源码安装与配置笔记(ubuntu 10.04)
参考资料
1.http://www.jabberdoc.org/AdminGuide
2.jabberd-2.2.11/README
3.jabberd-2.2.11/./configure --help
操作步骤
1. Preparation
1.1. Create Jabber User and Group(optional)
$sudo groupadd jabber
$sudo useradd -g jabber jabber
注:未进行该配置,参见2.6
1.2. Create Directories for PID's and Logs
$sudo mkdir -p /usr/local/var/jabberd/pid/
$sudo chown -R jabber:jabber /usr/local/var/jabberd/pid/
注:未执行 chown,参见2.6
$sudo mkdir -p /usr/local/var/jabberd/log/
$sudo chown -R jabber:jabber /usr/local/var/jabberd/log
注:未执行 chown,参见2.6
1.3. Install Prerequisites
1.3.1. Install OpenSSL
$sudo apt-get install libssl-dev
***or*** http://www.openssl.org/source/openssl-1.0.0.tar.gz $tar xzvf openssl-1.0.0.tar.gz
$cd openssl-1.0.0
$./config --prefix=/usr
$make
$sudo make install
1.3.2. Install libidn
$sudo apt-get install libidn11-dev // not sure.
***or***
libidn-1.17.tar.gz(ftp://alpha.gnu.org/pub/gnu/libidn/)
$tar xzvf libidn-1.17.tar.gz
$cd libidn-1.17
$./configure --prefix=/usr
$make
$sudo make install
1.3.3. Install MySQL
mysql-5.1.51.tar.gz(http://www.mysql.com/downloads).
$tar xzvf mysql-5.1.51.tar.gz
$cd mysql-5.1.51
$./configure --prefix=/usr
$make
$sudo make install
*** 如果编译时出现了以下错误:******************************
checking for tgetent in -ltermcap… no
checking for termcap functions library…
configure: error: No curses/termcap library found
$sudo apt-get install libncurses5-dev
***or***
$wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz $tar zxvf ncurses-5.6.tar.gz
$cd ncurses-5.6
$./configure --prefix=/usr --with-shared --without-debug
$make
$sudo make install clean
************************************************************
然后再重新编译Mysql进行安装。
2. Install Jabberd2
2.1. Install Expat
$sudo apt-get install libexpat-dev
***or*** http://expat.sourceforge.net/ +expat-2.0.1.tar.gz(http://sourceforge.net/projects/expat/) --recommend
-checkout: $cvs -z3 -d:pserver:anonymous@expat.cvs.sourceforge.net:/cvsroot/expat co expat
$tar xzvf expat-2.0.1.tar.gz
$cd expat-2.0.1
$./configure --prefix
$make
$sudo make install
2.2. Install GnuSASL http://www.gnu.org/software/gsasl/ +gsasl-1.4.4.tar.gz(ftp://ftp.gnu.org/gnu/gsasl/) --recommend
-git clone git://git.savannah.gnu.org/gsasl.git
$tar xzvf gsasl-1.4.4.tar.gz
$cd gsasl-1.4.4
$./configure --prefix=/usr
$make
$sudo make install
2.3. Install UDNS
sudo apt-get install udns-utils http://www.corpit.ru/mjt/udns/udns_0.0.9.tar.gz $tar xzvf udns_0.0.9.tar.gz
$cd udns_0.0.9
$./configure
$make
$sudo cp udns.h /usr/include
$sudo cp libudns.a /usr/lib
NOTE!!! maybe need copy dnsget to /usr/bin if not install.
2.4.Install Jabberd2
jabberd-2.2.11$sudo mkdir -p /usr/local/etc/jabberd
jabberd-2.2.11$./configure --sysconfdir=/usr/local/etc/jabberd --enable-mysql --enable-ssl --enable-debug
jabberd-2.2.11$make
jabberd-2.2.11$sudo make install
注:
--enable-mysql README中说默认是enable的,但实际似乎不是
--sysconfdir jabberd默认配置在/usr/local/etc下,通过该选项更改
--enable-debug 研究代码

***  NOTE ****************************************************
modify the coding to avoid crash.
~/jabber-2.2.11/sm/sm.c(141):
log_debug(ZONE, "requesting domain bind for '%s'", domain);
注:该版本需要做如上更改,否则调试版会崩溃
*************************************************************
2.5. Configurations
2.5.1. mysql
~/jabberd-2.2.11$cd tools
~/jabberd-2.2.11/tools$mysql -uroot -p < db-setup.mysql > db-setup.mysql.log
~/jabberd-2.2.11/tools$mysql -uroot -p -e "grant select,insert,delete,update on jabberd2.* to jabberd2@localhost identified by 'secret'"
2.5.2. /usr/local/etc/jabberd2/*.xml
diff命令显示所做修改如下:
zhoubo@zhoubo-laptop:/usr/local/etc/jabberd$ diff sm.xml sm.xml.dist
53c53
<   <log type='file'>
---
>   <log type='syslog'>
61a62
>     <!--
62a64
>     -->
72c74
<     <id>lovebzhou.net</id>
---
>     <id>localhost.localdomain</id>
86c88
<     <driver>mysql</driver>
---
>     <driver>sqlite</driver>

******
zhoubo@zhoubo-laptop:/usr/local/etc/jabberd$ diff c2s.xml c2s.xml.dist
53c53
<   <log type='file'>
---
>   <log type='syslog'>
61a62
>     <!--
62a64
>     -->
134c136
<     <id register-enable='true'>lovebzhou.net</id>
---
>     <id register-enable='true'>localhost.localdomain</id>
349c351
<     <module>mysql</module>
---
>     <module>sqlite</module>
******
zhoubo@zhoubo-laptop:/usr/local/etc/jabberd$ diff s2s.xml s2s.xml.dist
63c63
<   <log type='file'>
---
>   <log type='syslog'>
71a72
>     <!--
72a74
>     -->
******
zhoubo@zhoubo-laptop:/usr/local/etc/jabberd$ diff router.xml router.xml.dist
11c11
<   <log type='file'>
---
>   <log type='syslog'>
19a20
>     <!--
20a22
>     -->

2.6. Run
2.6.1. 管理员身份运行
$cd /usr/local/bin
$su root
#./jabberd -D
2.6.2. 普通帐号方式运行
将/user/local 目录所有者做如下更改:
/usr/local$sudo chown -R root:zhoubo ./
注:zhoubo组:读、执行,起到安全保证
/usr/local$sudo chown -R zhoubo:zhoubo var/jabberd
注:zhoubo组:读、写、执行
经过上面更改后再次执行就不用那么麻烦了,用普通的zhoubo帐号即可:
/usr/local/bin$./jabberd -D
2.7. Misc
2.7.1. pidgin测试与hosts 配置
#/etc/hosts
192.168.22.64   lovebzhou.net
2.7.2. s2s,DNS解析总是不正确,导致无法跨域聊天
临时解决:
编辑/etc/resolv.conf,注掉nameserver
$sudo vim /etc/resolv.conf
# Generated by NetworkManager
#nameserver 192.168.0.1
注:记得测试完再改回去,否则正常的网络访问会出问题。
2.8. ???
1.如何解决2.7.2?
2.如何开启ssl?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: