Year: 2009

Multi User Conferencing (MU-Conference) voor Jabber (jabberd2)

Multi User Conferencing (MU-Conference) voor Jabber (jabberd2)

Inleiding ~

Raadpleeg het volgende artikel aan / configure jabberd2 installeren …

How to configure Jabber (jabberd2) with MySQL,PAM as auth database

Eis ~

* Na pakketten zijn te verplichten compileren MU-Conference …

root @ laptop: ~ # apt-get install libglib2.0-0 libglib2.0-dev
root @ laptop: ~ # apt-get install libidn11 libidn11-dev
root @ laptop: ~ # apt-get install expat lib64expat1 lib64expat1-dev libexpat1-dev liblua5.1-expat-dev liblua5.1-expat0

Stap 1] Hoe compileren “MU-Conference” —

* Download “MU-Conference” van volgende URL – https: / / gna.org / projecten / mu-conferentie /

root @ laptop: / var / src # wget-c http://download.gna.org/mu-conference/mu-conference_0.8.tar.gz
root @ laptop: / var / src # tar xvfz mu-conference_0.8.tar.gz
root @ laptop: / var / src # cd mu-conference_0.8 /
root @ laptop: / var/src/mu-conference_0.8 #

* Compileren MU-Conference

root @ laptop: / var/src/mu-conference_0.8 # make
cd src /; maken
make [1]: Entering directory `/ var/src/mu-conference_0.8/src ‘
cd jabberd; maken
make [2]: Entering directory `/ var/src/mu-conference_0.8/src/jabberd ‘

… ..

root @ laptop: / var/src/mu-conference_0.8 # echo $?
0
root @ laptop: / var/src/mu-conference_0.8 #

Stap 2] Configure MU-conferentie —

* Kopieer nu de “MU-conferentie” binair naar jabberd2 installatie directory —

root @ laptop: ~ # cp / var/src/mu-conference_0.8/src/mu-conference / usr/local/jabberd-2.2.9/bin /
root @ laptop: ~ # chown jabber: jabber / usr/local/jabberd-2.2.9/bin/mu-conference
root @ laptop: ~ # ls-l / usr/local/jabberd-2.2.9/bin/mu-conference
-rwxr-xr-x 1 jabber jabber 191904 2009-10-12 18:59 / usr/local/jabberd-2.2.9/bin/mu-conference
root @ laptop: ~ #

root @ laptop: ~ # / usr/local/jabberd-2.2.9/bin/mu-conference-help
Jabber Component Speeltijd – 0.2.4
(c) 2003-2004 Paul Curtis

/ usr/local/jabberd-2.2.9/bin/mu-conference: ongeldige optie – ‘-‘
Usage: mu-conferentie [-B] [-s] [-h] [-d LEVEL]-c FILE
-B Zet de daemon in de achtergrond
s Show debug-berichten op stderr
-h Print this help
-O-niveau Stel het niveau van de debug output
-c FILE Stel het config bestand, verplichte argument
root @ laptop: ~ #

* Maak spooldirectory voor “MU-Conference”. De mu-conferentie component vereist een spool om in te conferentieruimte informatie op te slaan.

root @ laptop: ~ # mkdir / usr/local/jabberd-2.2.9/var/spool
root @ laptop: ~ # chown jabber: jabber / usr/local/jabberd-2.2.9/var/spool

OPMERKING ~ “jabber: jabber” gebruiker / groep naam van jabberd2 server.

* Kopieer het configuratiebestand van “MU-conferentie” te jabberd2 installatie directory en bewerken van de instelling —

root @ laptop: ~ # cp / var/src/mu-conference_0.8/muc-default.xml / usr/local/jabberd-2.2.9/etc/mu-conference.xml
root @ laptop: ~ # chown jabber: jabber / usr/local/jabberd-2.2.9/etc/mu-conference.xml
root @ laptop: ~ #

root @ laptop: ~ # vi / usr/local/jabberd-2.2.9/etc/mu-conference.xml

<name> conf.laptop.ubuntu.me </ name>
<host> conf.laptop.ubuntu.me </ host>
<ip> localhost </ ip>
<port> 5347 </ port>
<secret> secret </ geheim>

<spool> / usr/local/jabberd-2.2.9/var/spool </ spool>
<logdir> / usr/local/jabberd-2.2.9/var/log </ logdir>
<pidfile> / usr/local/jabberd-2.2.9/var/run/mu-conference.pid </ pidfile>

<loglevel> 255 </ loglevel>

<sadmin>
<user> admin@laptop.ubuntu.me </ gebruiker>
</ sadmin>


… ..
root @ laptop: ~ #

* Nu start de jabberd2 server en start “MU-conferentie” …

root @ laptop: ~ # su-l jabber-s / bin / bash-c “/ usr/local/jabberd-2.2.9/bin/mu-conference-B-C / usr/local/jabberd-2.2.9 / etc / mu-conference.xml ”
root @ laptop: ~ #

* Controleer bovenstaande artikel, init opstartscript dwz ‘/ etc/init.d/jabberd2’ zal starten mu-conferentie.

root @ laptop: ~ # tail-f / usr/local/jabberd-2.2.9/var/log/mu-conference.log
Mon Oct 12 19:19:40 2009 main.c: 168 (belangrijkste): Jabber Component Runtime – 0.2.4 starten.
Mon Oct 12 19:19:40 2009 MU-Conference: [conference.c: 1076 (conferentie)] mu-conferentie laden – Service ID: conf.laptop.ubuntu.me

Mon Oct 12 19:19:40 2009 MU-Conference: [conference.c: 1157 (conferentie)] Adding sadmin admin@laptop.ubuntu.me
Mon Oct 12 19:19:40 2009 MU-Conference: [xdb.c: 319 (xdb_rooms_get)] gevraagd om kamers te krijgen van Xdb
Mon Oct 12 19:19:40 2009 MU-Conference: [xdb.c: 418 (xdb_rooms_get)] sla .. geen resultaten
Mon Oct 12 19:19:40 2009 main.c: 219 (belangrijkste): hoofd lus starten.
Mon Oct 12 19:19:40 2009 jcr_base_connect.c: 34 (jcr_socket_connect): Poging verbinding naar localhost: 5347
Mon Oct 12 19:19:40 2009 jcr_base_connect.c: 87 (jcr_send_start_stream): Opening XML stream: verzonden 173 bytes
Mon Oct 12 19:19:40 2009 jcr_main_stream_error.c: 50 (jcr_main_new_stream): Server stroom aangesloten.
Mon Oct 12 19:19:40 2009 jcr_deliver.c: 51 (jcr_queue_deliver): packet levering thread starten.

gedaan!

Stap 3] Test “MU-Conference” —

* In “Algemeen” PSI “IM-client, ga naar ‘menu en klik op’ Service Discovery ‘en vink de kamer lijst …
* In ‘Extra’ en vervolgens Pidgin “IM-client, goto ‘klik op’ Room List ‘sectie.

Zodra u ontdekt de ‘mu-conferentie’ server. Klik op ‘+ Add Chat’ uit het menu ‘Vrienden’ van Pidgin. In geval van PSI klik op ‘Join groupchat’ uit het menu ‘Algemeen’ toe te voegen “Conferentie / Room” en dan toetreden tot de ‘Confernece Room’.

Genieten,
Arun Bagul

多用户会议 (μ-会议的Jabber) (Jabberd2)

多用户会议 (μ-会议的Jabber) (Jabberd2)

介绍〜

请参考下面的文章来安装/配置Jabberd2 …

How to configure Jabber (jabberd2) with MySQL,PAM as auth database

要求〜

*以下包需要编译穆,会议…

根@笔记本:〜#易于得到安装的libglib2.0 – 0的libglib2.0 – dev的
根@笔记本:〜#易于得到安装libidn11 libidn11 – dev的
根@笔记本:〜#易于得到安装外籍lib64expat1 lib64expat1 – dev的的libexpat1 – dev的与liblua5.1 -外籍- dev的与liblua5.1 – expat0

步骤1]如何编译“木会议” –

*下载“木会议”,从以下网址 – 通过https:/ / gna.org /项目/亩,会议/

根@笔记本:/无功/ src目录#Wget的- ç http://download.gna.org/mu-conference/mu-conference_0.8.tar.gz
根@笔记本:/无功/ src目录#焦油xvfz亩conference_0.8.tar.gz
根@笔记本:/无功/ src目录#光盘亩conference_0.8 /
根@笔记本:/ var/src/mu-conference_0.8#

*编译木会议

根@笔记本:/ var/src/mu-conference_0.8#使
光盘钢骨混凝土/;使
使[1]:进入目录`/ var/src/mu-conference_0.8/src’
光盘jabberd;使
使[2]:进入目录`/ var/src/mu-conference_0.8/src/jabberd’

… ..

@笔记本电脑根目录:/ var/src/mu-conference_0.8回声#$?
0
根@笔记本:/ var/src/mu-conference_0.8#

第2步]配置木会议 –

*现在复制“木会议”二进制Jabberd2安装目录 –

根@笔记本:〜#的CP / var/src/mu-conference_0.8/src/mu-conference / usr/local/jabberd-2.2.9/bin /
根@笔记本:〜#乔恩闲聊:闲聊/ usr/local/jabberd-2.2.9/bin/mu-conference
根@笔记本:〜#编号:LS -升/ usr/local/jabberd-2.2.9/bin/mu-conference
– rwxr – XR的- × 1闲聊闲聊191904 09年10月12日18点59分/ usr/local/jabberd-2.2.9/bin/mu-conference
根@笔记本:〜#

根@笔记本:〜#/ usr/local/jabberd-2.2.9/bin/mu-conference自助
Jabber的组件运行 – 0.2.4
(三)2003-2004保罗柯蒂斯

/ usr/local/jabberd-2.2.9/bin/mu-conference:无效的选项 – ‘ – ‘
用法:万亩会议[-乙] [- š] [- H的] [- D级] – C文件
-乙放入后台守护进程
– S显示调试消息到stderr上
– h打印此帮助
– D级水平的设置调试输出
– C文件设置配置文件,强制参数
根@笔记本:〜#

*创建后台打印目录“亩会议”。在亩会议组件需要后台打印目录在其中存储信息的会议室。

根@笔记本:〜#mkdir / usr/local/jabberd-2.2.9/var/spool
根@笔记本:〜#乔恩闲聊:闲聊/ usr/local/jabberd-2.2.9/var/spool

注〜“闲聊:闲聊”用户/组Jabberd2服务器的名称。

*复制的配置文件“木大会”Jabberd2安装目录并编辑设置 –

根@笔记本:〜#的CP / var/src/mu-conference_0.8/muc-default.xml / usr/local/jabberd-2.2.9/etc/mu-conference.xml
根@笔记本:〜#乔恩闲聊:闲聊/ usr/local/jabberd-2.2.9/etc/mu-conference.xml
根@笔记本:〜#

根@笔记本:〜#六/ usr/local/jabberd-2.2.9/etc/mu-conference.xml

<名称conf.laptop.ubuntu.me“/名”
<主机conf.laptop.ubuntu.me“/主机”
<ip>本地主机“/ IP协议”
端口> 5347“/端口”
<secret>秘密“/秘密”

<spool> / usr/local/jabberd-2.2.9/var/spool“/线轴”
<logdir> / usr/local/jabberd-2.2.9/var/log“/ logdir”
<pidfile> / usr/local/jabberd-2.2.9/var/run/mu-conference.pid“/ pid文件”

<loglevel> 255“/ loglevel改为”

<sadmin>
<用户admin@laptop.ubuntu.me“/用户”
“/ sadmin”


… ..
根@笔记本:〜#

*现在重新启动Jabberd2服务器,然后启动“木会议”…

根@笔记本:〜#苏- 1的jabber -的S /斌/ bash – c“的/ usr/local/jabberd-2.2.9/bin/mu-conference -β-荤/ usr/local/jabberd-2.2.9 /等/亩,conference.xml“
根@笔记本:〜#

*请检查上面的文章后,init启动脚本,即’/ etc/init.d/jabberd2’开始亩会议。

根@笔记本:〜#尾f / usr/local/jabberd-2.2.9/var/log/mu-conference.log
星期一10月12日19点19分40秒2009 main.c:168(主):Jabber的组件运行 – 0.2.4开始。
星期一10月12日19点19分40秒2009亩会议:[conference.c:1076(会议)]亩会议料 – 服务编号:conf.laptop.ubuntu.me

星期一10月12日19点19分40秒2009亩会议:[conference.c:1157(会议)]添加sadmin admin@laptop.ubuntu.me
星期一10月12日19点19分40秒2009亩会议:[xdb.c:319(xdb_rooms_get)]要求从xdb室
星期一10月12日19点19分40秒2009亩会议:[xdb.c:418(xdb_rooms_get)]跳..没有结果
星期一10月12日19点19分40秒2009 main.c:219(主):主回路开始。
星期一10月12日19点19分40秒2009 jcr_base_connect.c:34(jcr_socket_connect):试图连接到localhost:5347
星期一10月12日19点19分40秒2009 jcr_base_connect.c:87(jcr_send_start_stream):打开XML流:发送173字节
星期一10月12日19点19分40秒2009 jcr_main_stream_error.c:50(jcr_main_new_stream):服务器流连接。
星期一10月12日19点19分40秒2009 jcr_deliver.c:51(jcr_queue_deliver):包线开始交付。

做!

第三步]测试“木会议” –

*在“防扩散安全倡议”IM客户端,转到’一般’菜单,然后点击’服务发现’,并检查房间列表…
*在“洋泾浜”IM客户端,转到’工具’,然后’房间名单请点击’一节。

一旦你发现了’亩,会议的服务器。请点击’+添加聊天’的’朋友’的洋泾浜菜单。在该案防扩散点击’加入Groupchat’的’一般’菜单添加“会议/室”,然后再加入’Confernece室’。

享受,
Arun Bagul

Multi User Conferencing (MU-Conference) for Jabber (Jabberd2)

Multi User Conferencing (MU-Conference) for Jabber (Jabberd2)

Introduction ~

Please refer the following article to install/configure Jabberd2…

http://www.indiangnu.org/2009/how-to-configure-jabber-jabberd2-with-mysqlpam-as-auth-database/

Requirement ~

*  Following packages are require to compile MU-Conference

root@laptop:~# apt-get install  libglib2.0-0  libglib2.0-dev
root@laptop:~# apt-get install  libidn11  libidn11-dev
root@laptop:~# apt-get install  expat  lib64expat1  lib64expat1-dev libexpat1-dev  liblua5.1-expat-dev  liblua5.1-expat0

Step 1] How compile “MU-Conference” –

* Download “MU-Conference” from following URL – https://gna.org/projects/mu-conference/

root@laptop:/var/src# wget -c http://download.gna.org/mu-conference/mu-conference_0.8.tar.gz
root@laptop:/var/src# tar xvfz mu-conference_0.8.tar.gz
root@laptop:/var/src# cd mu-conference_0.8/
root@laptop:/var/src/mu-conference_0.8#

* compile MU-Conference

root@laptop:/var/src/mu-conference_0.8# make
cd src/ ; make
make[1]: Entering directory `/var/src/mu-conference_0.8/src’
cd jabberd ; make
make[2]: Entering directory `/var/src/mu-conference_0.8/src/jabberd’

…..

root@laptop:/var/src/mu-conference_0.8# echo $?
0
root@laptop:/var/src/mu-conference_0.8#

Step 2] Configure MU-Conference –

* Now copy the “MU-Conference” binary to Jabberd2 installation directory –

root@laptop:~# cp /var/src/mu-conference_0.8/src/mu-conference  /usr/local/jabberd-2.2.9/bin/
root@laptop:~# chown jabber:jabber /usr/local/jabberd-2.2.9/bin/mu-conference
root@laptop:~# ls -l /usr/local/jabberd-2.2.9/bin/mu-conference
-rwxr-xr-x 1 jabber jabber 191904 2009-10-12 18:59 /usr/local/jabberd-2.2.9/bin/mu-conference
root@laptop:~#

root@laptop:~# /usr/local/jabberd-2.2.9/bin/mu-conference –help
Jabber Component Runtime — 0.2.4
(c) 2003-2004 Paul Curtis

/usr/local/jabberd-2.2.9/bin/mu-conference: invalid option — ‘-‘
Usage: mu-conference [-B] [-s] [-h] [-d LEVEL] -c FILE
-B         Put the daemon in background
-s         Show debug messages on stderr
-h         Print this help
-d LEVEL   Set the level of debug output
-c FILE    Set the config file, mandatory argument
root@laptop:~#

* Create spool directory for “MU-Conference”. The mu-conference component requires a spool directory to in which to store conference room information.

root@laptop:~# mkdir /usr/local/jabberd-2.2.9/var/spool
root@laptop:~# chown jabber:jabber /usr/local/jabberd-2.2.9/var/spool

NOTE ~  “jabber:jabber” user/group name of Jabberd2 server.

* Copy the config file of “MU-Conference” to Jabberd2  installation directory and edit the setting –

root@laptop:~# cp /var/src/mu-conference_0.8/muc-default.xml  /usr/local/jabberd-2.2.9/etc/mu-conference.xml
root@laptop:~# chown jabber:jabber /usr/local/jabberd-2.2.9/etc/mu-conference.xml
root@laptop:~#

root@laptop:~# vi /usr/local/jabberd-2.2.9/etc/mu-conference.xml

<name>conf.laptop.ubuntu.me</name>
<host>conf.laptop.ubuntu.me</host>
<ip>localhost</ip>
<port>5347</port>
<secret>secret</secret>

