亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1433 | 回復: 0
打印 上一主題 下一主題

簡單架設Jabber 局域網(wǎng)即時通訊服務器 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-12-22 08:54 |只看該作者 |倒序瀏覽
來自:LinuxSir.Org
簡介:本文主要介紹Jabber即時通訊服務器最簡單的架設方法;目的是自己學習一下,長長見識;另外也是為了對此有興趣的弟兄所準備的,用于和大家交流;本文所架的Jabber Server 是通過Mysql數(shù)據(jù)庫來進行用戶認證的; 目錄 1、什么是jabber server; 2、jabber server的簡單架設,安裝篇; 3、jabber server的簡單配置; 4、Jabber Server 啟動和管理; 5、Jabber 客戶端的應用; 6、一些疑問; 7、關于本文;
8、參考文檔;
9、相關文檔;
+++++++++++++++++++++++++++++++++++++++++++++++++
正文
+++++++++++++++++++++++++++++++++++++++++++++++++



1、什么是jabber server;

Jabber 是著名的 Linux 即時通訊服務服務器,它是一個自由開源軟件。什么是即時通訊服務器呢?就是類似AIM,ICQ,MSN或Yahoo Message 類似的服務器;只是Jabber能讓我們自己架即時通訊服務器,可以在Internet上應用,也可以在局域網(wǎng)中應用; Jabber 最有優(yōu)勢的就是他的通信協(xié)議。他可以和多種即時通訊對接。比如有第三方插件,能讓jabber用戶和MSN 、Yahoo Messager、ICQ..... 對聊; 下面是來自 jabber.org官方的原文 Jabber is best known as "the Linux of instant messaging" -- an open, secure, ad-free alternative to consumer IM services like AIM, ICQ, MSN, and Yahoo (see the IM quickstart). Under the hood, Jabber is a set of streaming XML protocols and technologies that enable any two entities on the Internet to exchange messages, presence, and other structured information in close to real time. Jabber technologies offer several key advantages:

1.1、我們能否自己架設jabber server;

我們自己來架Jabber server 是可能的;jabber.org 上提供了幾乎所有的文檔資料、服務器端及客戶端;如果您想擁有一個自己的即時消息服務器,那就自己動手吧;jabber 能滿足您架自己的即時通訊服務器;如果您是高手,說不定也會弄一個類似TT公司呢;

1.2、jabber 應用范圍;

jabber server 能在局域網(wǎng)中應用,當然也一樣架一臺internet 的jabber server 為您自己的用戶服務;服務器端支持幾乎所有的操作系統(tǒng),從Linux、MACOS到Unix類的,同樣也支持Windows平臺;客戶端也是一樣,無所不 包,無所不有... ... 服務器端: Jabber Servers 客戶端: Jabber Clients

2、jabber server的簡單架設,安裝篇;

我是在局域網(wǎng)中架設并測試的,而且功能也極為簡單、安全性也沒有評測(或者說沒有安全性),就是簡單的注冊和相互通訊(聊天);

2.1、Jabber Server 測試架設環(huán)境和用戶認證環(huán)境;

Slackware 10.1 ,其實在哪個發(fā)行版都是一樣的,只要按官方文檔上面說的做,一般都會成功;好象沒有不成功的呢;我用的是mysql認證,也就是說用戶注冊和認證數(shù)據(jù)庫調 用的;當然jabber 支持多種認證,比如PostgreSQL、Berkeley DB ... ... 因為我不懂其它的認證方式,我對Mysql 也只是了解一點點;所以我就用了Mysql的方法; 另外如果在局域網(wǎng)中架Jabber Server ,得有DNS服務器;也就是說局域網(wǎng)中的機器相互能通過hostname 來訪問;如果您不懂什么是DNS,或者不會DNS 的架設。我感覺也沒有什么,現(xiàn)在幾乎所有的路由器都有這個功能,點幾下鼠標就能弄得起來;如果你只一臺機器,我看架Jabber Server 也沒有必要了; 所以本文架設Jabber Server 的前提條件是你懂DNS(至少你有一個路由器,并且能在路由器上指定DNS來解析每臺機器的hostname);另外您還要懂一點Mysql服務器的架設 和簡單的應用;