<spool>/usr/local/jabberd-2.2.9/var/spool</spool>
<logdir>/usr/local/jabberd-2.2.9/var/log</logdir>
<pidfile>/usr/local/jabberd-2.2.9/var/run/mu-conference.pid</pidfile>


<loglevel>255</loglevel>

<sadmin>
<user>admin@laptop.ubuntu.me</user>
</sadmin>


…..
root@laptop:~#


* Now restart the Jabberd2 server and then  start “MU-Conference”…

root@laptop:~# su -l jabber -s /bin/bash -c “/usr/local/jabberd-2.2.9/bin/mu-conference  -B -c /usr/local/jabberd-2.2.9/etc/mu-conference.xml”
root@laptop:~#

* Please check above article, init startup script ie ‘/etc/init.d/jabberd2’ will start mu-conference.

root@laptop:~# tail -f /usr/local/jabberd-2.2.9/var/log/mu-conference.log
Mon Oct 12 19:19:40 2009 main.c:168 (main): Jabber Component Runtime — 0.2.4  starting.
Mon Oct 12 19:19:40 2009 MU-Conference: [conference.c:1076 (conference)] mu-conference loading  – Service ID: conf.laptop.ubuntu.me

Mon Oct 12 19:19:40 2009 MU-Conference: [conference.c:1157 (conference)] Adding sadmin admin@laptop.ubuntu.me
Mon Oct 12 19:19:40 2009 MU-Conference: [xdb.c:319 (xdb_rooms_get)] asked to get rooms from xdb
Mon Oct 12 19:19:40 2009 MU-Conference: [xdb.c:418 (xdb_rooms_get)] skipping .. no results
Mon Oct 12 19:19:40 2009 main.c:219 (main): Main loop starting.
Mon Oct 12 19:19:40 2009 jcr_base_connect.c:34 (jcr_socket_connect): Attempting connection to localhost:5347
Mon Oct 12 19:19:40 2009 jcr_base_connect.c:87 (jcr_send_start_stream): Opening XML stream: sent 173 bytes
Mon Oct 12 19:19:40 2009 jcr_main_stream_error.c:50 (jcr_main_new_stream): Server stream connected.
Mon Oct 12 19:19:40 2009 jcr_deliver.c:51 (jcr_queue_deliver): packet delivery thread starting.

done!!

Step 3] Test “MU-Conference” –

* In “PSI” IM client , goto ‘General’ menu and then click on ‘Service Discovery’ and check the room list…
* In “Pidgin” IM client, goto ‘Tools’ and then click on ‘Room List’ section.

Once you detected the ‘mu-conference’ server. Please click on  ‘+ Add Chat’ from ‘Buddies’ menu of pidgin. In case of PSI click on ‘Join Groupchat’ from ‘General’ menu to add “Conference/Room” and then join the ‘Confernece Room’.

Enjoy,
Arun Bagul

How to configure Jabber (jabberd2) with MySQL,PAM as auth database

How to configure Jabber (jabberd2) with MySQL,PAM as auth database

Introduction –

Jabberd2 is XMPP protocol based Instants Messaging (IM) server. Jabberd2 is highly scalable,high performance jabber server. The beauty of the Jabberd2 architecture lies in the fact that its component architecture distributes services across six components, each of which communicates over TCP/IP.

1) Router – is the backbone of Jabber server. It accepts connections from Jabberd components and passes XML packets between components
2) Server to Server (S2S) – component handles communications with external servers. S2S passes packets between other components and external servers, and it performs dial-back to authenticate remote Jabber servers.

3) Resolver  – acts in support of the S2S component. It resolves hostnames for S2S as part of dialback authentication.
4) Session Manager (SM)  – component implements instant messaging features like message passing,presence,roster and subscription etc. + DB connection
5) Client to Server (C2S) – component handles communication with Jabber clients like connection,passing packets to SM, authenticate and register users.
6) Jabber core  – logging and third party plugin communication.

** To compile/install Jabberd-2.2.9 we need following packages on Debian/Ubuntu (similar on Redhat/Fedora or other OS)

libpam0g  libpam0g-dev (PAM support)
openssl libssl-dev (TLS/SSL support)
libudns0 libudns-dev (DNS Resolver Library)
libidn11  libidn11-dev libnet-libidn-perl (libidn provides necessary string manipulation functionality for Jabberd2)
mysql-common libdbd-mysql-perl  mysql-server-5.1  mysql-client-5.1 libmysqlclient16-dev (MySQL DB authentication)

**  Jabberd2 supports five authentication (user) mechanism –

* PAM
* MySQL Database
* Berkeley DB
* PostgreSQL Database
* SQLite DB
* OpenLDAP

** Following ports are used by jabberd2 –
* port 5222 – non-SSL client connection
* port 5223 – SSL client connection
* port 5269 – server to server connection
* port 5347 – jabberd2 router

Step 1] Create system User and Group for Jabberd 2  Server (http://codex.xiaoka.com/wiki/jabberd2:start) –

root@laptop:~# addgroup  –system  jabber
Adding group `jabber’ (GID 61) …
Done.
root@laptop:~#

root@laptop:~# adduser  –system  –home /usr/local/jabberd-2.2.9/ –shell /bin/false  –gid 61 jabber

* Verify system User and Group…  (steps for Ubuntu)

root@laptop:~# id jabber
uid=125(jabber) gid=61(jabber) groups=61(jabber)
root@laptop:~#

Step 2] Download the latest version of  Jabberd2 –

* Extract the source then compile/install it as shown below with PAM/MYSQL DB for authentication with SSL

root@laptop:/var/src/# wget -c http://codex.xiaoka.com/pub/jabberd2/releases/jabberd-2.2.9.tar.bz2

root@laptop:/var/src# tar xvfj  jabberd-2.2.9.tar.bz2

root@laptop:/var/src# cd jabberd-2.2.9

root@laptop:/var/src/jabberd-2.2.9# ./configure –prefix=/usr/local/jabberd-2.2.9/ –enable-debug  –enable-mysql  –enable-ssl –enable-pam  –enable-ssl

…..
checking for Libidn version >= 0.3.0… yes
checking for dns_init in -ludns… yes
checking gsasl.h usability… yes
checking gsasl.h presence… yes
checking for gsasl.h… yes
checking for gsasl_check_version in -lgsasl… yes
checking for GnuSASL version >= 0.2.27… no
configure: error: no SASL backend available out of: gsasl

root@laptop:/var/src/jabberd-2.2.9#

Step 3] Facing problem  like “configure: error: no SASL backend available out of: gsasl” ~

Don’t worry download latest version of gsasl library from URL ~ http://alpha.gnu.org/gnu/gsasl/

* Download latest version of GNU SASL (gsasl)

root@laptop:/var/src/# wget -c  http://alpha.gnu.org/gnu/gsasl/gsasl-0.2.29.tar.gz

* Extract the source then compile/install it …

root@laptop:/var/src# tar xvfz  gsasl-0.2.29.tar.gz
root@laptop:/var/src# cd gsasl-0.2.29/
root@laptop:/var/src/gsasl-0.2.29# ./configure –prefix=/usr/local/gsasl/
root@laptop:/var/src/gsasl-0.2.29# make
root@laptop:/var/src/gsasl-0.2.29# make  install
root@laptop:/var/src/gsasl-0.2.29#

* Verify the “gsasl” version

root@laptop:/var/src/gsasl-0.2.29# /usr/local/gsasl/bin/gsasl –version
gsasl (GNU SASL) 0.2.29

Copyright (C) 2008 Simon Josefsson.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Simon Josefsson.
root@laptop:/var/src/gsasl-0.2.29#

Step 4]  Go back to Jabberd2  source and start compiling/installing as shown in below –

root@laptop:/var/src/jabberd-2.2.9# ./configure –prefix=/usr/local/jabberd-2.2.9/  –enable-debug  –enable-mysql  –enable-ssl –enable-pam  –enable-ssl  –with-extra-include-path=/usr/local/gsasl/include/ –with-extra-library-path=/usr/local/gsasl/lib/
root@laptop:/var/src/jabberd-2.2.9# make
root@laptop:/var/src/jabberd-2.2.9# make install

**  Create log and runtime directories ~

root@laptop:/usr/local/jabberd-2.2.9# mkdir /usr/local/jabberd-2.2.9/var
root@laptop:/usr/local/jabberd-2.2.9# mkdir /usr/local/jabberd-2.2.9/var/run

root@laptop:/usr/local/jabberd-2.2.9# ls -l
total 20
drwxr-xr-x 2 jabber jabber 4096 2009-10-11 18:21 bin
drwxr-xr-x 3 jabber jabber 4096 2009-10-11 18:21 etc
drwxr-xr-x 3 jabber jabber 4096 2009-10-11 18:21 lib
drwxr-xr-x 3 jabber jabber 4096 2009-10-11 18:21 share
drwxr-xr-x 3 jabber jabber 4096 2009-10-11 18:42 var
root@laptop:/usr/local/jabberd-2.2.9#

Step 5] Configure jabberd-2.2.9 ~

* Setup (jabberid@laptop.ubuntu.me) Domain Name (hostname of server),IP address,port and log setting in client (c2s.xml) & server (sm.xml) configuration file –

NOTE ~ Domain Name not necessary to be hostname of server. But it should be resolvable (DNS) to one of the IP of server.

root@laptop:/usr/local/jabberd-2.2.9# hostname
laptop.ubuntu.me
root@laptop:/usr/local/jabberd-2.2.9#

root@laptop:/usr/local/jabberd-2.2.9# vi /usr/local/jabberd-2.2.9/etc/sm.xml

<pidfile>/usr/local/jabberd-2.2.9/var/run/sm.pid</pidfile>

<id>laptop.ubuntu.me</id>

<ip>0.0.0.0</ip>            <!– default: 127.0.0.1 –>
<port>5347</port>             <!– default: 5347 –>

<log type=’file’>
<file>/usr/local/jabberd-2.2.9/var/log/sm.log</file>

root@laptop:/usr/local/jabberd-2.2.9# vi /usr/local/jabberd-2.2.9/etc/c2s.xml

<pidfile>/usr/local/jabberd-2.2.9/var/run/c2s.pid</pidfile>

** To auto enable registration (in c2s.xml file ‘register-enable=’true’ is required)
<id register-enable=’true’>laptop.ubuntu.me</id>

<ip>0.0.0.0</ip>
<port>5222</port>

<log type=’file’>
<file>/usr/local/jabberd-2.2.9/var/log/c2s.log</file>

root@laptop:/usr/local/jabberd-2.2.9# vi /usr/local/jabberd-2.2.9/etc/s2s.xml

<pidfile>/usr/local/jabberd-2.2.9/var/run/s2s.pid</pidfile>
<log type=’file’>
<file>/usr/local/jabberd-2.2.9/var/log/s2s.log</file>

Step 6 ] Configure Jabberd-2.2.9 for Storage and Authentication 9using MySQL DB) –

* Make sure that database “Jabberd2” doesn’t exist (if exist either drop db or change DB name in db-setup.mysql file). If not export MySQL DB dump from Jabberd2 source…..

root@laptop:/usr/local/jabberd-2.2.9# mysql -u root -p  <  /var/src/jabberd-2.2.9/tools/db-setup.mysql
Enter password:
root@laptop:/usr/local/jabberd-2.2.9# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 176
Server version: 5.1.31-1ubuntu2 (Ubuntu)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> show databases;
+———————————-+
| Database                         |
+———————————-+
| information_schema                |
| jabberd2                                    |
| mysql                                             |
+———————————-+
3 rows in set (0.00 sec)

mysql> use jabberd2;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+——————–+
| Tables_in_jabberd2 |
+——————–+
| active             |
| authreg            |
| disco-items        |
| logout             |
| motd-message       |
| motd-times         |
| privacy-default    |
| privacy-items      |
| private            |
| queue              |
| roster-groups      |
| roster-items       |
| status             |
| vacation-settings  |
| vcard              |
+——————–+
15 rows in set (0.00 sec)

mysql>

*  Creating mysql user for jabberd2 ie ‘jabberd2’ with access to DB “jabberd2” –

mysql> GRANT select,insert,delete,update ON jabberd2.* to ‘jabber’@’localhost’ IDENTIFIED by ‘mypassword’;
Query OK, 0 rows affected (0.00 sec)

mysql>quit
Bye
root@laptop:/usr/local/jabberd-2.2.9#

* Now verify access to DB ~

root@laptop:/usr/local/jabberd-2.2.9# mysql -u jabberd2 -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 178
Server version: 5.1.31-1ubuntu2 (Ubuntu)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> show databases;
+——————–+
| Database           |
+——————–+
| information_schema |
| jabberd2           |
+——————–+
2 rows in set (0.00 sec)

mysql> quit
Bye
root@laptop:/usr/local/jabberd-2.2.9#

Step 7] Change c2s.xml and sm.xml config file for MySQL DB support –

root@laptop:/usr/local/jabberd-2.2.9# vi /usr/local/jabberd-2.2.9/etc/c2s.xml

<!– Authentication/registration database configuration –>
<authreg>

<!– Backend module to use –>
<module>mysql</module>

<!– MySQL module configuration –>
<mysql>
<!– Database server host and port –>
<host>localhost</host>
<port>3306</port>

<!– Database name –>
<dbname>jabberd2</dbname>
<!– Database username and password –>
<user>jabberd2</user>
<pass>mypassword</pass>

root@laptop:/usr/local/jabberd-2.2.9# vi /usr/local/jabberd-2.2.9/etc/sm.xml

<!– Storage database configuration –>
<storage>
<!– Dynamic storage modules path –>
<path>/usr/local/jabberd-2.2.9/lib/jabberd</path>

<!– By default, we use the SQLite driver for all storage –>
<driver>mysql</driver>

<!– MySQL driver configuration –>
<mysql>
<!– Database server host and port –>
<host>localhost</host>
<port>3306</port>

<!– Database name –>
<dbname>jabberd2</dbname>
<!– Database username and password –>
<user>jabberd2</user>
<pass>mypassword</pass>

** To auto enable registration (in sm.xml file)

<auto-create/>

———————————-

NOTE ~ It is not enough to add users to the ‘authreg’ table because this only introduces users to the c2s component, but not to the sm component. Correct entries are required in the ‘active’ table as well. It is best to use a Jabber client to register users.

Step 8] Let’s start Jabberd-2 server (Test configuration) –

root@laptop:~# su -l jabber -s /bin/bash -c “/usr/local/jabberd-2.2.9/bin/jabberd -b”
root@laptop:~#

* check whether ports are open or not

root@laptop:~# netstat -nlp

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:5347            0.0.0.0:*               LISTEN      31662/router
tcp        0      0 0.0.0.0:5222            0.0.0.0:*               LISTEN      13883/c2s
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      2892/mysqld
tcp        0      0 0.0.0.0:5269            0.0.0.0:*               LISTEN      13886/s2s

…..

root@laptop:~#

** Now Register the user “jabberd@laptop.ubuntu.me” and password “secret” using Jabber IM client

root@laptop:/usr/local/jabberd-2.2.9# tail -f var/log/c2s.log

Mon Oct 12 00:43:15 2009 [notice] [8] registration succeeded, requesting user creation: jid=jabberd@laptop.ubuntu.me
Mon Oct 12 00:43:15 2009 [notice] [8] SASL authentication succeeded: mechanism=DIGEST-MD5; authzid=jabberd@laptop.ubuntu.me
Mon Oct 12 00:43:15 2009 [notice] [8] bound: jid=jabberd@laptop.ubuntu.me/Telepathy
Mon Oct 12 00:44:20 2009 [notice] [9] [192.168.0.1, port=48307] connect

* Checking DB entry –

mysql> SELECT * FROM  active;
+————————–+—————–+————+
| collection-owner         | object-sequence | time       |
+————————–+—————–+————+
| jabberd@laptop.ubuntu.me |               1 | 1255288395 |
+————————–+—————–+————+
1 row in set (0.00 sec)

mysql> SELECT * FROM  authreg;
+———-+——————+———-+
| username | realm            | password |
+———-+——————+———-+
| jabberd  | laptop.ubuntu.me | secret   |
+———-+——————+———-+
1 row in set (0.00 sec)

mysql>

=> Testing completed successfully….

Step 9] Configuring Jabberd2 for SSL/TLS Connections –

Let’s configure jabberd2 for SSL/TLS connection. Jabberd2 is designed to provide for SSL/TLS connections not only between Jabber clients and the server, but also between the Jabberd server components (sm, s2s and c2s) and the Jabberd router. A single SSL certificate may be used for these two functions (Jabber client to Jabberd and Jabberd component to router), or two separate keys may be used.

* Generate Self signed SSL Certificate…

root@laptop:/usr/local/jabberd-2.2.9# openssl req -new -x509 -newkey rsa:1024 -days 365 -keyout privkey.pem -out server.pem
Generating a 1024 bit RSA private key
.++++++
…..++++++
writing new private key to ‘privkey.pem’
Enter PEM pass phrase:
….
Common Name (eg, YOUR name) []:laptop.ubuntu.me
root@laptop:/usr/local/jabberd-2.2.9#

* Remove Passphrase from private key

root@laptop:/usr/local/jabberd-2.2.9# openssl rsa -in privkey.pem -out privkey.pem

** Combine the Private and Public Key and delete private key

root@laptop:/usr/local/jabberd-2.2.9# cat privkey.pem >> server.pem

root@laptop:/usr/local/jabberd-2.2.9# rm privkey.pem

* Change permission…

root@laptop:/usr/local/jabberd-2.2.9# chown jabber:jabber /usr/local/jabberd-2.2.9/server.pem
root@laptop:/usr/local/jabberd-2.2.9# ls  -l   /usr/local/jabberd-2.2.9
total 24
drwxr-xr-x 2 jabber jabber 4096 2009-10-11 22:17 bin
drwxr-xr-x 3 jabber jabber 4096 2009-10-12 01:03 etc
drwxr-xr-x 3 jabber jabber 4096 2009-10-11 20:16 lib
-rw-r–r– 1 jabber jabber 2217 2009-10-12 01:17 server.pem
drwxr-xr-x 3 jabber jabber 4096 2009-10-11 20:16 share
drwxr-xr-x 4 jabber jabber 4096 2009-10-12 00:20 var
root@laptop:/usr/local/jabberd-2.2.9#

root@laptop:/usr/local/jabberd-2.2.9# vi /usr/local/jabberd-2.2.9/etc/c2s.xml
<ssl-port>5223</ssl-port>
<pemfile>/usr/local/jabberd-2.2.9/server.pem</pemfile>

root@laptop:/usr/local/jabberd-2.2.9# vi /usr/local/jabberd-2.2.9/etc/s2s.xml

<pemfile>/usr/local/jabberd-2.2.9/server.pem</pemfile>

root@laptop:/usr/local/jabberd-2.2.9# vi /usr/local/jabberd-2.2.9/etc/sm.xml

<pemfile>/usr/local/jabberd-2.2.9/server.pem</pemfile>

<pemfile>/usr/local/jabberd-2.2.9/server.pem</pemfile>

** Now restart the server and check log …

root@laptop:/usr/local/jabberd-2.2.9# tail -f var/log/c2s.log

Mon Oct 12 01:28:57 2009 [notice] connection to router established
Mon Oct 12 01:28:57 2009 [notice] [0.0.0.0, port=5222] listening for connections
Mon Oct 12 01:28:57 2009 [notice] [0.0.0.0, port=5223] listening for SSL connections

* While registering user ~

1) Required SSL/TLS
2) Force old SSL (5223 port)

Please enable above two setting and uncheck “Allow plaintext auth unecrypted streams”

NOTE ~ While login first time (auto registration mode) make sure to check “Create this new account on the server” checkbox in pidgin (bottom)

** It works !!

Step 10] Init.d startup script for Jabberd2 and Mu-Conference –

root@laptop:~# /etc/init.d/jabberd2 start
Starting the Jabberd2 IM Server…
router 11095 | sm 11099 | s2s 11102 | c2s 11106 |mu-conf 11149

Done.
root@laptop:~# /etc/init.d/jabberd2 status
Jabberd2 IM Server status –
router – 11095 | sm – 11099 | s2s – 11102 | c2s – 11106 | mu-conf 11149
root@laptop:~#

* Now check network setting…

root@laptop:~# netstat -nlp

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:5347            0.0.0.0:*               LISTEN      11095/router
tcp        0      0 0.0.0.0:5222            0.0.0.0:*               LISTEN      11106/c2s
tcp        0      0 0.0.0.0:5223            0.0.0.0:*               LISTEN      11106/c2s
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      2899/mysqld
tcp        0      0 0.0.0.0:5269            0.0.0.0:*               LISTEN      11102/s2s

root@laptop:~# /etc/init.d/jabberd2 stop
Stoping the Jabberd2 IM Server…
Done.
root@laptop:~#

** Want to see the script ~

root@laptop:~# cat /etc/init.d/jabberd2
#!/bin/bash

## Jabberd2 IM Server
## Jabber User/Group – jabber/jabber
## command to srart ~ su -l jabber -s /bin/bash -c “${BASE_PATH}/bin/jabberd -b”
##
#c2s
BASE_PATH=”/usr/local/jabberd-2.2.9″
c2s_pid=”${BASE_PATH}/var/run/c2s.pid”
#s2s
s2s_pid=”${BASE_PATH}/var/run/s2s.pid”
#sm
sm_pid=”${BASE_PATH}/var/run/sm.pid”
#router
router_pid=”${BASE_PATH}/var/run/router.pid”
#Mu-Conference
mu_conf_pid=”${BASE_PATH}/var/run/mu-conference.pid”

case “$1” in

start)
## checking whether Jabberd2 is running or not
if [ -f ${c2s_pid} ];then
c2spid=$(cat ${c2s_pid})
echo “Jabberd2 IM Server ~ ‘c2s’ is running (pid ${c2spid})”
elif [ -f ${s2s_pid} ];then
s2spid=$(cat ${s2s_pid})
echo “Jabberd2 IM Server ~ ‘s2s’ is running (pid ${s2spid})”
elif [ -f ${sm_pid} ];then
smpid=$(cat ${sm_pid})
echo “Jabberd2 IM Server ~ ‘sm’ is running (pid ${smpid})”
elif [ -f ${router_pid} ];then
routerpid=$(cat ${router_pid})
echo “Jabberd2 IM Server ~ ‘router’ is running (pid ${routerpid})”
else
echo “Starting the Jabberd2 IM Server…”
su -l jabber -s /bin/bash -c “${BASE_PATH}/bin/jabberd -b”
su -l jabber -s /bin/bash -c “${BASE_PATH}/bin/mu-conference  -B -c ${BASE_PATH}/etc/mu-conference.xml” > /dev/null 2>&1
echo “router $(cat ${router_pid}) | sm $(cat ${sm_pid}) | s2s $(cat ${s2s_pid}) | c2s $(cat ${c2s_pid}) |mu-conf $(cat ${mu_conf_pid})”
echo “…”
echo “Done.”
fi
;;

stop)
echo “Stoping the Jabberd2 IM Server…”
if [ -f ${sm_pid} ];then
kill -9 $(cat ${sm_pid})
fi
if [ -f ${router_pid} ];then
kill -9 $(cat ${router_pid})
fi
if [ -f ${c2s_pid} ];then
kill -9 $(cat ${c2s_pid}) > /dev/null 2>&1
fi
if [ -f ${s2s_pid} ];then
kill -9 $(cat ${s2s_pid}) $(cat ${mu_conf_pid})  > /dev/null 2>&1
fi
##
killall -9  -u jabber
rm -f ${router_pid} ${sm_pid} ${s2s_pid} ${c2s_pid} ${mu_conf_pid}  > /dev/null  2>&1
echo “Done.”
;;

status)
echo “Jabberd2 IM Server status -”
if [ -f ${c2s_pid} ];then
c2spid=$(cat ${c2s_pid})
fi
if [ -f ${s2s_pid} ];then
s2spid=$(cat ${s2s_pid})
fi
if [ -f ${sm_pid} ];then
smpid=$(cat ${sm_pid})
fi
if [ -f ${router_pid} ];then
routerpid=$(cat ${router_pid})
fi
if [ -f ${router_pid} ];then
mupid=$(cat ${mu_conf_pid})
fi
echo “router – ${routerpid} | sm – ${smpid} | s2s – ${s2spid} | c2s – ${c2spid} | mu-conf ${mupid}”
;;
*)
echo “Usage: $0 {start|stop|status}”
exit 1
esac
exit 0
#DONE
root@laptop:~#

Thank you,
Arun Bagul

كيفية تكوين جابر (jabberd2) مع الخلية ، حيث الأصالة والمعاصرة قاعدة المصادقة

كيفية تكوين جابر (jabberd2) مع الخلية ، حيث الأصالة والمعاصرة قاعدة المصادقة

— مقدمة

Jabberd2 هو أساس بروتوكول XMPP اللحظات المراسلة (الدردشة) الخادم. Jabberd2 وهي ذات تدرجية عالية وعالية الأداء هذرم الخادم. الجمال في العمارة Jabberd2 يكمن في حقيقة أن عنصرها العمارة توزع الخدمات عبر ستة عناصر ، كل واحدة منها يتصل عبر برنامج التعاون الفني / الملكية الفكرية.

1) التوجيه — هي العمود الفقري للجابر الخادم. فإنه يقبل الاتصالات من مكونات Jabberd ويمرر الحزم XML بين المكونات
2) خادم لخادم (S2S) — مكون يعالج الاتصالات مع ملقمات الخارجية. S2S يمرر الحزم بين المكونات الأخرى والملقمات الخارجي ، وأنه ينفذ الطلب مرة أخرى إلى مصادقة ملقمات جابر النائية.

3) محلل — الأعمال في دعم العنصر S2S. فإنه يحل أسماء المضيفين لS2S كجزء من التوثيق dialback.
4) مدير الدورة (ن خ) — ينفذ عنصر الرسائل الفورية ميزات مثل تمرير الرسالة ، والوجود ، وسجل الاكتتاب الخ + الديسيبل اتصال
5) عميل لخادم (C2S) — مكون يعالج التواصل مع العملاء مثل جابر الصدد ، لتمرير الحزم ن خ ، توثيق وتسجيل المستخدمين.
6) جابر الأساسية — قطع الأشجار ، وطرف ثالث المساعد الاتصالات.

** تجميع / تثبيت Jabberd – 2.2.9 نحتاج التالية على حزم ديبيان / أوبونتو (مماثلة في ردهات / فيدورا أو نظام التشغيل الأخرى)

— libpam0g libpam0g – ديف (بام الدعم)
— libssl openssl – ديف (تلس / خدمة تصميم المواقع الدعم)
— libudns0 libudns – ديف (نظام أسماء النطاقات محلل مكتبة)
— libidn11 libidn11 – libnet ديف libidn – بيرل (libidn يوفر اللازمة لمعالجة سلسلة وظائف Jabberd2)
— ماي – المشتركة libdbd – – ماي ماي بيرل خادم – 5.1 – ماي العميل – 5.1 – libmysqlclient16 ديف (ماي الديسيبل التوثيق)

** Jabberd2 يدعم خمس المصادقة (عضو) آلية —

* الأصالة والمعاصرة
* قاعدة بيانات الخلية
* بيركلي الديسيبل
* قاعدة بيانات بوستجرس
* SQLite الديسيبل
* OpenLDAP

** المنافذ التالية المستخدمة من قبل jabberd2 —
* الميناء 5222 — عدم اتصال العميل خدمة تصميم المواقع
* الميناء 5223 — خدمة تصميم المواقع اتصال العميل
* الميناء 5269 — الملقم إلى اتصال
* الميناء 5347 — jabberd2 راوتر

الخطوة 1] إنشاء نظام المستخدم ، ومجموعة لJabberd 2 خادم (http://codex.xiaoka.com/wiki/jabberd2:start) —

@ الجذر المحمول : ~ # addgroup – هذرم النظام
واضاف المجموعة `جابر’ (دائرة المخابرات العامة 61)…
فعل.
@ الجذر المحمول : ~ #

@ الجذر المحمول : ~ # adduser نظام المنزل / usr/local/jabberd-2.2.9 / قذيفة / بن / كاذبة دائرة المخابرات العامة 61 هذرم

* تحقق من النظام المستخدم والمجموعة… (خطوات لأوبونتو)

@ الجذر المحمول : ~ # معرف هذرم
رمز المستخدم = 125 (الثرثار) دائرة المخابرات العامة = 61 (الثرثار) مجموعات = 61 (الثرثار)
@ الجذر المحمول : ~ #

الخطوة 2] تحميل أحدث نسخة من Jabberd2 —

* استخراج مصدر ثم ترجمة / تثبيته كما هو مبين أدناه مع الأصالة والمعاصرة / ماي الديسيبل للمصادقة مع خدمة تصميم المواقع

@ الجذر محمول : / فار / كبريت / # مجلد مشترك ، ج http://codex.xiaoka.com/pub/jabberd2/releases/jabberd-2.2.9.tar.bz2

@ الجذر محمول : / فار / سرك # القطران jabberd xvfj – 2.2.9.tar.bz2

@ الجذر محمول : / فار / سرك # jabberd القرص 2.2.9

@ الجذر محمول : / var/src/jabberd-2.2.9 #. / تكوين بادئة = / usr/local/jabberd-2.2.9 / تمكين – التصحيح تمكين – ماي تمكين خدمة تصميم المواقع – تمكين – بام تمكين – خدمة تصميم المواقع

…..
التحقق من وجود نسخة Libidn> = 0.3.0… نعم
التحقق من وجود في dns_init – ludns… نعم
التحقق من قابليتها للاستخدام gsasl.h… نعم
التحقق من وجود gsasl.h… نعم
التحقق من وجود gsasl.h… نعم
التحقق من وجود في gsasl_check_version – lgsasl… نعم
التحقق من وجود نسخة GnuSASL> = 0.2.27… لا
تكوين : خطأ : لا SASL الخلفية المتاحة للخروج من : gsasl
@ الجذر محمول : / var/src/jabberd-2.2.9 #

الخطوة 3] وفي مواجهة مثل هذه المشكلة “تكوين : خطأ : لا SASL الخلفية المتاحة للخروج من : gsasl” ~

لا تقلق تحميل أحدث نسخة من مكتبة gsasl من رابط ~ http://alpha.gnu.org/gnu/gsasl/

* تحميل أحدث نسخة من جنو SASL (gsasl)…

@ الجذر محمول : / فار / كبريت / # مجلد مشترك ، ج http://alpha.gnu.org/gnu/gsasl/gsasl-0.2.29.tar.gz

* استخراج مصدر ثم ترجمة / تثبيته…

@ الجذر محمول : / فار / سرك # القطران xvfz gsasl – 0.2.29.tar.gz
@ الجذر محمول : / فار / سرك # gsasl مؤتمر نزع السلاح – 0.2.29 /
@ الجذر محمول : / var/src/gsasl-0.2.29 #. / تكوين بادئة = / البيرة / المحلية / gsasl /
@ الجذر محمول : / # جعل var/src/gsasl-0.2.29
@ الجذر محمول : / var/src/gsasl-0.2.29 # جعل تركيب
@ الجذر محمول : / var/src/gsasl-0.2.29 #

* تحقق من gsasl “” الإصدار

@ الجذر محمول : / var/src/gsasl-0.2.29 # / البيرة / المحلية / gsasl / بن / gsasl نسخة
gsasl (جنو SASL) 0.2.29
حقوق النشر (ج) 2008 سيمون Josefsson.
الرخصة GPLv3 + : جنو الإصدار 3 أو في وقت لاحق <http://gnu.org/licenses/gpl.html>
هذا البرنامج مجاني : أنت حر لتغيير وإعادة توزيعه.
ليس هناك اي ضمان ، إلى أقصى حد يسمح به القانون.

كتبه سيمون Josefsson.
@ الجذر محمول : / var/src/gsasl-0.2.29 #

الخطوة 4] الرجوع إلى مصدر Jabberd2 والبدء في تجميع / تثبيت كما هو موضح في أدناه —

@ الجذر محمول : / var/src/jabberd-2.2.9 #. / تكوين بادئة = / usr/local/jabberd-2.2.9 / تمكين – التصحيح تمكين – ماي تمكين خدمة تصميم المواقع – تمكين – بام تمكين – خدمة تصميم المواقع ، مع – خارج تشمل مسار = / البيرة / المحلية / gsasl / وتشمل / – مع من خارج مكتبة مسار = / البيرة / المحلية / gsasl / ليب /
@ الجذر محمول : / # جعل var/src/jabberd-2.2.9
@ الجذر محمول : / var/src/jabberd-2.2.9 # جعل تركيب

** إنشاء سجل والدلائل وقت ~

@ الجذر محمول : / usr/local/jabberd-2.2.9 # إنشاء مجلد / usr/local/jabberd-2.2.9/var
@ الجذر محمول : / usr/local/jabberd-2.2.9 # إنشاء مجلد / usr/local/jabberd-2.2.9/var/run

@ الجذر محمول : / usr/local/jabberd-2.2.9 # ليرة سورية ل
المجموع 20
drwxr – xr – × 2 جابر جابر بن 4096 2009-10-11 18:21
drwxr – xr – × 3 جابر جابر 4096 2009-10-11 18:21 الخ
drwxr – xr – × 3 جابر جابر 4096 2009-10-11 18:21 ليب
drwxr – xr – × 3 جابر جابر 4096 2009-10-11 18:21 حصة
drwxr – xr – × 3 جابر جابر 4096 2009-10-11 18:42 فار
@ الجذر محمول : / usr/local/jabberd-2.2.9 #

الخطوة 5] تكوين jabberd – 2.2.9 ~

* الإعداد (jabberid@laptop.ubuntu.me) اسم المجال (اسم المضيف للملقم) ، عنوان بروتوكول الإنترنت ، وميناء وسجل الإعداد في العميل (c2s.xml) والخادم (sm.xml) ملف التكوين —

ملاحظة ~ اسم المجال ليس من الضروري أن يكون اسم المضيف للملقم. لكن يجب أن يكون للحل (نظام أسماء النطاقات) إلى واحدة من الملكية الفكرية من الخادم.

@ الجذر محمول : / usr/local/jabberd-2.2.9 المضيف #
laptop.ubuntu.me
@ الجذر محمول : / usr/local/jabberd-2.2.9 #

@ الجذر محمول : / usr/local/jabberd-2.2.9 # سادسا / usr/local/jabberd-2.2.9/etc/sm.xml

<pidfile>/ usr/local/jabberd-2.2.9/var/run/sm.pid </ pidfile>

<id>laptop.ubuntu.me </ معرف>

<ip>0.0.0.0 </ الملكية الفكرية> <! — الافتراضي : 127.0.0.1 –>
<port>5347 </ الميناء> <! — الافتراضي : 5347 –>

<logtype=’file’>
<file>/ usr/local/jabberd-2.2.9/var/log/sm.log </ ملف>

@ الجذر محمول : / usr/local/jabberd-2.2.9 # سادسا / usr/local/jabberd-2.2.9/etc/c2s.xml

<pidfile>/ usr/local/jabberd-2.2.9/var/run/c2s.pid </ pidfile>