2.2、Jabber Server 版本的選擇;

我用的Jabber Server 的版本是 jabberd-2.0s10.tar.gz ; http://jabberd.jabberstudio.org/2/#download

2.3、為Jabber Server添加一個系統(tǒng)用戶,用來管理服務器的啟動等;

一般的說來root超級用戶是能對所有服務器程序進行管理的;但這樣做有點不安全;所以盡可能的少用root權限來啟動一個服務器;
[root@localhost ~]# groupadd jabber 注:添加jabber用戶組;
[root@localhost ~]# useradd  jabber 注:添加 jabber用戶;
至于設置不設置jabber用戶的密碼,您看著辦。如果您當前操作的普通用戶,想通過su 命令切換到 root用戶下,然后再通過 su jabber ,這樣就不用密碼也行;如果您認為這樣切來切換去的有點麻煩,那你就設置一下jabber用戶的密碼;
[root@localhost ~]# passwd  jabber 注:設置jabber 用戶的密碼;


2.4、編譯安裝Jabber Server所需要的軟件環(huán)境;

在Linux中編譯安裝Jabber Server 需要編譯工具;比如gcc 之類的,如果您沒有編譯環(huán)境, 就要找出自己所用發(fā)行版的光盤,把這些安裝上; Jabber Server 依賴 openssl ,您也得安裝上;在您的Linux發(fā)版的安裝盤中也應該有;
Jabber Server 依賴 Mysql ,因為我們要用Mysql 存儲用戶資料;這個不可缺少吧;在發(fā)行版的光盤也有;
libidn 這個軟件包也在各大發(fā)行版中有;自己找找看;也可以自己編譯安裝; 參考文檔:《Jabberd 2 Installation and Administration Guide》

2.5、解壓編譯安裝Jabber Server;

[root@localhost ~]# tar zxvf jabberd-2.0s10.tar.gz
[root@localhost ~]# cd jabberd-2.0s10
[root@localhost jabberd-2.0s10] # ./configure  --enable-ssl --enable-mysql  --enable-idn \
      --with-extra-include-path=/usr/include/mysql \
      --with-extra-library-path=/usr/lib/mysql \
      --prefix=/opt/jabberd2

[root@localhost jabberd-2.0s10] # make
[root@localhost jabberd-2.0s10] # make install
注意: 在./configure 中要指定您的Mysql的include所在的位置,也要指定 mysql的lib所在的位置;您應該知道這些東西在哪里;我的mysql 的include和 lib分別是/usr/include/mysql和/usr/lib/mysql --prefix 用來指定把jabberd安裝在哪個位置上。我是安裝到了 /opt/jabberd2目錄中;自己看著辦吧。這樣指定比較方便。當我們不需要jabberd的時候,就直接刪除 /opt/jabberd2目錄就行了。就是重裝也方便;卸載就更方便了;

3、jabber server的簡單配置;

3.1、創(chuàng)建Jabber Server 進程存放目錄pid及日志存放目錄log

[root@localhost ~]# mkdir -p /opt/jabberd2/var/jabberd/pid
[root@localhost ~]# mkdir -p /opt/jabberd2/var/jabberd/log


[root@localhost ~]# chown -R jabber:jabber  /opt/jabberd2/var



說明:改變/opt/jabberd2/var權限,讓用戶jabber可以寫數(shù)據(jù)到/opt/jabberd2/var及下級目錄;

3.2、有關Mysql數(shù)據(jù)庫的操作;

在我們的解壓編譯的Jabber Server 目錄中 jabberd-2.0s10 ,有一個目錄tools,里面有一個文件db-setup.mysql,就是創(chuàng)建數(shù)據(jù)庫的腳本; 首先我們得啟動Mysql 服務器;這個過程省略; 然后我們導入 db-setup.mysql;