** لتمكين تسجيل السيارات (في ملف c2s.xml ‘سجل تمكين =’ صحيح ‘مطلوب)
<IDregister-enable=’true’> laptop.ubuntu.me </ معرف>

<ip>0.0.0.0 </ الملكية الفكرية>
<port>5222 </ المنفذ>

<logtype=’file’>
<file>/ usr/local/jabberd-2.2.9/var/log/c2s.log </ ملف>

@ الجذر محمول : / usr/local/jabberd-2.2.9 # سادسا / usr/local/jabberd-2.2.9/etc/s2s.xml

<pidfile>/ usr/local/jabberd-2.2.9/var/run/s2s.pid </ pidfile>
<logtype=’file’>
<file>/ usr/local/jabberd-2.2.9/var/log/s2s.log </ ملف>

الخطوة 6] تكوين Jabberd – 2.2.9 لالتخزين والتوثيق 9using ماي الديسيبل) —

* تأكد من أن قاعدة البيانات “Jabberd2” لا وجود له (في حالة وجود أي قطرة ديسيبل أو تغيير اسم الديسيبل ديسيبل في ملف setup.mysql). إن لم يكن تصدير الديسيبل تفريغ الخلية من مصدر Jabberd2…..

@ الجذر محمول : / usr/local/jabberd-2.2.9 # الخلية – الجذر ش ع </ var/src/jabberd-2.2.9/tools/db-setup.mysql
إدخال كلمة السر :
@ الجذر محمول : / usr/local/jabberd-2.2.9 # الخلية بين الجذر ش ع ،
إدخال كلمة السر :
أرحب في رصد ماي. مع نهاية الأوامر ؛ أو \ g.
الخلية الخاصة بك الصدد هو معرف 176
خادم الإصدار : 5.1.31 – 1ubuntu2 (أوبونتو)

نوع ‘مساعدة ؛’ أو ‘\ ح’ للمساعدة. نوع ‘\ ج’ لمسح العازلة.

ك> قواعد البيانات تظهر ؛
+————+
| بيانات |
+————+
| information_schema |
| jabberd2 |
| الخلية |
+————+
3 الصفوف في مجموعة (0.00 ثانية)

ك> استخدام jabberd2 ؛
قراءة الجدول المعلومات لاستكمال أسماء الجدول والعمود
يمكنك إيقاف هذه الميزة للحصول على بدء تشغيل أسرع مع ألف

قاعدة بيانات تغيير
الخلية> تبين الجداول ؛
+——-+
| Tables_in_jabberd2 |
+——-+
| نشطة |
| authreg |
| ديسكو البنود |
| الخروج |
| motd – الرسالة |
| motd مرات |
| الخصوصية التقصير |
| الخصوصية بنود |
| خاص |
| انتظار |
| قائمة الفئات |
| قائمة البنود |
| مركز |
| عطلة الإعدادات |
| بصيغة بطاقة |
+——-+
15 الصفوف في مجموعة (0.00 ثانية)

ك>

* إنشاء الخلية المستخدم لjabberd2 أي ‘jabberd2′ مع إمكانية الوصول إلى الديسيبل “jabberd2” —

ك> حدد غرانت ، إدراج أو حذف أو التحديث على jabberd2.* ل’جابر’ @ ‘مضيف محلي’ التي حددها ‘كمتغيرات’ ؛
الاستعلام موافق ، 0 الصفوف المتأثرة (0.00 ثانية)

ك> استقال
جانبي
@ الجذر محمول : / usr/local/jabberd-2.2.9 #

* الآن التحقق من الوصول إلى الديسيبل ~

@ الجذر محمول : / usr/local/jabberd-2.2.9 # الخلية – jabberd2 – ش ع
إدخال كلمة السر :
أرحب في رصد ماي. مع نهاية الأوامر ؛ أو \ g.
الخلية الخاصة بك الصدد هو معرف 178
خادم الإصدار : 5.1.31 – 1ubuntu2 (أوبونتو)

نوع ‘مساعدة ؛’ أو ‘\ ح’ للمساعدة. نوع ‘\ ج’ لمسح العازلة.

ك> قواعد البيانات تظهر ؛
+——-+
| بيانات |
+——-+
| information_schema |
| jabberd2 |
+——-+
2 الصفوف في مجموعة (0.00 ثانية)

ك> استقال
جانبي
@ الجذر محمول : / usr/local/jabberd-2.2.9 #

الخطوة 7] تغيير ملف c2s.xml وsm.xml التهيئة لدعم الديسيبل ماي —

@ الجذر محمول : / usr/local/jabberd-2.2.9 # سادسا / usr/local/jabberd-2.2.9/etc/c2s.xml

<! — مصادقة / تسجيل بيانات التكوين –>
<authreg>

<! — الخلفية وحدة لاستخدام –>
<module>الخلية </ النمطية>

<! — ماي وحدة التكوين –>
<mysql>
<! — قاعدة بيانات الخادم المضيف والميناء –>
<host>مضيف محلي </ المضيف>
<port>3306 </ المنفذ>

<! — اسم قاعدة البيانات –>
<dbname>jabberd2 </ dbname>
<! — قاعدة بيانات المستخدم وكلمة السر –>
<user>jabberd2 </ المستخدم>
<pass>كمتغيرات </ تمرير>

@ الجذر محمول : / usr/local/jabberd-2.2.9 # سادسا / usr/local/jabberd-2.2.9/etc/sm.xml

<! — تخزين قاعدة بيانات التكوين –>
<storage>
<! — وحدات التخزين الحيوي المسار –>
<path>/ usr/local/jabberd-2.2.9/lib/jabberd </ المسار>

<! — افتراضيا ، ونحن استخدام السائق SQLite لتخزين جميع –>
<driver>الخلية </ سائق>

<! — ماي سائق التكوين –>
<mysql>
<! — قاعدة بيانات الخادم المضيف والميناء –>
<host>مضيف محلي </ المضيف>
<port>3306 </ المنفذ>

<! — اسم قاعدة البيانات –>
<dbname>jabberd2 </ dbname>
<! — قاعدة بيانات المستخدم وكلمة السر –>
<user>jabberd2 </ المستخدم>
<pass>كمتغيرات </ تمرير>

** لتمكين تسجيل السيارات (في ملف sm.xml)

<auto-create/>

————

ملاحظة ~ لا يكفي لإضافة المستخدمين إلى ‘authreg’ الجدول لأن هذا يدخل فقط للمستخدمين عنصر C2S ، ولكن ليس إلى العنصر خ. الإدخالات الصحيحة المطلوبة في ‘الجدول النشط’ كذلك. فمن الأفضل استخدام عميل جابر لتسجيل المستخدمين.

الخطوة 8] دعنا نبدأ Jabberd – 2 الخادم (اختبار التكوين) —

@ الجذر المحمول : ~ # سو جابر ل – ق / بن / سحق – ج “/ usr/local/jabberd-2.2.9/bin/jabberd – ب”
@ الجذر المحمول : ~ #

* التحقق مما اذا كانت المنافذ مفتوحة أم لا

@ الجذر المحمول : ~ # [نتستت – حوسبة اللغة

بروتو تلقي – سؤال – أرسل سؤال العنوان المحلي الخارجية العنوان الدولة معرف المنتج / اسم البرنامج
برنامج التعاون الفني 0 0 0.0.0.0:5347 0.0.0.0 : * الاستماع 31662/router
برنامج التعاون الفني 0 0 0.0.0.0:5222 0.0.0.0 : * الاستماع 13883/c2s
برنامج التعاون الفني 0 0 127.0.0.1:3306 0.0.0.0 : * الاستماع 2892/mysqld
برنامج التعاون الفني 0 0 0.0.0.0:5269 0.0.0.0 : * الاستماع 13886/s2s

…..

@ الجذر المحمول : ~ #

** الآن سجل للمستخدم “jabberd@laptop.ubuntu.me” وكلمة “سرية” باستخدام جابر التراسل الفوري العملاء

@ الجذر محمول : / usr/local/jabberd-2.2.9 # ذيل و var/log/c2s.log

الاثنين اكتوبر 12 00:43:15 2009 [اشعار] [8] تسجيل نجحت ، وطلب إنشاء المستخدم : المعهد الدبلوماسي = jabberd@laptop.ubuntu.me
الاثنين اكتوبر 12 00:43:15 2009 [اشعار] [8] SASL مصادقة نجح : آلية = استيعابها – MD5 ؛ authzid = jabberd@laptop.ubuntu.me
الاثنين اكتوبر 12 00:43:15 2009 [اشعار] [8] الالتزام : المعهد الدبلوماسي = jabberd@laptop.ubuntu.me / التخاطر
الاثنين اكتوبر 12 00:44:20 2009 [اشعار] [9] [192.168.0.1 ، ميناء = 48307] الاتصال

* التحقق من دخول الديسيبل —

ك> اختر * من نشطة ؛
+———+——+—-+
| جمع مالك | الكائن تسلسل | الوقت |
+———+——+—-+
| jabberd@laptop.ubuntu.me | 1 | 1255288395 |
+———+——+—-+
1 على التوالي في مجموعة (0.00 ثانية)

ك> اختر * من authreg ؛
+—-+——+—-+
| اسم المستخدم | عالم | كلمة السر |
+—-+——+—-+
| jabberd | laptop.ubuntu.me | السرية |
+—-+——+—-+
1 على التوالي في مجموعة (0.00 ثانية)

ك>

=> اختبار بنجاح….

الخطوة 9] تكوين Jabberd2 لخدمة تصميم المواقع / تلس اتصالات —

دعونا تكوين jabberd2 لخدمة تصميم المواقع / تلس الصدد. Jabberd2 مصممة لتوفير خدمة تصميم المواقع / تلس الاتصالات ، ليس فقط بين جابر ومركز خدمة العملاء ، ولكن أيضا بين مكونات Jabberd الخادم (ن خ ، s2s وC2S) وموجه Jabberd. ربما واحد خدمة تصميم المواقع الشهادة يمكن أن يستخدم لهاتين المهمتين (جابر العميل لJabberd وJabberd العنصر الموجه ل) ، أو اثنين من مفاتيح منفصلة يمكن استخدامها.

* الذاتي انتج وقع شهادة خدمة تصميم المواقع…

@ الجذر محمول : / usr/local/jabberd-2.2.9 # ةداملا مسا openssl – الجديد x509 – آر إس إيه newkey : 1024 – 365 يوما ، privkey.pem keyout التدريجي server.pem
توليد مفتاح 1024 بت آر إس إيه الخاص
.++++++
…..++++++
كتابة جديدة المفتاح الخاص ل’privkey.pem’
دخول بيم تمرير جملة :
….
الاسم الشائع (مثل اسمك) [] : laptop.ubuntu.me
@ الجذر محمول : / usr/local/jabberd-2.2.9 #

* إزالة عبارة المرور من المفتاح الخاص

@ الجذر محمول : / usr/local/jabberd-2.2.9 # آر إس إيه openssl – في privkey.pem التدريجي privkey.pem

** الجمع بين الخاص والعام أهم وحذف المفتاح الخاص

@ الجذر محمول : / usr/local/jabberd-2.2.9 # القط privkey.pem> server.pem

@ الجذر محمول : / usr/local/jabberd-2.2.9 # جمهورية مقدونيا privkey.pem

* إذن التغيير…

@ الجذر محمول : / usr/local/jabberd-2.2.9 # chown جابر : جابر / usr/local/jabberd-2.2.9/server.pem
@ الجذر محمول : / usr/local/jabberd-2.2.9 # ليرة سورية ل / usr/local/jabberd-2.2.9
المجموع 24
drwxr – xr – × 2 جابر جابر بن 4096 2009-10-11 22:17
drwxr – xr – × 3 جابر جابر 4096 2009-10-12 01:03 الخ
drwxr – xr – × 3 جابر جابر 4096 2009-10-11 20:16 ليب
ص ف ، رويترز ، ص ص – 1 – جابر جابر 2217 2009-10-12 01:17 server.pem
drwxr – xr – × 3 جابر جابر 4096 2009-10-11 20:16 حصة
drwxr – xr – × 4 جابر جابر 4096 2009-10-12 00:20 فار
@ الجذر محمول : / usr/local/jabberd-2.2.9 #

@ الجذر محمول : / usr/local/jabberd-2.2.9 # سادسا / usr/local/jabberd-2.2.9/etc/c2s.xml
<ssl-port>5223 </ خدمة تصميم المواقع ميناء>
<pemfile>/ usr/local/jabberd-2.2.9/server.pem </ pemfile>

@ الجذر محمول : / usr/local/jabberd-2.2.9 # سادسا / usr/local/jabberd-2.2.9/etc/s2s.xml

<pemfile>/ usr/local/jabberd-2.2.9/server.pem </ pemfile>

@ الجذر محمول : / usr/local/jabberd-2.2.9 # سادسا / usr/local/jabberd-2.2.9/etc/sm.xml

<pemfile>/ usr/local/jabberd-2.2.9/server.pem </ pemfile>

<pemfile>/ usr/local/jabberd-2.2.9/server.pem </ pemfile>

** الآن إعادة تشغيل الملقم وسجل الاختيار…

@ الجذر محمول : / usr/local/jabberd-2.2.9 # ذيل و var/log/c2s.log

الاثنين اكتوبر 12 01:28:57 2009 [اشعار] اتصال جهاز توجيه المنشأة
الاثنين اكتوبر 12 01:28:57 2009 [اشعار] [0.0.0.0 ، المنفذ = 5222] يصغي للاتصالات
الاثنين اكتوبر 12 01:28:57 2009 [اشعار] [0.0.0.0 ، المنفذ = 5223] يصغي للاتصالات خدمة تصميم المواقع

* ورغم تسجيل مستخدم ~

1) مطلوب خدمة تصميم المواقع / تلس
2) قوة خدمة تصميم المواقع القديمة (5223 منفذ)

يرجى تمكين أعلاه اثنين من الإعداد وازل “السماح للتيارات مصادقة مشفرة unecrypted”

ملاحظة ~ بينما الدخول مرة الأولى (تسجيل السيارات واسطة) لفحص للتأكد “إنشاء هذا الحساب الجديد على الخادم” مربع في لغة مبسطة (أسفل)

** وهو يعمل!

الخطوة 10] init.d النصي لبدء التشغيل وJabberd2 مو المؤتمر —

@ الجذر المحمول : ~ # / اضافة etc/init.d/jabberd2
بدء Jabberd2 الدردشة خادم…
راوتر 11095 | ن خ 11099 | s2s 11102 | C2S 11106 | مو أسيوط 11149

فعل.
@ الجذر المحمول : ~ # / مركز etc/init.d/jabberd2
Jabberd2 الدردشة خادم مركز —
موجه — 11095 | خ — 11099 | s2s — 11102 | C2S — 11106 | مو أسيوط 11149
@ الجذر المحمول : ~ #

* الآن التحقق من وضع الشبكة…

@ الجذر المحمول : ~ # [نتستت – حوسبة اللغة

بروتو تلقي – سؤال – أرسل سؤال العنوان المحلي الخارجية العنوان الدولة معرف المنتج / اسم البرنامج
برنامج التعاون الفني 0 0 0.0.0.0:5347 0.0.0.0 : * الاستماع 11095/router
برنامج التعاون الفني 0 0 0.0.0.0:5222 0.0.0.0 : * الاستماع 11106/c2s
برنامج التعاون الفني 0 0 0.0.0.0:5223 0.0.0.0 : * الاستماع 11106/c2s
برنامج التعاون الفني 0 0 127.0.0.1:3306 0.0.0.0 : * الاستماع 2899/mysqld
برنامج التعاون الفني 0 0 0.0.0.0:5269 0.0.0.0 : * الاستماع 11102/s2s

@ الجذر المحمول : ~ # / etc/init.d/jabberd2 وقف
Stoping في Jabberd2 الدردشة خادم…
فعل.
@ الجذر المحمول : ~ #

** نريد ان نرى النصي ~

@ الجذر المحمول : ~ # القط / etc/init.d/jabberd2
#! / بن / سحق

# # خادم Jabberd2 الدردشة
# # جابر المستخدم / المجموعة — جابر / هذرم
# # الأمر إلى srart ~ سو ل هذرم – ق / بن / سحق – ج “$ (base_path) / بن / jabberd – ب”
# #
# C2S
base_path = “/ usr/local/jabberd-2.2.9”
c2s_pid = “$ (base_path) / var/run/c2s.pid”
# s2s
s2s_pid = “$ (base_path) / var/run/s2s.pid”
# ن خ
sm_pid = “$ (base_path) / فار / تشغيل / sm.pid”
# راوتر
router_pid = “$ (base_path) / فار / تشغيل / router.pid”
# مو المؤتمر
mu_conf_pid = “$ (base_path) / فار / تشغيل / مو conference.pid”

قضية “$ 1” في

بدء)
# # Jabberd2 التحقق مما إذا كان هو الذي يشغل أو لا
إذا [بين دولار و (c2s_pid)] ؛ ثم
c2spid = $ (القط دولار c2s_pid ())
صدى “Jabberd2 الدردشة خادم ~’ C2S ‘يشغل (معرف c2spid $ ())”
اليف [بين دولار و (s2s_pid)] ؛ ثم
s2spid = $ (القط دولار s2s_pid ())
صدى “Jabberd2 الدردشة خادم ~’ s2s ‘يشغل (معرف s2spid $ ())”
اليف [بين دولار و (sm_pid)] ؛ ثم
smpid = $ (القط دولار sm_pid ())
صدى “Jabberd2 الدردشة خادم ~’ خ ‘يشغل (معرف smpid $ ())”
اليف [بين دولار و (router_pid)] ؛ ثم
routerpid = $ (القط دولار router_pid ())
صدى “Jabberd2 الدردشة خادم ~’ التوجيه ‘يشغل (معرف routerpid $ ())”
أيضا
صدى “بدء Jabberd2 الدردشة خادم…”
سو جابر ل – ق / بن / سحق – ج “$ (base_path) / بن / jabberd – ب”
سو جابر ل – ق / بن / سحق – ج “$ (base_path) / بن / مو المؤتمرات ب ج $ (base_path) / الخ / مو conference.xml”> / ديف / لاغية 2> & 1
صدى “راوتر $ (القط دولار router_pid) () | خ $ (القط دولار sm_pid) () | s2s $ (القط دولار s2s_pid) () | C2S $ (القط دولار c2s_pid) () | مو أسيوط $ (القط $ ( mu_conf_pid)) ”
صدى “…”
صدى “حررت”.
فاي
؛ ؛

وقف)
صدى “Stoping في Jabberd2 الدردشة خادم…”
إذا [بين دولار و (sm_pid)] ؛ ثم
قتل -9 $ (القط دولار sm_pid ())
فاي
إذا [بين دولار و (router_pid)] ؛ ثم
قتل -9 $ (القط دولار router_pid ())
فاي
إذا [بين دولار و (c2s_pid)] ؛ ثم
قتل -9 $ (القط $ (c2s_pid))> / ديف / لاغية 2> & 1
فاي
إذا [بين دولار و (s2s_pid)] ؛ ثم
قتل -9 $ (القط $ (s2s_pid)) $ (القط $ (mu_conf_pid))> / ديف / لاغية 2> & 1
فاي
# #
killall -9 – ش جابر
جمهورية مقدونيا بين دولار و (router_pid) $ (sm_pid) $ (s2s_pid $ (c2s_pid))) $ (mu_conf_pid> / ديف / لاغية 2> & 1
صدى “حررت”.
؛ ؛

حالة)
صدى “Jabberd2 الدردشة خادم حالة –”
إذا [بين دولار و (c2s_pid)] ؛ ثم
c2spid = $ (القط دولار c2s_pid ())
فاي
إذا [بين دولار و (s2s_pid)] ؛ ثم
s2spid = $ (القط دولار s2s_pid ())
فاي
إذا [بين دولار و (sm_pid)] ؛ ثم
smpid = $ (القط دولار sm_pid ())
فاي
إذا [بين دولار و (router_pid)] ؛ ثم
routerpid = $ (القط دولار router_pid ())
فاي
إذا [بين دولار و (router_pid)] ؛ ثم
mupid = $ (القط دولار mu_conf_pid ())
فاي
صدى “موجه — $ (routerpid) | ن خ — $ () smpid | s2s — $ () s2spid | C2S — $ () c2spid | مو أسيوط mupid $ ()”
؛ ؛
*)
صدى “الاستخدام : $ 0 (بدء | وقف | مركز)”
خروج 1
esac
خروج 0
# حررت
@ الجذر المحمول : ~ #

شكرا لك ،
ارونا Bagul

Come configurare Jabber (jabberd2) con MySQL, PAM come database auth

Come configurare Jabber (jabberd2) con MySQL, PAM come database auth

Introduzione —

Jabberd2 è il protocollo XMPP basato Instants Messaging (IM) server. Jabberd2 è altamente scalabile e ad alte prestazioni server Jabber. La bellezza dell’architettura Jabberd2 risiede nel fatto che la sua architettura dei componenti distribuisce servizi attraverso le sei componenti, ognuno dei quali comunica tramite TCP / IP.

1) Router – è la spina dorsale del server Jabber. Si accetta le connessioni da componenti jabberd e passa i pacchetti XML tra i componenti
2) Server to Server (S2S) – componente gestisce la comunicazione con i server esterni. S2S passa i pacchetti tra gli altri componenti e server esterni, ed esegue dial-back per l’autenticazione remota server Jabber.

3) Resolver – atti a sostegno della componente S2S. Risolve i nomi host per S2S come parte di autenticazione dialback.
4) Session Manager (SM) – componente implementa le funzioni di messaggistica istantanea come passare il messaggio, la presenza, registro ed ecc + abbonamento di connessione DB
5) Client Server (C2S) – componente gestisce la comunicazione con i client Jabber come il collegamento, passando per i pacchetti di SM, l’autenticazione e la registrazione degli utenti.
6) core Jabber – la registrazione e la comunicazione plugin di terze parti.

** Per compilare / installare jabberd-2.2.9 abbiamo bisogno seguenti pacchetti su Debian / Ubuntu (simile su RedHat / Fedora o altri sistemi operativi)

– Libpam0g libpam0g-dev (supporto PAM)
– Libssl openssl-dev (supporto TLS / SSL)
– Libudns0 libudns-dev (DNS Resolver Library)
– Libidn11 libidn11 libnet-dev-libidn-perl (libidn fornisce funzionalità necessarie alla manipolazione di stringhe per Jabberd2)
– Mysql-common libdbd-mysql-perl mysql-server-5.1 mysql-client-5.1-dev libmysqlclient16 (DB MySQL l’autenticazione)

** Jabberd2 supporta cinque di autenticazione (user) meccanismo —

* PAM
* Database MySQL
* Berkeley DB
* Database PostgreSQL
* SQLite DB
* OpenLDAP

** Seguenti porte sono utilizzate da jabberd2 —
* Porta 5222 – senza la connessione del client SSL
* Porta 5223 – connessione del client SSL
* Porta 5269 – server a server di connessione
* Port 5347 – jabberd2 router

Step 1] Creazione del sistema di utenti e gruppi per jabberd 2 Server (http://codex.xiaoka.com/wiki/jabberd2:start) —

root @ laptop: ~ # addgroup-jabber sistema
L’aggiunta di gruppo »Jabber ‘(GID 61) …
Fatto.
root @ laptop: ~ #

root @ laptop: ~ # adduser-system-home / usr/local/jabberd-2.2.9 /-bin / shell / false-gid 61 Jabber

* Verifica del sistema di utenti e gruppi … (passi per Ubuntu)

root @ laptop: ~ # ID Jabber
uid = 125 (Jabber) gid = 61 (Jabber) groups = 61 (Jabber)
root @ laptop: ~ #

Step 2] Scarica l’ultima versione di Jabberd2 —

* Estrarre la fonte allora compilazione / installazione come illustrato di seguito con PAM / MYSQL DB per l’autenticazione con SSL

root @ laptop: / var / src / # wget-c http://codex.xiaoka.com/pub/jabberd2/releases/jabberd-2.2.9.tar.bz2

root @ laptop: / var / src # tar jabberd xvfj-2.2.9.tar.bz2

root @ laptop: / var / src # jabberd cd-2.2.9

root @ laptop: / var/src/jabberd-2.2.9 #. / configure-prefix = / usr/local/jabberd-2.2.9 /-enable-debug-enable-mysql-enable-ssl-enable-pam-abilitare -ssl

… ..
il controllo della versione libidn> = 0.3.0 … yes
checking for dns_init in-ludns … sì
controllo usabilità gsasl.h … sì
verificare la presenza gsasl.h … sì
checking for gsasl.h … sì
checking for gsasl_check_version in-lgsasl … sì
il controllo della versione GnuSASL> = 0.2.27 … no
configure: error: no SASL backend disponibile su: gsasl
root @ laptop: / var/src/jabberd-2.2.9 #

Step 3] problema che si pone come “configure: error: no SASL backend disponibile su: gsasl” ~

Non ti preoccupare scaricare l’ultima versione della libreria gsasl dall’URL ~ http://alpha.gnu.org/gnu/gsasl/

* Scarica l’ultima versione di GNU SASL (gsasl) …

root @ laptop: / var / src / wget-c # http://alpha.gnu.org/gnu/gsasl/gsasl-0.2.29.tar.gz

* Estrarre la fonte quindi compilarlo / installarlo …

root @ laptop: / var / src # tar xvfz gsasl-0.2.29.tar.gz
root @ laptop: / var / src # gsasl cd-0.2.29 /
root @ laptop: / var/src/gsasl-0.2.29 #. / configure-prefix = / usr / local / gsasl /
root @ laptop: / var/src/gsasl-0.2.29 # make
root @ laptop: / var/src/gsasl-0.2.29 # make install
root @ laptop: / var/src/gsasl-0.2.29 #

* Verificare la gsasl “versione”

root @ laptop: / var/src/gsasl-0.2.29 # / usr / local / gsasl / bin / gsasl versione
gsasl (GNU SASL) 0.2.29
Copyright (C) 2008 Simon Josefsson.
Licenza GPLv3 +: GNU GPL versione 3 o versione successiva <http://gnu.org/licenses/gpl.html>
Questo software è libero: si è liberi di cambiare e ridistribuirlo.
Non c’è NESSUNA GARANZIA, nei limiti consentiti dalla legge.

Scritto da Simon Josefsson.
root @ laptop: / var/src/gsasl-0.2.29 #

Fase 4] Torna alla sorgente Jabberd2 e iniziare a compilare / installare, come mostrato in seguito —

root @ laptop: / var/src/jabberd-2.2.9 #. / configure-prefix = / usr/local/jabberd-2.2.9 /-enable-debug-enable-mysql-enable-ssl-enable-pam-abilitare -ssl-with-extra-include-path = / usr / local / gsasl / include /-con-extra-libreria-path = / usr / local / gsasl / lib /
root @ laptop: / var/src/jabberd-2.2.9 # make
root @ laptop: / var/src/jabberd-2.2.9 # make install

** Create log e directory runtime ~

root @ laptop: / usr/local/jabberd-2.2.9 # mkdir / usr/local/jabberd-2.2.9/var
root @ laptop: / usr/local/jabberd-2.2.9 # mkdir / usr/local/jabberd-2.2.9/var/run

root @ laptop: / usr/local/jabberd-2.2.9 # ls-l
totale 20
drwxr-xr-x 2 Jabber Jabber 4096 2009-10-11 18:21 bin
drwxr-xr-x 3 Jabber Jabber 4096 2009-10-11 18:21 etc
drwxr-xr-x 3 Jabber Jabber 4096 2009-10-11 18:21 lib
drwxr-xr-x 3 Jabber Jabber 4096 2009-10-11 18:21 parti
drwxr-xr-x 3 Jabber Jabber 4096 2009-10-11 18:42 var
root @ laptop: / usr/local/jabberd-2.2.9 #

Fase 5] jabberd Configure-2.2.9 ~

* Setup (jabberid@laptop.ubuntu.me) Domain Name (hostname del server), l’indirizzo IP, porta e accedere impostazione nel client (c2s.xml) e server (sm.xml) file di configurazione —

NOTA ~ Domain Name non è necessario essere hostname del server. Ma dovrebbe essere risolvibile (DNS) per uno degli IP del server.

root @ laptop: / usr/local/jabberd-2.2.9 # hostname
laptop.ubuntu.me
root @ laptop: / usr/local/jabberd-2.2.9 #

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/sm.xml

<pidfile> / usr/local/jabberd-2.2.9/var/run/sm.pid </ pidfile>

<id> laptop.ubuntu.me </ id>

<IP> 0.0.0.0 </ ip> <! – default: 127.0.0.1 ->
<port> 5347 </ port> <! – default: 5347 ->

<log type=’file’>
<file> / usr/local/jabberd-2.2.9/var/log/sm.log </ file>

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/c2s.xml

<pidfile> / usr/local/jabberd-2.2.9/var/run/c2s.pid </ pidfile>

** Per attivare automaticamente la registrazione (nel file c2s.xml ‘register-enable =’ true ‘è necessaria)
<id register-enable=’true’> laptop.ubuntu.me </ id>

<IP> 0.0.0.0 </ ip>
<port> 5222 </ port>

<log type=’file’>
<file> / usr/local/jabberd-2.2.9/var/log/c2s.log </ file>

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/s2s.xml

<pidfile> / usr/local/jabberd-2.2.9/var/run/s2s.pid </ pidfile>
<log type=’file’>
<file> / usr/local/jabberd-2.2.9/var/log/s2s.log </ file>

Passo 6] Configurare jabberd-2.2.9 per lo stoccaggio e l’autenticazione 9using MySQL DB) —

* Verificare che Jabberd2 “banca dati” non esiste (se esiste né db goccia o il nome del DB cambiamento di db-file setup.mysql). Se non l’esportazione DB MySQL dump da fonte Jabberd2 … ..

root @ laptop: / usr/local/jabberd-2.2.9 # mysql-u root-p </ var/src/jabberd-2.2.9/tools/db-setup.mysql
Parola chiave:
root @ laptop: / usr/local/jabberd-2.2.9 # mysql-u root-p
Parola chiave:
Welcome to the MySQL monitor. Commands end with; o \ g.
Il tuo ID di connessione MySQL è di 176
Server versione: 5.1.31-1ubuntu2 (Ubuntu)

Help Tipo ‘,’ or ‘\ h’ for help. Type ‘\ c’ to clear the buffer.

mysql> show databases;
+————+
| Database |
+————+
| Information_schema |
| Jabberd2 |
| Mysql |
+————+
3 rows in set (0.00 sec)

mysql> use jabberd2;
La lettura delle informazioni da tavola per il completamento di tabella e colonna nomi
È possibile disattivare questa funzione per ottenere un avvio più rapido con-A

Database changed
mysql> show tables;
+——-+
| Tables_in_jabberd2 |
+——-+
| Attiva |
| Authreg |
| Disco-items |
| Logout |
| Motd messaggio |
| Motd volte |
| Privacy-default |
| Privacy-items |
| Privato |
| Coda |
| Roster gruppi |
| Roster-items |
| Status |
| Vacanze-impostazioni |
| Vcard |
+——-+
15 rows in set (0.00 sec)

mysql>

* Creazione di utente mysql per jabberd2 vale a dire ‘jabberd2’ con accesso al DB “jabberd2” —

mysql> GRANT SELECT, INSERT, DELETE, UPDATE ON jabberd2 .* a ‘jabber’ @ ‘localhost’ identified by ‘mypassword’;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Ciao
root @ laptop: / usr/local/jabberd-2.2.9 #

* Verificare ora l’accesso al DB ~

root @ laptop: / usr/local/jabberd-2.2.9 # mysql-u jabberd2-p
Parola chiave:
Welcome to the MySQL monitor. Commands end with; o \ g.
Il tuo ID di connessione MySQL è 178
Server versione: 5.1.31-1ubuntu2 (Ubuntu)

Help Tipo ‘,’ or ‘\ h’ for help. Type ‘\ c’ to clear the buffer.

mysql> show databases;
+——-+
| Database |
+——-+
| Information_schema |
| Jabberd2 |
+——-+
2 rows in set (0.00 sec)

mysql> quit
Ciao
root @ laptop: / usr/local/jabberd-2.2.9 #

Passo 7] Cambia c2s.xml e sm.xml file di configurazione per il supporto MySQL DB —

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/c2s.xml

<! – Autenticazione / configurazione del database di registrazione ->
<authreg>

<! – Modulo back-end per l’uso ->
<module> mysql </ module>

<! – MySQL configurazione del modulo ->
<mysql>
<! – Host server di database e la porta ->
<host> localhost </ host>
<port> 3306 </ port>

<! – Il nome del database ->
<dbname> jabberd2 </ dbname>
<! – Database username e password ->
<user> jabberd2 </ user>
<pass> mypassword </ pass>

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/sm.xml

<! – Configurazione del database di archiviazione ->
<storage>
<! – Percorso di archiviazione Dynamic ->
<path> / usr/local/jabberd-2.2.9/lib/jabberd </ path>

<! – Per impostazione predefinita, si utilizza il driver di SQLite per tutti stoccaggio ->
<driver> mysql </ driver>

<! – Configurazione del driver MySQL ->
<mysql>
<! – Host server di database e la porta ->
<host> localhost </ host>
<port> 3306 </ port>

<! – Il nome del database ->
<dbname> jabberd2 </ dbname>
<! – Database username e password ->
<user> jabberd2 </ user>
<pass> mypassword </ pass>

** Per attivare automaticamente la registrazione (nel file sm.xml)

<auto-create/>

————

NOTA ~ Non è sufficiente per aggiungere utenti alla tabella ‘authreg’ perché introduce solo gli utenti alla componente C2S, ma non alla componente sm. Voci corrette sono tenuti nella ‘tabella attiva’ pure. E ‘meglio utilizzare un client Jabber per la registrazione degli utenti.

Start Passo 8] Let’s jabberd-2 server (configurazione di prova) —

root @ laptop: ~ # su Jabber-l-s / bin / bash-c “/ usr/local/jabberd-2.2.9/bin/jabberd-b”
root @ laptop: ~ #

* Verificare se le porte sono aperte o non

root @ laptop: ~ # netstat-nlp

Recv proto-Q Send-Q Local Address Foreign Address Stato PID / Program name
tcp 0 0 0.0.0.0:5347 0.0.0.0: * LISTEN 31662/router
tcp 0 0 0.0.0.0:5222 0.0.0.0: * LISTEN 13883/c2s
tcp 0 0 127.0.0.1:3306 0.0.0.0: * LISTEN 2892/mysqld
tcp 0 0 0.0.0.0:5269 0.0.0.0: * LISTEN 13886/s2s

… ..

root @ laptop: ~ #

** Ora registrare l’utente “jabberd@laptop.ubuntu.me” e password “segreta” con Jabber client di messaggistica istantanea

root @ laptop: / usr/local/jabberd-2.2.9 # tail-f var/log/c2s.log