[root@localhost jabberd-2.0s10] # cd tools
[root@localhost tools] # mysql -uroot -p < db-setup.mysql
Enter password: 在這里輸入Mysql數(shù)據(jù)庫的管理密碼



經(jīng)過上一步,我們就導入了一個jabberd2的數(shù)據(jù)庫;下一步我們要進行授權;讓jabberd2 數(shù)據(jù)庫有一個專門的管理用戶;
[root@localhost tools] # mysql -uroot -p
Enter password: 注:在這里輸入Mysql數(shù)據(jù)庫的管理密碼


然后我們在 mysql 數(shù)據(jù)庫中運行下面的一條指令;
mysql>GRANT select,insert,delete,update ON jabberd2.*  \
to jabberd2beinan@localhost IDENTIFIED by '123456';

注解: 其中jabberd2beinan 是jabberd2數(shù)據(jù)庫的管理員,這個可以自己定義;定義你自己喜歡的;其中123456是用戶 jabberd2beinan用戶的密碼; 如果沒有問題的話,我們從mysql退出后,就要吧用jabberd2beinan 用戶來連接Mysql服務器了;
[root@localhost tools] # mysql -ujabberd2beinan -p
Enter password: 在這里輸入jabberd2數(shù)據(jù)庫管理員jabberd2beinan的密碼;


mysql> show databases; 注:查看數(shù)據(jù)庫;
+----------+
| Database |
+----------+
| jabberd2 |
| test     |
+----------+
2 rows in set (0.00 sec)

mysql> quit



3.3、Jabber Server 的配置文件的修改; 以我的安裝和配置環(huán)境為準,我是安裝Jabber Server 在/opt/jabberd2目錄中;配置文件在 /opt/jabberd2/etc/目錄中;我們需要改的文件,有如下幾個; c2s.xml resolver.xml router-users.xml router.xml s2s.xml sm.xml 我只是簡單的說一下我的配置,不一定對,但能用得起來; 注意:所有192.168.1.4的IP都是我架Jabber Server 這臺機器的IP,您要根據(jù)自己的情況來進行改動; 3.31、c2s.xml 文件 第77行;
 
<id>localhost</id>
改為
<id>linuxsir</id>  

重要:這個是極為重要的,linuxsir是服務器的hostname,并且能被局域網(wǎng)每臺機器都能識別的,也就是我們前面所說要自己做DNS,或通過路由器來做解析;一般路由器都有這個功能;這個需要您自己來弄;
第81行;

<ip>0.0.0.0</ip>
改為
<ip>192.168.1.4</ip>
277和278行,是Mysql服務器認證的;
<!-- Database username and password -->
<user>jabberd2</user>
<pass>secret</pass>

改為:下面改動是根據(jù)您在Mysql數(shù)據(jù)庫jabberd2授權給你所設置的用戶名和密碼;

<!-- Database username and password -->
<user>jabberd2beinan</user>
<pass>123456</pass>



3.32、resolver.xml 文件 不做改動,默認就行;

3.33、router-users.xml 文件 不做改動;如果您要改動,其它文件也要改。這個文檔是簡單架設。沒有考慮的太多;大多是默認的配置; 我的建議是為了安全,你還是改一下用戶和密碼;也就是下面的;
    <name>jabberd</name>
    <secret>secret</secret>
把上面的改一改,最好改的比較安全一點;下面只是一個簡單的例子;
    <name>jabberd1234</name>
    <secret>654321</secret>
如果router-users.xml中做了改動其它文件中的如下內容也要改動;
<router>
    <!-- IP/port the router is waiting for connections on -->
    <ip>127.0.0.1</ip>            <!-- default: 127.0.0.1 -->
    <port>5347</port>             <!-- default: 5347 -->

    <!-- Username/password to authenticate as -->
    <user>jabberd</user>          <!-- default: jabberd -->
    <pass>secret</pass>           <!-- default: secret -->