Mon Oct 12 00:43:15 2009 [bando] [8] registrazione riuscito, chiedendo la creazione di utenti: jid = jabberd@laptop.ubuntu.me
Mon Oct 12 00:43:15 2009 [bando] [8] autenticazione SASL riuscito: = meccanismo DIGEST-MD5; authzid = jabberd@laptop.ubuntu.me
Mon Oct 12 00:43:15 2009 [bando] [8] vincolati: JID = jabberd@laptop.ubuntu.me / Telepathy
Mon Oct 12 00:44:20 2009 [bando] [9] [192.168.0.1, port = 48307] Connect

* Controllo di entrata DB —

mysql> SELECT * FROM attivi;
+———+——+—-+
| Raccolta-proprietario | object-sequenza | tempo |
+———+——+—-+
| Jabberd@laptop.ubuntu.me | 1 | 1255288395 |
+———+——+—-+
1 row in set (0.00 sec)

mysql> SELECT * FROM authreg;
+—-+——+—-+
| Username | password | regno |
+—-+——+—-+
| Jabberd | segreto | laptop.ubuntu.me |
+—-+——+—-+
1 row in set (0.00 sec)

mysql>

=> Test completato con successo ….

Passo 9] Jabberd2 Configurazione di SSL / TLS Connections —

Configurare Let’s jabberd2 per SSL / TLS connessione. Jabberd2 è progettato per fornire per SSL / TLS le connessioni non solo tra i client Jabber e il server, ma anche tra i componenti del server jabberd (sm, S2S e C2S) e il router jabberd. Un certificato SSL unico può essere utilizzato per queste due funzioni (client Jabber per jabberd e componente jabberd al router), o due chiavi separate possono essere utilizzati.

* Self Genera firmato certificato SSL …

root @ laptop: / usr/local/jabberd-2.2.9 # openssl req-new-x509-RSA newkey: 1024-days 365-privkey.pem keyout-out server.pem
Generazione di una chiave a 1024 bit RSA private
.++++++
… ..++++++
nuova scrittura chiave privata per ‘privkey.pem’
Enter PEM pass phrase:
….
Nome comune (ad esempio, YOUR name) []: laptop.ubuntu.me
root @ laptop: / usr/local/jabberd-2.2.9 #

* Rimuovere Passphrase dalla chiave privata

root @ laptop: / usr/local/jabberd-2.2.9 # openssl rsa-in privkey.pem-out privkey.pem

** Combina la privata e una pubblica ed eliminare la chiave privata

root @ laptop: / usr/local/jabberd-2.2.9 # privkey.pem cat>> server.pem

root @ laptop: / usr/local/jabberd-2.2.9 privkey.pem # rm

* Cambia il permesso …

root @ laptop: / usr/local/jabberd-2.2.9 # chown Jabber: Jabber / usr/local/jabberd-2.2.9/server.pem
root @ laptop: / usr/local/jabberd-2.2.9 # ls-l / usr/local/jabberd-2.2.9
Totale 24
drwxr-xr-x 2 Jabber Jabber 4096 2009-10-11 22:17 bin
drwxr-xr-x 3 Jabber Jabber 4096 2009-10-12 01:03 etc
drwxr-xr-x 3 Jabber Jabber 4096 2009-10-11 20:16 lib
-rw-r-r-1 Jabber Jabber 2217 2009/10/12 01:17 server.pem
drwxr-xr-x 3 Jabber Jabber 4096 2009-10-11 20:16 parti
drwxr-xr-x 4 Jabber Jabber 4096 2009-10-12 00:20 var
root @ laptop: / usr/local/jabberd-2.2.9 #

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/c2s.xml
<ssl-port> 5223 </ port ssl->
<pemfile> / <usr/local/jabberd-2.2.9/server.pem / pemfile>

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/s2s.xml

<pemfile> / <usr/local/jabberd-2.2.9/server.pem / pemfile>

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/sm.xml

<pemfile> / <usr/local/jabberd-2.2.9/server.pem / pemfile>

<pemfile> / <usr/local/jabberd-2.2.9/server.pem / pemfile>

** Ora riavviare il server e il registro di controllo …

root @ laptop: / usr/local/jabberd-2.2.9 # tail-f var/log/c2s.log

Mon Oct 12 01:28:57 2009 [bando] connessione al router stabilito
Mon Oct 12 01:28:57 2009 [bando] [0.0.0.0, port = 5.222] di ascolto per le connessioni
Mon Oct 12 01:28:57 2009 [bando] [0.0.0.0, port = 5.223] di ascolto per le connessioni SSL

* Mentre la registrazione dell’utente ~

1) Richiesto SSL / TLS
2) Forza antica SSL (5223 port)

Si prega di attivare queste due impostazioni e deselezionare “Allow plaintext auth flussi unecrypted”

NOTA ~ Mentre il login prima volta (in modalità di registrazione automatica) Assicurarsi di controllo “Crea nuovo account sul server” checkbox in Pidgin (in basso)

** It works!

Step 10] script di avvio init.d per Jabberd2 e Mu-Conferenza —

root @ laptop: ~ # / etc/init.d/jabberd2 start
Avvio del Jabberd2 IM Server …
router 11.095 | mq 11.099 | S2S 11.102 | C2S 11.106 | mu-conf 11.149

Fatto.
root @ laptop: ~ # / etc/init.d/jabberd2 status
Jabberd2 IM Server Status —
Router – 11.095 | mq – 11.099 | S2S – 11.102 | C2S – 11.106 | mu-conf 11.149
root @ laptop: ~ #

* Ora controllare l’impostazione di rete …

root @ laptop: ~ # netstat-nlp

Recv proto-Q Send-Q Local Address Foreign Address Stato PID / Program name
tcp 0 0 0.0.0.0:5347 0.0.0.0: * LISTEN 11095/router
tcp 0 0 0.0.0.0:5222 0.0.0.0: * LISTEN 11106/c2s
tcp 0 0 0.0.0.0:5223 0.0.0.0: * LISTEN 11106/c2s
tcp 0 0 127.0.0.1:3306 0.0.0.0: * LISTEN 2899/mysqld
tcp 0 0 0.0.0.0:5269 0.0.0.0: * LISTEN 11102/s2s

root @ laptop: ~ # / etc/init.d/jabberd2 stop
Fermare i Jabberd2 IM Server …
Fatto.
root @ laptop: ~ #

** Vuoi vedere lo script ~

root @ laptop: ~ # cat / etc/init.d/jabberd2
#! / bin / bash

# # Jabberd2 IM Server
# # Jabber User / Group – Jabber / Jabber
# # Comando per srart ~ Jabber su-l-s / bin / bash-c “$ (BASE_PATH) / bin / jabberd-b”
# #
# C2S
BASE_PATH = “/ usr/local/jabberd-2.2.9”
c2s_pid = “$ () BASE_PATH / var/run/c2s.pid”
# S2S
s2s_pid = “$ () BASE_PATH / var/run/s2s.pid”
# sm
sm_pid = “$ (BASE_PATH) / var / run / sm.pid”
# router
router_pid = “$ (BASE_PATH) / var / run / router.pid”
# Mu-conferenza
mu_conf_pid = “$ (BASE_PATH) / var / run / mu-conference.pid”

case “$ 1” in

start)
# # Controllo se Jabberd2 è in esecuzione o meno
if [-f $ () c2s_pid], poi
c2spid = $ (cat $ () c2s_pid)
echo “Jabberd2 IM Server ~ ‘C2S’ è in esecuzione (pid $ () c2spid)”
elif [-f $ () s2s_pid], poi
s2spid = $ (cat $ () s2s_pid)
echo “Jabberd2 IM Server ~ ‘S2S’ è in esecuzione (pid $ () s2spid)”
elif [-f $ () sm_pid], poi
smpid = $ (cat $ () sm_pid)
echo “Jabberd2 IM Server ~ ‘sm’ è in esecuzione (pid $ () smpid)”
elif [-f $ () router_pid], poi
routerpid = $ (cat $ () router_pid)
echo “Jabberd2 IM Server ~ ‘router’ è in esecuzione (pid $ () routerpid)”
altro
echo “Avvio del Jabberd2 IM Server …”
jabber su-l-s / bin / bash-c “$ (BASE_PATH) / bin / jabberd-b”
jabber su-l-s / bin / bash-c “$ (BASE_PATH) / bin / mu-conference-B-c $ (BASE_PATH) / etc / mu-conference.xml”> / dev / null 2> & 1
echo “router $ (cat $ () router_pid) | sm $ (cat $ () sm_pid) | S2S $ (cat $ () s2s_pid) | C2S $ (cat $ () c2s_pid) | mu-conf $ (cat $ ( mu_conf_pid)) ”
echo “…”
echo “Fatto”.
FI
;;

stop)
echo “fermare i Jabberd2 IM Server …”
if [-f $ () sm_pid], poi
kill -9 $ (cat $ () sm_pid)
FI
if [-f $ () router_pid], poi
kill -9 $ (cat $ () router_pid)
FI
if [-f $ () c2s_pid], poi
kill -9 $ (cat $ () c2s_pid)> / dev / null 2> & 1
FI
if [-f $ () s2s_pid], poi
kill -9 $ (cat $ (s2s_pid)) $ (cat $ () mu_conf_pid)> / dev / null 2> & 1
FI
# #
killall -9-u Jabber
rm-f $ (router_pid) $ (sm_pid) $ (s2s_pid) $ (c2s_pid) $ (mu_conf_pid)> / dev / null 2> & 1
echo “Fatto”.
;;

status)
echo “Jabberd2 IM status Server -”
if [-f $ () c2s_pid], poi
c2spid = $ (cat $ () c2s_pid)
FI
if [-f $ () s2s_pid], poi
s2spid = $ (cat $ () s2s_pid)
FI
if [-f $ () sm_pid], poi
smpid = $ (cat $ () sm_pid)
FI
if [-f $ () router_pid], poi
routerpid = $ (cat $ () router_pid)
FI
if [-f $ () router_pid], poi
mupid = $ (cat $ () mu_conf_pid)
FI
echo “router – $ () routerpid | sm – $ () smpid | S2S – $ () s2spid | C2S – c2spid $ () | mu-conf mupid $ ()”
;;
*)
echo “Utilizzo: $ 0 (start | stop | status)”
exit 1
esac
exit 0
# FATTO
root @ laptop: ~ #

Grazie,
Arun Bagul

Wie konfiguriert man Jabber (jabberd2) mit MySQL-Datenbank als PAM auth

Wie konfiguriert man Jabber (jabberd2) mit MySQL-Datenbank als PAM auth

Einführung —

XMPP-Protokoll basiert jabberd2 Instants Messaging (IM)-Server. Jabberd2 ist hoch skalierbar, leistungsstarken Serverlösungen jabber. Die Schönheit der jabberd2 Architektur liegt in der Tatsache, dass die Komponenten-Architektur verteilt in sechs Komponenten, von denen jeder kommuniziert über TCP / IP.

1) Router – ist das Rückgrat der Jabber-Server. Es nimmt die Verbindungen von jabberd Komponenten und übergibt XML-Pakete zwischen den Komponenten
2) Server to Server (S2S) – Komponente wickelt die Kommunikation mit den externen Servern. S2S geht Pakete zwischen anderen Komponenten und externen Servern, und er führt Dial-Back auf Remote-Jabber-Server zu authentifizieren.

3) Resolve – Handlungen zur Unterstützung der S2S-Komponente. Sie löst Hostnamen für S2S-Authentifizierung als Teil des dialback.
4) Session Manager (SM) – Komponente implementiert Instant-Messaging-Funktionen wie Message-Passing, Präsenz, Dienstplan und Abo etc. + DB-Verbindung
5) Client zum Server (C2S) – Komponente wickelt die Kommunikation mit Jabber-Clients wie Zusammenhang, vorbei Pakete an SM, Benutzer zu authentifizieren und zu registrieren.
6) Jabber-core – Dritter Plug-in-Protokollierung und Kommunikation.

** Um kompilieren / installieren jabberd-2.2.9 benötigen wir folgende Pakete für Debian / Ubuntu (wie auf Redhat / Fedora oder andere OS)

– Libpam0g libpam0g-dev (PAM-Unterstützung)
– OpenSSL libssl-dev (TLS / SSL-Unterstützung)
– Libudns0 libudns-dev (DNS-Resolver-Bibliothek)
– Libidn11 libidn11-dev-libidn libnet-perl (libidn sorgt für die nötige Funktionalität für String-Manipulation jabberd2)
– Mysql-common-perl libdbd-mysql-5.1 mysql-server mysql-client-5.1 libmysqlclient16-dev (MySQL DB-Authentifizierung)

** Jabberd2 unterstützt fünf Authentifizierung (Benutzer)-Mechanismus —

* PAM
* MySQL-Datenbank
* Berkeley DB
* PostgreSQL Datenbank
* SQLite DB
* OpenLDAP

** Im Anschluss werden die Häfen von jabberd2 verwendet —
* Port 5222 – Nicht-SSL-Client-Verbindung
* Port 5223 – SSL-Client-Verbindung
* Port 5269 – Server zu Server Verbindung
* Port 5347 – Router jabberd2

Schritt 1] Neues System für Benutzer und Gruppen für jabberd 2 Server (http://codex.xiaoka.com/wiki/jabberd2:start) —

root @ laptop: ~ # addgroup-System jabber
Hinzufügen Gruppe “jabber ‘(GID 61) …
Getan.
root @ laptop: ~ #

root @ laptop: ~ # adduser-system-home / usr/local/jabberd-2.2.9 /-Shell / bin / false-gid 61 jabber

* Überprüfen Sie Benutzer-und Gruppen-System … (Schritte für Ubuntu)

root @ laptop: ~ # id jabber
uid = 125 (Jabber) gid = 61 (Jabber) groups = 61 (Jabber)
root @ laptop: ~ #

Schritt 2] Download der neuesten Version von jabberd2 —

* Auszug der Quelle dann kompilieren / installieren Sie sie wie folgt mit PAM / MySQL-Datenbank für die Authentifizierung mit SSL gezeigt

root @ laptop: / var / src / # wget-c http://codex.xiaoka.com/pub/jabberd2/releases/jabberd-2.2.9.tar.bz2

root @ laptop: / var / src # tar xvfj jabberd-2.2.9.tar.bz2

root @ laptop: / var / src # cd jabberd-2.2.9

root @ laptop: / var/src/jabberd-2.2.9 #. / configure-prefix = / usr/local/jabberd-2.2.9 /-enable-debug-enable-mysql-enable-ssl-enable-pam-enable -ssl

… ..
checking for Libidn Version> = 0.3.0 … ja
checking for dns_init in ludns … ja
usability … yes checking gsasl.h
Präsenz … yes checking gsasl.h
yes checking for gsasl.h …
checking for gsasl_check_version in lgsasl … ja
checking for GnuSASL Version> = 0.2.27 … nein
configure: error: no SASL-Backend zur Verfügung von: gsasl
root @ laptop: / var/src/jabberd-2.2.9 #

Schritt 3] Facing Problem wie “configure: error: no SASL-Backend zur Verfügung von: gsasl” ~

Sorgen Sie sich nicht die neueste Version der Bibliothek von gsasl URL ~ http://alpha.gnu.org/gnu/gsasl/

* Download der aktuellen Version von GNU SASL (gsasl) …

root @ laptop: / var / src / # wget-c http://alpha.gnu.org/gnu/gsasl/gsasl-0.2.29.tar.gz

* Auszug der Quelle kompilieren Sie dann / install it …

root @ laptop: / var / src # tar xvfz gsasl-0.2.29.tar.gz
root @ laptop: / var / src # cd gsasl-0.2.29 /
root @ laptop: / var/src/gsasl-0.2.29 #. / configure-prefix = / usr / local / gsasl /
root @ laptop: / # make var/src/gsasl-0.2.29
root @ laptop: / var/src/gsasl-0.2.29 # make install
root @ laptop: / var/src/gsasl-0.2.29 #

* Überprüfen Sie die “gsasl”-Version

root @ laptop: / var/src/gsasl-0.2.29 # / usr / local / gsasl / bin / gsasl-Version
gsasl (GNU SASL) 0.2.29
Copyright (C) 2008 Simon Josefsson.
Lizenz GPLv3 +: GNU GPL Version 3 oder höher <http://gnu.org/licenses/gpl.html>
Dies ist freie Software: Sie sind frei zu ändern, und es neu zu verteilen.
Es gibt keine Garantie, soweit dies gesetzlich zulässig ist.

Geschrieben von Simon Josefsson.
root @ laptop: / var/src/gsasl-0.2.29 #

Schritt 4] Zurück zu jabberd2 Quelle und der Kompilierung starten / installieren, wie in unten —

root @ laptop: / var/src/jabberd-2.2.9 #. / configure-prefix = / usr/local/jabberd-2.2.9 /-enable-debug-enable-mysql-enable-ssl-enable-pam-enable -ssl-with-extra-include-path = / usr / local / gsasl / include /-with-extra-library-path = / usr / local / gsasl / lib /
root @ laptop: / # make var/src/jabberd-2.2.9
root @ laptop: / var/src/jabberd-2.2.9 # make install

** Protokoll erstellen und Runtime-Verzeichnisse ~

root @ laptop: / usr/local/jabberd-2.2.9 # mkdir / usr/local/jabberd-2.2.9/var
root @ laptop: / usr/local/jabberd-2.2.9 # mkdir / usr/local/jabberd-2.2.9/var/run

root @ laptop: / # ls-l usr/local/jabberd-2.2.9
insgesamt 20
drwxr-xr-x 2 Jabber Jabber 4096 2009-10-11 18:21 bin
drwxr-xr-x 3 jabber jabber 4096 2009-10-11 18:21 etc
drwxr-xr-x 3 jabber jabber 4096 2009-10-11 18:21 lib
drwxr-xr-x 3 jabber jabber 4096 2009-10-11 18:21 Aktien
drwxr-xr-x 3 jabber jabber 4096 2009-10-11 18:42 var
root @ laptop: / usr/local/jabberd-2.2.9 #

Schritt 5] jabberd-2.2.9 Konfigurieren ~

* Setup (jabberid@laptop.ubuntu.me) Domain Name (Hostname des Servers), IP-Adresse, Port-und Log-Einstellung im Client (c2s.xml) & Server (sm.xml) Konfigurationsdatei —

HINWEIS ~ Domain Name nicht notwendig zu sein Hostname des Servers ab. Aber es sollte aufgelöst werden kann (DNS) zu einer der IP des Servers ab.

root @ laptop: / # hostname usr/local/jabberd-2.2.9
laptop.ubuntu.me
root @ laptop: / usr/local/jabberd-2.2.9 #

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/sm.xml

<pidfile> / usr/local/jabberd-2.2.9/var/run/sm.pid </ pidfile>

node_id laptop.ubuntu.me </ id>

<ip> 0.0.0.0 </ ip> <! – Standard: 127.0.0.1 ->
<port> 5347 </ port> <! – Standard: 5347 ->

<Logo type=’file’>
<file> / usr/local/jabberd-2.2.9/var/log/sm.log </ file>

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/c2s.xml

<pidfile> / usr/local/jabberd-2.2.9/var/run/c2s.pid </ pidfile>

** Um die automatische Registrierung zu ermöglichen (in c2s.xml Datei “Register-enable = ‘true’ erforderlich ist)
<id register-enable=’true’> laptop.ubuntu.me </ id>

<ip> 0.0.0.0 </ ip>
<port> 5222 </ port>

<Logo type=’file’>
<file> / usr/local/jabberd-2.2.9/var/log/c2s.log </ file>

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/s2s.xml

<pidfile> / usr/local/jabberd-2.2.9/var/run/s2s.pid </ pidfile>
<Logo type=’file’>
<file> / usr/local/jabberd-2.2.9/var/log/s2s.log </ file>

Schritt 6] jabberd-2.2.9 Konfigurieren für die Speicherung und Authentifizierung 9using MySQL DB) —

* Stellen Sie sicher, dass Datenbank “jabberd2” nicht vorhanden (falls vorhanden db entweder löschen oder zu ändern DB-Name in setup.mysql db-Datei). Ist dies nicht der MySQL DB Export-Dump von jabberd2 Quelle … ..

root @ laptop: / usr/local/jabberd-2.2.9 # mysql-u root-p </ var/src/jabberd-2.2.9/tools/db-setup.mysql
Passwort:
root @ laptop: / usr/local/jabberd-2.2.9 # mysql-u root-p
Passwort:
Willkommen in der MySQL-Monitor. Commands end with; or \ g.
Ihre MySQL-Verbindungs-ID ist 176
Server Version: 5.1.31-1ubuntu2 (Ubuntu)

Type ‘help;’ or ‘\ h’ for help. Type ‘\ c’, um den Puffer.

mysql> SHOW DATABASES;
+————+
| Datenbank |
+————+
| INFORMATION_SCHEMA |
| Jabberd2 |
| Mysql |
+————+
3 rows in set (0.00 sec)

mysql> use jabberd2;
Lesetisch Informationen für den Abschluss der Tabellen-und Spaltennamen
Sie können diese Funktion abschalten, um eine schnellere Inbetriebnahme mit GET-A

Database changed
mysql> show tables;
+——-+
| Tables_in_jabberd2 |
+——-+
| Aktiv |
| Authreg |
| Disco-Artikel |
| Logout |
| Motd-Nachricht |
| Motd-mal |
| Privacy-Standard |
| Privacy-Produkten |
| Private |
| Queue |
| Roster-Gruppen |
| Roster-Artikel |
| Status |
| Reisen-Einstellungen |
| VCard |
+——-+
15 rows in set (0.00 sec)

mysql>

* Erstellung von MySQL-Benutzer für jabberd2 dh “jabberd2 ‘mit Zugang zum DB” jabberd2 —

mysql> GRANT select, insert, delete, update ON jabberd2 .* to ‘jabber’ @ ‘localhost’ identified by ‘mypassword’;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Tschüss
root @ laptop: / usr/local/jabberd-2.2.9 #

* Verifizieren Sie nun Zugriff auf DB ~

root @ laptop: / usr/local/jabberd-2.2.9 # mysql-u-p jabberd2
Passwort:
Willkommen in der MySQL-Monitor. Commands end with; or \ g.
Ihre MySQL-Verbindungs-ID ist 178
Server Version: 5.1.31-1ubuntu2 (Ubuntu)

Type ‘help;’ or ‘\ h’ for help. Type ‘\ c’, um den Puffer.

mysql> SHOW DATABASES;
+——-+
| Datenbank |
+——-+
| INFORMATION_SCHEMA |
| Jabberd2 |
+——-+
2 rows in set (0.00 sec)

mysql> quit
Tschüss
root @ laptop: / usr/local/jabberd-2.2.9 #

Schritt 7] Ändern c2s.xml und sm.xml Konfigurationsdatei für MySQL-DB-Unterstützung —

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/c2s.xml

<! – Authentifizierung / Registrierung Datenbank-Konfiguration ->
<authreg>

<! – Backend-Modul zu verwenden ->
<module> mysql </ module>

<! – MySQL-Modul-Konfiguration ->
<mysql>
<! – Datenbank-Server Host und Port ->
<host> localhost </ host>
<port> 3306 </ port>

<! – Name der Datenbank ->
<dbname> jabberd2 </ dbname>
<! – Datenbank Benutzername und Passwort ->
<user> jabberd2 </ user>
<pass> mypassword </ pass>

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/sm.xml

<! – Storage Datenbank-Konfiguration ->
<storage>
<! – Dynamic Storage Module Pfad ->
<path> / usr/local/jabberd-2.2.9/lib/jabberd </ path>

<! – Standardmäßig verwenden wir die SQLite-Treiber für alle Speicher ->
<driver> mysql </ driver>

<! – MySQL-Treiber-Konfiguration ->
<mysql>
<! – Datenbank-Server Host und Port ->
<host> localhost </ host>
<port> 3306 </ port>

<! – Name der Datenbank ->
<dbname> jabberd2 </ dbname>
<! – Datenbank Benutzername und Passwort ->
<user> jabberd2 </ user>
<pass> mypassword </ pass>

** Um die automatische Registrierung zu ermöglichen (in sm.xml-Datei)

<auto-create/>

————

HINWEIS ~ Es reicht nicht aus, um Nutzer auf die “authreg ‘table Da dies nur stellt Benutzern, die C2S-Komponente, aber nicht an die SM-Komponente hinzufügen. Richtigen Einsendungen werden in der “aktive” Tabelle als auch erforderlich. Am besten ist es ein Jabber-Client verwenden, um Benutzer zu registrieren.

Schritt 8] Let’s start jabberd-2-Server (Test-Konfiguration) —

root @ laptop: ~ # su jabber-l-s / bin / bash-c “/ usr/local/jabberd-2.2.9/bin/jabberd-b”
root @ laptop: ~ #

* Prüfen Sie, ob Ports offen sind oder nicht

root @ laptop: ~ # netstat-nlp

Proto Recv-Q Send-Q Local Address Foreign Address State PID / Program name
tcp 0 0 0.0.0.0:5347 0.0.0.0: * LISTEN 31662/router
tcp 0 0 0.0.0.0:5222 0.0.0.0: * LISTEN 13883/c2s
tcp 0 0 127.0.0.1:3306 0.0.0.0: * LISTEN 2892/mysqld
tcp 0 0 0.0.0.0:5269 0.0.0.0: * LISTEN 13886/s2s

… ..

root @ laptop: ~ #

** Jetzt Registrieren Sie den Benutzer “jabberd@laptop.ubuntu.me” und Passwort “secret” mit Jabber IM-Client

root @ laptop: / usr/local/jabberd-2.2.9 # tail-f var/log/c2s.log

Mon Oct 12 00:43:15 2009 [notice] [8] Registrierung gelungen, anfragenden Nutzers Erstellungsjahr: jid = jabberd@laptop.ubuntu.me
Mon Oct 12 00:43:15 2009 [notice] [8] SASL Authentifizierung gelungen: Mechanismus = DIGEST-MD5; authz = jabberd@laptop.ubuntu.me
Mon Oct 12 00:43:15 2009 [notice] [8] gebunden: jid = jabberd@laptop.ubuntu.me / Telepathie
Mon Oct 12 00:44:20 2009 [notice] [9] [192.168.0.1, Port = 48307] in Verbindung zu treten

* Überprüfen DB Eintrag —

mysql> SELECT * FROM aktiv;
+———+——+—-+
| Collection-besitzer | Objekt-Sequenz | Zeit |
+———+——+—-+
| Jabberd@laptop.ubuntu.me | 1 | 1255288395 |
+———+——+—-+
1 row in set (0.00 sec)

mysql> SELECT * FROM authreg;
+—-+——+—-+
| Benutzername | Reich | Passwort |
+—-+——+—-+
| Jabberd | laptop.ubuntu.me | Geheimnis |
+—-+——+—-+
1 row in set (0.00 sec)

mysql>

=> Prüfung erfolgreich abgeschlossen ….

Schritt 9] jabberd2 Konfigurieren für SSL / TLS-Verbindungen —

Let’s konfigurieren jabberd2 für SSL / TLS-Verbindung. Jabberd2 wurde entwickelt, um für die Bereitstellung von SSL / TLS-Verbindungen nicht nur zwischen Jabber-Clients und dem Server, sondern auch zwischen den jabberd-Server-Komponenten (sm, s2s und C2S) und die jabberd Router. Eine einzige SSL-Zertifikat kann für diese beiden Funktionen (und Jabber-Client verwendet werden, um jabberd Komponente Router jabberd) oder zwei separate Tasten verwendet werden.

* Generieren selbst signierten SSL-Zertifikat …

root @ laptop: / usr/local/jabberd-2.2.9 openssl req-new-x509-newkey rsa: 1024-days 365-out-keyout privkey.pem server.pem
Erstellen eines 1024-Bit-RSA-Schlüssel
.++++++
… .. ++++++
schriftlich neuen privaten Schlüssel zu “privkey.pem”
Enter PEM pass phrase:
….
Common Name (eg, YOUR name) []: laptop.ubuntu.me
root @ laptop: / usr/local/jabberd-2.2.9 #

* Entfernen Sie Kontrollwert aus privaten Schlüssel

root @ laptop: / usr/local/jabberd-2.2.9 # openssl rsa-in-out privkey.pem privkey.pem

** Kombinieren Sie die privaten und öffentlichen Schlüssel, und löschen Sie private Schlüssel

root @ laptop: / # cat usr/local/jabberd-2.2.9 privkey.pem>> server.pem

root @ laptop: / # rm usr/local/jabberd-2.2.9 privkey.pem

* Ändern Sie die Berechtigung …

root @ laptop: / usr/local/jabberd-2.2.9 # chown jabber: jabber / usr/local/jabberd-2.2.9/server.pem
root @ laptop: / usr/local/jabberd-2.2.9 # ls-l / usr/local/jabberd-2.2.9
insgesamt 24
drwxr-xr-x 2 Jabber Jabber 4096 2009-10-11 22:17 bin
drwxr-xr-x 3 jabber jabber 4096 2009-10-12 01:03 etc
drwxr-xr-x 3 jabber jabber 4096 2009-10-11 20:16 lib
-rw-r-r-1 jabber jabber 2217 2009-10-12 01:17 server.pem
drwxr-xr-x 3 jabber jabber 4096 2009-10-11 20:16 Aktien
drwxr-xr-x 4 jabber jabber 4096 2009-10-12 00:20 var
root @ laptop: / usr/local/jabberd-2.2.9 #

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/c2s.xml
<ssl-port> 5223 </ ssl-port>
<pemfile> / usr/local/jabberd-2.2.9/server.pem </ pemfile>

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/s2s.xml

<pemfile> / usr/local/jabberd-2.2.9/server.pem </ pemfile>

root @ laptop: / usr/local/jabberd-2.2.9 # vi / usr/local/jabberd-2.2.9/etc/sm.xml

<pemfile> / usr/local/jabberd-2.2.9/server.pem </ pemfile>

<pemfile> / usr/local/jabberd-2.2.9/server.pem </ pemfile>

** Neu, jetzt den Server neu starten und überprüfen Login …

root @ laptop: / usr/local/jabberd-2.2.9 # tail-f var/log/c2s.log

Mon Oct 12 01:28:57 2009 [notice] Verbindung zum Router eingerichtet
Mon Oct 12 01:28:57 2009 [notice] [0.0.0.0, port = 5222] auf Verbindungen wartet
Mon Oct 12 01:28:57 2009 [notice] [0.0.0.0, port = 5223] Hören für SSL-Verbindungen

* Bei der Registrierung user ~

1) Notwendig SSL / TLS
2) Force alte SSL (Port 5223)

Bitte beiden oben genannten Einstellung aktivieren und deaktivieren Sie “Allow plaintext auth unecrypted Streams

HINWEIS ~ Während loggen Sie sich zuerst Zeit (automatische Registrierung Modus) stellen Sie sicher, aktivieren Sie “Erstellen dieses neue Konto auf dem Server” checkbox in Pidgin (unten)

** Es funktioniert!

Schritt 10] init.d Startskript für jabberd2 und Mu-Konferenz —

root @ laptop: ~ # / etc/init.d/jabberd2 starten
Starten des Chat-Server jabberd2 …
Router 11.095 | 11.099 sm | s2s 11102 | C2S 11.106 | 11.149 mu-conf

Getan.
root @ laptop: ~ # / etc/init.d/jabberd2 Status
Jabberd2 Chat-Server-Status —
Router – 11095 | sm – 11.099 | s2s – 11102 | C2S – 11106 | 11149 mu-conf
root @ laptop: ~ #

* Überprüfen Sie nun Netzwerkeinstellungen …

root @ laptop: ~ # netstat-nlp

Proto Recv-Q Send-Q Local Address Foreign Address State PID / Program name
tcp 0 0 0.0.0.0:5347 0.0.0.0: * LISTEN 11095/router
tcp 0 0 0.0.0.0:5222 0.0.0.0: * LISTEN 11106/c2s
tcp 0 0 0.0.0.0:5223 0.0.0.0: * LISTEN 11106/c2s
tcp 0 0 127.0.0.1:3306 0.0.0.0: * LISTEN 2899/mysqld
tcp 0 0 0.0.0.0:5269 0.0.0.0: * LISTEN 11102/s2s

root @ laptop: ~ # / etc/init.d/jabberd2 stoppen
Stoping die jabberd2 IM Server …
Getan.
root @ laptop: ~ #

** Möchten Sie sehen, das Skript ~

root @ laptop: ~ # cat / etc/init.d/jabberd2
/ Bin / bash

# # Jabberd2 Chat-Server
# # Jabber User / Group – jabber / jabber
# # Befehl zum srart ~ su jabber-l-s / bin / bash-c “$ (base_path) / bin / jabberd-b”
# #
# C2S
Base_path = “/ usr/local/jabberd-2.2.9”
c2s_pid = “$ (base_path) / var/run/c2s.pid”
# S2s
s2s_pid = “$ (base_path) / var/run/s2s.pid”
# Sm
sm_pid = “$ (base_path) / var / run / sm.pid”
# Router
router_pid = “$ (base_path) / var / run / router.pid”
# Mu-Konferenz
mu_conf_pid = “$ (base_path) / var / run / mu-conference.pid”

case “$ 1” in

start)
# # Prüfung, ob jabberd2 läuft oder nicht
if [-f $ (c2s_pid)], dann
c2spid = $ (cat $ (c2s_pid))
echo “jabberd2 IM Server ~ C2S ‘ausgeführt wird (pid $ (c2spid))”
elif [-f $ (s2s_pid)], dann
s2spid = $ (cat $ (s2s_pid))
echo “jabberd2 IM Server ~ s2s ‘ausgeführt wird (pid $ (s2spid))”
elif [-f $ (sm_pid)], dann
smpid = $ (cat $ (sm_pid))
echo “jabberd2 IM Server ~ ‘sm’ ausgeführt wird (pid $ (smpid))”
elif [-f $ (router_pid)], dann
routerpid = $ (cat $ (router_pid))
echo “jabberd2 IM Server ~” Router “ausgeführt wird (pid $ (routerpid))”
sonst
echo “Starting die jabberd2 IM Server …”
jabber su-l-s / bin / bash-c “$ (base_path) / bin / jabberd-b”
jabber su-l-s / bin / bash-c “$ (base_path) / bin / mu-conference-B-c $ (base_path) / etc / mu-conference.xml”> / dev / null 2> & 1
echo “$ router (cat $ (router_pid)) | sm $ (cat $ (sm_pid)) | s2s $ (cat $ (s2s_pid)) | C2S $ (cat $ (c2s_pid)) | mu-conf $ (cat $ ( mu_conf_pid)) ”
echo “…”
echo “Done.”
fi
;;

stop)
echo “stoping die jabberd2 IM Server …”
if [-f $ (sm_pid)], dann
kill -9 $ (cat $ (sm_pid))
fi
if [-f $ (router_pid)], dann
kill -9 $ (cat $ (router_pid))
fi
if [-f $ (c2s_pid)], dann
kill -9 $ (cat $ (c2s_pid))> / dev / null 2> & 1
fi
if [-f $ (s2s_pid)], dann
kill -9 $ (cat $ (s2s_pid)) $ (cat $ (mu_conf_pid))> / dev / null 2> & 1
fi
# #
killall-9-u jabber
rm-f $ (router_pid) $ (sm_pid) $ (s2s_pid) $ (c2s_pid) $ (mu_conf_pid)> / dev / null 2> & 1
echo “Done.”
;;