也就是要改動上面的中的
    <!-- Username/password to authenticate as -->
    <user>jabberd1234</user>          <!-- default: jabberd -->
    <pass>654321</pass>           <!-- default: secret -->

3.34、router.xml 文件 不做改動,默認就好; 3.35、s2s.xml 文件 第77行;
    <ip>0.0.0.0</ip>
改為
    <ip>192.168.1.4</ip>



3.36、sm.xml 文件 第7行; 這是服務器hostname的設置,您所用的hostname要在局域網(wǎng)中被識別;這就涉及到DNS;現(xiàn)在路由器大多都有指定DNS的功能;這個需要您自己來弄;我的這臺機器在路由器上做了DNS后,被指定解析為linuxsir;
<id>localhost</id>
改為

<id>linuxsir</id>
第88、89行; 這兩行也是連接Mysql數(shù)據(jù)庫服務器;也要改動;
       <user>jabberd2</user>
       <pass>secret</pass>
改為
       <user>jabberd2beinan</user>
       <pass>123456</pass>



4、Jabber Server 啟動和管理; 我們在前面已經(jīng)添加了 jabber這個用戶,目的就是為了服務的安全性,讓這個用戶來添加和啟動Jabber Server; 當然我們要切換到jabber這個用戶,然后讓jabber這個用戶來啟動jabberd服務器;
[root@localhost ~] #su jabber
[jabber@localhost ~] $ /opt/jabberd2/bin/jabberd -D
這個Debug模式運行,如果有什么錯誤,就能顯示出來;如果不行,你就按幾下回車,看看是不是有錯誤發(fā)生。如果沒有,就Ctrl+C結束運行,然后轉為后臺運行;
[jabber@localhost ~] $ /opt/jabberd2/bin/jabberd&
[jabber@localhost ~] $ ps -aux |grep jabberd


jabber    7048 12.3  1.2  5072 3184 pts/0    R    05:33   0:00 perl -w -x /opt/jabberd2/bin/jabberd
jabber    7049  2.3  0.5  4656 1452 pts/0    S    05:33   0:00 /opt/jabberd2/bin/router -c /opt/jabberd2/etc/jabberd/router.xml
jabber    7050  0.6  0.4  4552 1252 pts/0    S    05:33   0:00 /opt/jabberd2/bin/resolver -c /opt/jabberd2/etc/jabberd/resolver.xml
jabber    7051  2.0  0.6  4796 1716 pts/0    S    05:33   0:00 /opt/jabberd2/bin/sm -c /opt/jabberd2/etc/jabberd/sm.xml
jabber    7052  0.6  0.5  4644 1340 pts/0    S    05:33   0:00 /opt/jabberd2/bin/s2s -c /opt/jabberd2/etc/jabberd/s2s.xml
jabber    7053  1.6  0.6  4752 1672 pts/0    S    05:33   0:00 /opt/jabberd2/bin/c2s -c /opt/jabberd2/etc/jabberd/c2s.xml
jabber    7055  0.0  0.2  2256  732 pts/0    R+   05:33   0:00 grep jabberd
說明: 第一行是后臺運行;第二行是查看是否jabberd已經(jīng)啟動起來了;如果出現(xiàn)類似上面的提示,這表示jabberd已經(jīng)運行;