Status)
echo “jabberd2 Chat-Server-Status -”
if [-f $ (c2s_pid)], dann
c2spid = $ (cat $ (c2s_pid))
fi
if [-f $ (s2s_pid)], dann
s2spid = $ (cat $ (s2s_pid))
fi
if [-f $ (sm_pid)], dann
smpid = $ (cat $ (sm_pid))
fi
if [-f $ (router_pid)], dann
routerpid = $ (cat $ (router_pid))
fi
if [-f $ (router_pid)], dann
als Mitarbeiter = $ (cat $ (mu_conf_pid))
fi
echo “Router – $ (routerpid) | sm – $ (smpid) | s2s – $ (s2spid) | C2S – $ (c2spid) | mu-conf $ (als Mitarbeiter)”
;;
*)
echo “Usage: $ 0 (start | stop | status)”
exit 1
esac
exit 0
# VORBEI
root @ laptop: ~ #

Danke,
Arun Bagul

How to install Network Driver in Linux system

How to install Network Driver in Linux system

Introduction –

“Attansic Technology Corp. L1 Gigabit Ethernet Adapte” network (NIC) card or Adapter was not detected by RHEL4 (redhat) system. I tried running kudzu and other commands to detect device, but no use. So finally I have to install drivers for my network card…

Step 1] Device status (network card) –

* See below device status from hardware conf file ~ “/etc/sysconfig/hwconf”
* Attansic Technology Corp. L1 Gigabit Ethernet Adapter  not detected – Unknown device 8226

03:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)
Subsystem: ASUSTeK Computer Inc.: Unknown device 8226
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR+ <PERR-
Latency: 0, Cache Line Size 10
Interrupt: pin A routed to IRQ 201

…..

[root@desktop ~]# lspci

03:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)

…..
[root@desktop ~]# lspci -n

03:00.0 Class 0200: 1969:1048 (rev b0)

…..
[root@desktop ~]#

* Make sure to download drivers for above  venderID & deviceId “1969:1048″….

Step 2] download and extract the source  –

First, download vendor* driver from here

ftp://ftp.hogchain.net/pub/linux/attansic/vendor_driver/l1-linux-v1.2.40.3.tar.gz

OR
open-source (http://atl1.sourceforge.net/)

[root@desktop ~]# tar xvfz l1-linux-v1.2.40.3.tar.gz

[root@desktop ~]# cd  l1-linux-v1.2.40.3

[root@desktop src]# ls
at_ethtool.c  at.h  at_hw.c  at_hw.h  at_main.c  at_osdep.h  at_param.c  kcompat.c  kcompat_ethtool.c  kcompat.h  Makefile
[root@desktop src]#

* Now compile and install the drivers

[root@desktop src]# make
make -C /lib/modules/2.6.9-78.ELsmp/build SUBDIRS=/root/l1-linux-v1.2.40.3/src modules
make[1]: Entering directory `/usr/src/kernels/2.6.9-78.EL-smp-i686′

…..
make[1]: Leaving directory `/usr/src/kernels/2.6.9-78.EL-smp-i686′
[root@desktop src]# echo $?
0

[root@desktop src]# make install
make -C /lib/modules/2.6.9-78.ELsmp/build SUBDIRS=/root/l1-linux-v1.2.40.3/src modules

…..
man -c -P’cat > /dev/null’ atl1 || true
[root@desktop src]# echo $?
0

* Now load the kernel module….

[root@desktop src]# modprobe   atl1

Step 3] Now verify whether kernel driver is working or not  –

[root@desktop src]# modinfo   atl1
filename:       /lib/modules/2.6.9-78.ELsmp/kernel/drivers/net/atl1/atl1.ko
author:         Atheros Corporation, <xiong.huang@atheros.com>
description:    Atheros 1000M Ethernet Network Driver
license:        GPL
version:        1.2.40.3 1FC4E58EBDF31F49BFD33E8
parm:           TxDescriptors:Number of transmit descriptors
parm:           RxDescriptors:Number of receive descriptors
parm:           MediaType:MediaType Select
parm:           IntModTimer:Interrupt Moderator Timer
parm:           FlashVendor:SPI Flash Vendor
vermagic:       2.6.9-78.ELsmp SMP 686 REGPARM 4KSTACKS gcc-3.4
depends:
alias:          pci:v00001969d00001048sv*sd*bc*sc*i*
[root@desktop src]#

[root@desktop src]# netconfig
[root@desktop src]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:AD:54:0A:XX:WW
inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
inet6 addr: fe80::223:54ff:fe0a:616b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b)  TX bytes:498 (498.0 b)
Memory:feac0000-feb00000

…..

[root@desktop src]#

[root@desktop ~]# vi /etc/sysconfig/hwconf

class: NETWORK
bus: PCI
detached: 0
device: eth0
driver: atl1
desc: “Attansic Technology Corp. L1 Gigabit Ethernet Adapter”
network.hwaddr: 00:AD:54:0A:XX:WW
vendorId: 1969
deviceId: 1048

subVendorId: 1043
subDeviceId: 8226
pciType: 1
pcidom:    0
pcibus:  3
pcidev:  0
pcifn:  0
[root@desktop ~]#

Enjoy,
Arun Bagul

Comment installer un réseau pilote sous Linux

Comment installer un réseau pilote sous Linux

Introduction —

“Attansic Technology Corp L1 Gigabit Ethernet Adapte” réseau (NIC), carte ou adaptateur n’a pas été détecté par RHEL4 (redhat) system. J’ai essayé de courir kudzu et d’autres commandes pour détecter des périphériques, mais aucune utilité. Donc finalement je dois installer des pilotes pour ma carte réseau …

Step 1] l’état des périphériques (carte réseau) —

* Voir ci-dessous l’état du périphérique à partir du fichier conf matériel ~ “/ etc / sysconfig / hwconf”
* Attansic Technology Corp L1 Gigabit Ethernet Adapter pas détecté – Unknown device 8226

03:00.0 Ethernet controller: Attansic Technology Corp L1 Gigabit Ethernet Adapter (rev b0)
Subsystem: ASUSTeK Computer Inc: Unknown device 8226
Control: I/O- Mem + + BusMaster SpecCycle-MemWINV-VGASnoop-ParErr-Stepping-SERR + FastB2B –
Status: Cap + 66Mhz-UDF-FastB2B-ParErr-DEVSEL = fast> TAbort-<TAbort-<MAbort-> SERR + <PERR –
Latency: 0, Cache Line Size 10
Interrupt: pin A routed to IRQ 201

…..

[root @ bureau ~] # lspci

03:00.0 Ethernet controller: Attansic Technology Corp L1 Gigabit Ethernet Adapter (rev b0)

…..
[root @ bureau ~] # lspci-n

03:00.0 Class 0200: 1969:1048 (rev b0)

…..
[root @ bureau ~] #

* Assurez-vous de télécharger les pilotes ci-dessus venderID & deviceid “1969:1048 “….

Etape 2] télécharger et extraire la source —

Premièrement, un vendeur de téléchargement * driver à partir d’ici

ftp://ftp.hogchain.net/pub/linux/attansic/vendor_driver/l1-linux-v1.2.40.3.tar.gz

OU
open-source (http://atl1.sourceforge.net/)

[root @ bureau ~] # tar xvfz l1-linux-v1.2.40.3.tar.gz

[root @ bureau ~] # cd l1-linux-v1.2.40.3

[root @ src Desktop] # ls
at_ethtool.c at.h at_hw.c at_hw.h at_main.c at_osdep.h at_param.c kcompat.c kcompat_ethtool.c kcompat.h Makefile
[root @ src Desktop] #

* Maintenant compilez et installez les pilotes

[root @ src Desktop] # make
make-C / lib/modules/2.6.9-78.ELsmp/build SUBDIRS = / modules root/l1-linux-v1.2.40.3/src
make [1]: Entering directory `/ usr/src/kernels/2.6.9-78.EL-smp-i686 ‘

…..
make [1]: Leaving directory `/ usr/src/kernels/2.6.9-78.EL-smp-i686 ‘
[root @ src Desktop] # echo $?
0

[root @ src Desktop] # make install
make-C / lib/modules/2.6.9-78.ELsmp/build SUBDIRS = / modules root/l1-linux-v1.2.40.3/src

…..
MAN-C-cat P ‘> / dev / null’ ATL1 | | true
[root @ src Desktop] # echo $?
0

* La charge maintenant le module noyau ….

[root @ src Desktop] # modprobe ATL1

Etape 3] Maintenant, vérifiez si un pilote noyau qui marche ou pas —

[root @ src Desktop] # modinfo ATL1
filename: / lib/modules/2.6.9-78.ELsmp/kernel/drivers/net/atl1/atl1.ko
Auteur: Atheros Corporation, <xiong.huang@atheros.com>
Description: Atheros 1000M Ethernet Network Driver
Licence: GPL
Version: 1.2.40.3 1FC4E58EBDF31F49BFD33E8
parm: TxDescriptors: Nombre de descripteurs de transmission
parm: RxDescriptors: Nombre de recevoir des descripteurs
parm: Mediatype: MediaType Sélectionner
parm: IntModTimer: Modérateur Interrupt Timer
parm: FlashVendor: SPI Flash vendeur
vermagic: 2.6.9-78.ELsmp SMP 686 4KSTACKS REGPARM gcc-3.4
dépend:
alias: pci: v00001969d00001048sv * sd * bc * sc * i *
[root @ src Desktop] #

[root @ src Desktop] # netconfig
[root @ src Desktop] # ifconfig
eth0 Link encap: Ethernet HWaddr 00: AD: 54:0 A: XX: WW
inet addr: 192.168.0.2 Bcast: 192.168.0.255 Mask: 255.255.255.0
inet6 addr: fe80:: 223:54 ff: fe0a: 616b/64 Scope: Lien
UP BROADCAST RUNNING MULTICAST MTU: 1500 Metric: 1
RX packets: 0 errors: 0 dropped: 0 overruns: 0 frame: 0
TX packets: 7 errors: 0 dropped: 0 overruns: 0 carrier: 0
collisions: 0 txqueuelen: 1000
RX bytes: 0 (0.0 b) TX bytes: 498 (498.0 b)
Mémoire: feac0000-feb00000

…..

[root @ src Desktop] #

[root @ bureau ~] # vi / etc / sysconfig / hwconf

Classe: RESEAU
Bus: PCI
individuelle: 0
device: eth0
conducteur: ATL1
desc: “Attansic Technology Corp L1 Gigabit Ethernet Adapter”
network.hwaddr: 00: AD: 54:0 A: XX: WW
VendorId: 1969
deviceid: 1048
subVendorId: 1043
subDeviceId: 8226
pciType: 1
pcidom: 0
pcibus: 3
pcidev: 0
pcifn: 0
[root @ bureau ~] #

Apprécier,
Arun Bagul

어떻게 리눅스에서 시스템 네트워크 드라이버 설치

어떻게 리눅스에서 시스템 네트워크 드라이버 설치

회사 소개 –

“Attansic 기술 공사 940 기가 비트 이더넷 Adapte”네트워크 (NIC를) 카드 또는 어댑터 RHEL4에 의해 (레드햇) 시스템은 감지되지됐다. 난 장치를 감지 kudzu 및 기타 명령을 실행,하지만 사용 했어요. 그래서 결국 내 네트워크 카드에 대한 드라이버를 설치할 필요가 …

단계 1] 장치 상태 (네트워크 카드) –

하드웨어 conf의 파일에서 장치 상태 아래를 참조하십시오 * ~ “을 / etc / sysconfig / hwconf”
* Attansic 기술 공사 940 기가 비트 이더넷 어댑터를 감지하지 – 알 수없는 장치 8226

03:00.0 이더넷 컨트롤러 : Attansic 기술 공사 940 기가 비트 이더넷 어댑터 (돌림 b0)
서브 시스템 : 자세히 Computer는 : 알 수없는 장치 8226
제어 : I/O- 가상 메모리 + BusMaster + SpecCycle – MemWINV – VGASnoop – ParErr – 스테핑 – SERR + FastB2B –
상태 : 총액 + 66MHz – UDF로 FastB2B – ParErr – DEVSEL = 빠른 “TAbort -“TAbort – <MAbort- “SERR +”PERR –
지연 : 0, 캐시 라인 크기 10
인터럽트 : IRQ를 201 핀 라우팅

…..

[바탕 화면 @ 루트 ~] # lspci

03:00.0 이더넷 컨트롤러 : Attansic 기술 공사 940 기가 비트 이더넷 어댑터 (돌림 b0)

…..
[바탕 화면 @ 루트 ~] # lspci – n을

03:00.0 클래스 0200 : 1969:1048 (돌림 b0)

…..
[바탕 화면 @ 루트 ~] #

* venderID & DeviceID “1969:1048 “…. 위의 다운로드 드라이버가 있는지 확인하십시오

2 단계] 다운로드 및 소스 추출 –

여기에서 첫째, 공급 업체 * 드라이버 다운로드

ftp://ftp.hogchain.net/pub/linux/attansic/vendor_driver/l1-linux-v1.2.40.3.tar.gz

또는
오픈 소스 (http://atl1.sourceforge.net/)

[바탕 화면 @ 루트 ~] # 타르 xvfz 940 – 리눅스 – v1.2.40.3.tar.gz

[바탕 화면 @ 루트 ~] # CD를 940 – 리눅스 – v1.2.40.3

[바탕 화면 src @ 루트] # 있나요
at_ethtool.c at.h at_hw.c at_hw.h at_main.c at_osdep.h at_param.c kcompat.c kcompat_ethtool.c kcompat.h Makefile의
[바탕 화면 src @ 루트] #

* 이제 컴파일하고 드라이버를 설치

[바탕 화면 src @ 루트] 확인 #
확인 – C를 / lib/modules/2.6.9-78.ELsmp/build subdirs = / root/l1-linux-v1.2.40.3/src 모듈
확인 [1] : 입력 디렉토리`/ usr/src/kernels/2.6.9-78.EL-smp-i686 ‘

…..
확인 [1] : 출발일 디렉토리`/ usr/src/kernels/2.6.9-78.EL-smp-i686 ‘
[바탕 화면 src @ 루트] # $ 파요?
0

[바탕 화면 src @ 루트] 설치 확인 #
확인 – C를 / lib/modules/2.6.9-78.ELsmp/build subdirs = / root/l1-linux-v1.2.40.3/src 모듈

…..
사람은 – c 옵션 – P ‘로 고양이 “는 / dev / null로’atl1 | | 사실
[바탕 화면 src @ 루트] # $ 파요?
0

* 이제 모듈을 커널을 읽어들이 ….

[바탕 화면 src @ 루트] # modprobe 명령을 atl1

3 단계] 이제 커널 드라이버가 있는지 아닌지 작동하는지 확인 –

[바탕 화면 src @ 루트] # modinfo atl1
파일 이름 : / lib/modules/2.6.9-78.ELsmp/kernel/drivers/net/atl1/atl1.ko
작성자 : 아테 공사, <xiong.huang@atheros.com>
설명 : 아테 1000M 이더넷 네트워크 드라이버
라이센스 : GPL은
버전 : 1.2.40.3 1FC4E58EBDF31F49BFD33E8
파마 잔 : TxDescriptors : 전송 설명자 개수
파마 잔 : RxDescriptors : 설명 수신 번호
파마 잔 : MediaType : MediaType 선택
파마 잔 : IntModTimer : 사회자 타이머 인터럽트
파마 잔 : FlashVendor : SPI는 플래시 공급 업체
vermagic : 2.6.9 – 78.ELsmp SMP를 686 REGPARM 4KSTACKS의 gcc – 3.4
에 따라 다릅니다 :
별칭 : PCI : v00001969d00001048sv * sd는 * 기원전 * 사우스 캐롤라이나 * 난 *
[바탕 화면 src @ 루트] #

[바탕 화면 src @ 루트] netconfig #
[바탕 화면 src @ 루트] ifconfig #
링크 Encap eth0 : 이더넷 HWaddr 00 : 광고 : 54:0 : XX : 트면
inet addr : 192.168.0.2 BCAST : 192.168.0.255 마스크 : 255.255.255.0
inet6 addr : fe80 : : 223:54 FF로 : fe0a : 616b/64 범위 : 링크
방송 나오는 멀티 캐스트의 MTU 업 : 1500 메트릭 : 1
RX 패킷 : 0 오류 : 0했다 : 0 오버런 : 0 프레임 : 0
텍사스 패킷 : 7 오류 : 0했다 : 0 오버런 : 0 통신사 : 0
충돌 : 0 txqueuelen : 1000
RX 바이트 : 0 (0.0 b)는 미국 텍사스 바이트 : 498 (498.0 b) 항
메모리 : feac0000 – feb00000

…..

[바탕 화면 src @ 루트] #

[바탕 화면 @ 루트 ~] # vi가을 / etc / sysconfig / hwconf

클래스 : 네트워크
버스 : PCI
초연 : 0
장치 : eth0
드라이버 : atl1
내림차순 : “Attansic 기술 공사 940 기가 비트 이더넷 어댑터”
network.hwaddr : 00 : 광고 : 54:0 : XX : 트면
vendorId : 1969
DeviceID : 1048
subVendorId : 1043
subDeviceId : 8226
pciType : 1
pcidom : 0
pcibus : 3
pcidev : 0
pcifn : 0
[바탕 화면 @ 루트 ~] #

즐기다,
Arun Bagul