5、Jabber 客戶端的應用; 5.1、Jabber 客戶端的選擇; 對于客戶端的選擇,您可以用gaim;也可能用其它的,我用的是gaim;請到 Jabber 客戶端: Jabber Clients 去找適合自己; 如果您想用gaim ,可以到 http://gaim.sourceforge.net 上去下載;Windows版本和Linux版本都有;如果您用的是Linux,各大發(fā)行版都有這個軟件包;安裝上就行了; 5.2、客戶機的DNS配置; 如果您是Linux,就得讓/etc/resolv.conf 有DNS主機的設置;比如我的設置是
nameserver 192.168.1.1
192.168.1.1 這行就是DNS服務器的,我用的是路由器,路由器我配置DNS的時候,用的就是這個地址; 如果您是用Windows,也得在網(wǎng)卡設置IP那個界面上,寫上這個吧;自己看著辦吧; 5.3、Jabber 客戶端之一Gaim的使用; Gaim使用就簡單了,我們可以通過Gaim來向局域網(wǎng)Jabber Server 申請ID; 第一步: 添加帳號; 點擊[帳號]=>添加=》 協(xié)議:選擇 Jabber
用戶名: 先隨便寫一個您喜歡的,比如我寫是的beinan
服務器:也就是我們前面設置的Jabber Server 那臺機器的hostname;我的機器是linuxsir;
資源:不用管他;
密碼:自己寫一個吧;因為沒有注冊呢;這個不是重要的;
別名:就是昵稱,比如大灰狼之類; 點擊[顯示主要選項] Jabber 選項 可用則使用TLS 這個要選中,其它兩個是 [強制舊SSL]和[允許不加密流上的純文本驗證],這兩個就不要選中了;l 端口:5222 連接服務器:就是Jabber Server所在機器的IP地址,我這臺機器是192.168.1.4 代理類型:不用改變,保持原來的狀態(tài)就行;[使用全局代理設置] 第二步 注冊帳號; 這些都添寫好了,再點擊[注冊]; 然后寫上用戶名和密碼;他會提示注冊成功; 第三步 修改帳戶 我們還得從頭再來,點擊[帳戶],然后選中您剛才注冊的成功的那個帳戶;點擊修改;就按前面所說的來修改;只是在[顯示主要選項]中的連接服務器改一改就 行了。因為這個是空的;要改為你自己服務器的IP地址就行了;我的服務器是192.168.1.4。我就改成了192.168.1.4; 至于Windows用戶的Gaim的使用同理; 6、一些疑問; 6.1、jabberd2能否和MSN、Yahoo Messager、ICQ等用戶對聊功能; 能的;但要安裝一些插件;在我看來這些插件有點難度。因為我測試過一些插件;但不能解決一些依賴關系;等解決了依賴關系,卻不能應用;錯誤是的。 http://www.jabber.org/software/components.shtml 6.2、jabberd2能否支持客戶端傳文件功能; 如果是默認安裝是不支持的,這也需要第三方插件;目前有三種方法吧;在jabber的主頁上說,如果想要實現(xiàn)相互傳文件功能,與客戶端有關;我測試了好多 種,但還是不行。psi據(jù)說是能行,我測試后也不行;可能依靠客戶端傳文件還是有點難度;蛟S不久就以解決? 如果通過服務器端解決呢?也是有可能的,有兩種方法;proxy65和定義apache dav模塊的辦法;apache dav模塊據(jù)說比較簡單。但我沒有試過。據(jù)有關洋人說,不太安全;proxy65的方法也有難度,他依賴太多的東西,比如python 、zope 、twist、pyopenssl ... ...多多;雖然也能解決依賴關系,但proxy65還是一樣運行不起來; 大家還是自己測試吧;寫這些東西只不是想讓新手走太多的路; 6.3、jabberd2能否讓支持語音或電話功能; 可能有這個成功案例,我沒有仔細看;但通過jabberd2文檔,我沒有看到,或許有第三方插件能解決;或許有點難度; 7、關于本文 本文是最簡單的Jabber 即時通訊服務器的架設;沒有太多的功能,當然安全機制也沒有考慮;高水平的文檔并不是我能寫的出來的,當然我也在努力寫一寫高水平的文檔,到現(xiàn)在還沒有這 個能力,所以只能期待高手出現(xiàn),或者期待自己某一天成為高手; 本文面向初學者; 8、參考文檔 《Jabberd 2 Installation and Administration Guide》 9、相關文檔
附件大小
jabberd-2.0s10.tar.gz754.7 千字節(jié)
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP