標籤

4GL (1) 人才發展 (10) 人物 (3) 太陽能 (4) 心理 (3) 心靈 (10) 文學 (31) 生活常識 (14) 光學 (1) 名句 (10) 即時通訊軟體 (2) 奇狐 (2) 音樂 (2) 產業 (5) 郭語錄 (3) 無聊 (3) 統計 (4) 新聞 (1) 經濟學 (1) 經營管理 (42) 解析度 (1) 遊戲 (5) 電學 (1) 網管 (10) 廣告 (1) 數學 (1) 機率 (1) 雜趣 (1) 證券 (4) 證券期貨 (1) ABAP (15) AD (1) agentflow (4) AJAX (1) Android (1) AnyChart (1) Apache (14) BASIS (4) BDL (1) C# (1) Church (1) CIE (1) CO (38) Converter (1) cron (1) CSS (23) DMS (1) DVD (1) Eclipse (1) English (1) excel (5) Exchange (4) Failover (1) FI (57) File Transfer (1) Firefox (2) FM (2) fourjs (1) gladiatus (1) google (1) Google Maps API (2) grep (1) Grub (1) HR (2) html (23) HTS (8) IE (1) IE 8 (1) IIS (1) IMAP (3) Internet Explorer (1) java (3) JavaScript (22) jQuery (6) JSON (1) K3b (1) LED (3) Linux (112) Linux Mint (4) Load Balance (1) Microsoft (2) MIS (2) MM (51) MSSQL (1) MySQL (27) Network (1) NFS (1) Office (1) Oracle (125) Outlook (3) PDF (6) Perl (59) PHP (33) PL/SQL (1) PL/SQL Developer (1) PM (3) Postfix (2) postfwd (1) PostgreSQL (1) PP (50) python (1) QM (1) Red Hat (4) Reporting Service (28) ruby (11) SAP (234) scp (1) SD (16) sed (1) Selenium-WebDriver (5) shell (5) SQL (4) SQL server (8) SQuirreL SQL Client (1) SSH (2) SWOT (3) Symantec (2) T-SQL (7) Tera Term (2) tip (1) tiptop (22) Tomcat (6) Trouble Shooting (1) Tuning (5) Ubuntu (33) ufw (1) utf-8 (1) VIM (11) Virtual Machine (2) vnc (3) Web Service (2) wget (1) Windows (19) Windows (1) WM (6) youtube (1) yum (2)

2014年4月30日 星期三

Access denied for user 'root'@'localhost' (using password: NO)'

http://magicsun.pixnet.net/blog/post/25768313-mysqladmin%3A-connect-to-server-at-%27localhost%27-failed-%E8%99%95%E7%90%86

SUSE 10.3上裝完MYSQL
啟動時都正常,但要設定密碼時出現錯誤
SU103:/ # /etc/init.d/mysql start
Starting service MySQL                                               done
SU103:/ # mysqladmin -u root password 'xxxxxxxx'
mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user
'root'@'localhost' (using password: NO)'
處理方式如下
SU103:~ # service mysql stop
Shutting down service MySQL                                          done
SU103:~ # clear
SU103:~ # mysqld_safe --skip-grant-tables &[1] 19984
SU103:~ # nohup: ignoring input and redirecting stderr to stdout
Starting mysqld daemon with databases from /var/lib/mysql
SU103:~ # mysql -u root mysqlWelcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.45 SUSE MySQL RPM
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> UPDATE user SET Password=PASSWORD('xxxxxx') where USER='root';Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0
mysql> FLUSH PRIVILEGES;Query OK, 0 rows affected (0.00 sec)
mysql> quitBye
SU103:~ # /etc/init.d/mysql restartRestarting service MySQL
Shutting down service MySQL                                          done
Starting service MySQL                                               done
SU103:~ # mysql -u root -pEnter password:xxxxxxWelcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.45 SUSE MySQL RPM
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
打完收工~~~

2014年4月29日 星期二

Using mysql in Batch Mode

http://dev.mysql.com/doc/refman/5.0/en/batch-mode.html

3.5 Using mysql in Batch Mode

In the previous sections, you used mysql interactively to enter queries and view the results. You can also run mysql in batch mode. To do this, put the commands you want to run in a file, then tell mysql to read its input from the file:
shell> mysql < batch-file
If you are running mysql under Windows and have some special characters in the file that cause problems, you can do this:
C:\> mysql -e "source batch-file"
If you need to specify connection parameters on the command line, the command might look like this:
shell> mysql -h host -u user -p < batch-file
Enter password: ********
When you use mysql this way, you are creating a script file, then executing the script.
If you want the script to continue even if some of the statements in it produce errors, you should use the --force command-line option.
Why use a script? Here are a few reasons:
  • If you run a query repeatedly (say, every day or every week), making it a script enables you to avoid retyping it each time you execute it.
  • You can generate new queries from existing ones that are similar by copying and editing script files.
  • Batch mode can also be useful while you're developing a query, particularly for multiple-line commands or multiple-statement sequences of commands. If you make a mistake, you don't have to retype everything. Just edit your script to correct the error, then tell mysql to execute it again.
  • If you have a query that produces a lot of output, you can run the output through a pager rather than watching it scroll off the top of your screen:
    shell> mysql < batch-file | more
    
  • You can catch the output in a file for further processing:
    shell> mysql < batch-file > mysql.out
    
  • You can distribute your script to other people so that they can also run the commands.
  • Some situations do not allow for interactive use, for example, when you run a query from a cron job. In this case, you must use batch mode.
The default output format is different (more concise) when you run mysql in batch mode than when you use it interactively. For example, the output of SELECT DISTINCT species FROM pet looks like this when mysql is run interactively:
+---------+
| species |
+---------+
| bird    |
| cat     |
| dog     |
| hamster |
| snake   |
+---------+
In batch mode, the output looks like this instead:
species
bird
cat
dog
hamster
snake
If you want to get the interactive output format in batch mode, use mysql -t. To echo to the output the commands that are executed, use mysql -vvv.
You can also use scripts from the mysql prompt by using the source command or \. command:
mysql> source filename;
mysql> \. filename
See Section 4.5.1.5, “Executing SQL Statements from a Text File”, for more information.

Save MySQL query results into a text or CSV file

SELECT order_id,product_name,qty FROM orders
INTO OUTFILE '/tmp/orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

各大媒體投訴~爆料專線

http://www.asus.com/tw/zentalk/tw/forum/list?aid=24310

大家一起投訴吧  
各大媒體投訴~爆料專線
台灣壹週刊:http://twnext.atnext.com/
電 話:02-6601-9119 -6601-6699   
傳真機:02-6601-6094
地 址:台北市行愛路141巷48號
電 郵:
119@nextmedia.com.tw
蘋果日報:http://www.appledaily.com.tw/
電 話:0809-012-555
傳真機:0809-013-666
地 址:台北市行愛路141巷38號

獨家報導週刊:http://www.scoopweekly.com.tw/
電 話:02-2358-2101
電 郵:
service@scoopweekly.com.tw

中廣新聞網:
http://www.bcc.com.tw/
電 話:02-2501-9688
地 址:台北市松江路375號
電 郵:
news@mail.bcc.com.tw
News98新聞網:http://www.news98.com.tw/
電 話:02-8369-2698
電 郵:
news98@news98.com.tw

華視新聞:http://www.cts.com.tw/
電 話:0800-069-789
地 址:台北市光復南路100號
電 郵:
service@cts.com.tw

台視新聞:http://www.2cts.tv/
電 話:0800-011-515
地 址:台北市八德路3段10號
電 郵:
member@ttv.com.tw

台視全球資訊網:
http://www.ttv.com.tw/#top
電 郵:non
中視新聞:http://www.chinatv.com.tw/
電 話:0800-012-258
地 址:臺北市南港區重陽路120號

民視新聞:http://news.ftv.com.tw/
電 話:02-2570-2570
地 址:台北市八德路3段30號14樓
電 郵:
service@ftv.com.tw

聯合報:http://www.udnnews.com/
電 話:02-2768-1234(總機)
02-2760-1616(總機)
02-2768-9036(採訪中心)
02-2768-9297(地方新聞中心)
地 址:台北市忠孝東路4段555號
電 郵:
news@udn.com

中國時報:http://www.chinatimes.com/
電 話:02-2308-4117
地 址:台北市大理街132號
電 郵:
editorplan@mail.chinatimes.com.tw

台灣日報:http://www.taiwandaily.com.tw/
電 話:02-2391-9889
地 址:台北市信義路二段88號8樓
電 郵:
dailyjoe@ms4.hinet.net

南方快報:http://www.southnews.com.tw/
電 話:0929-094-755
電 郵:
kuochen@m4.is.net.tw

自由時報:http://www.libertytimes.com.tw/
電 話:02-2504-2828
FAX:02-2504-2212
02-2501-0636
02-2516-0817
地 址:台北市南京東路二段137號
電 郵:
public@libertytimes.com.tw

自由時報社址:台北市內湖區瑞光路399號自由廣場大樓 
電話:02-26562828

金門日報:http://www.kmdn.gov.tw/
電 話:082-332-374
FAX:082-331-995
地 址:金門縣金湖鎮成功村一號
電 郵:
L253rec@mail.kinmen.gov.tw

馬祖日報:http://www.matsu-news.gov.tw/
電 話:0836-252-11
FAX:0836-222-46
地 址:馬祖南竿鄉仁愛村馬祖日報社
電 郵:
mtnews@ms17.hinet.net

中天新聞:http://www.ctitv.com.tw/
電 話:02-6600-7766
地 址:台北市民權東路6段25號
電 郵:
service@ctitv.com.tw
中天的爆料專線是0939031031 如記者忙線中請留下您的姓名及電話以便回覆 

TVBS:http://www.tvbs.com.tw/
電 話:02-2357-9988
地 址:台北市八德路1段23號
電 郵:
service@tvbs.com.tw

東森新聞報:http://www.ettoday.com/
電 話:02-2361-8555
地 址:台北市忠孝西路1段4號14樓
電 郵:
service@ettoday.com

三立新聞:http://www.settv.net/
電 話:02-8780-0000
電 郵:
webcrew@mail.settv.com.tw

八大新聞:http://www.gtv.com.tw/
電 郵:gtvnews@exch.gtv.com.tw
地 址:台北市信義路四段281號11樓

年代新聞:http://www.eracom.com/

自由時報報料、申訴專線:080-9008899
自由時報報料、申訴傳真:080-9006667
爆料email:newstips@libertytimes.com.tw
自由時報電子新聞網:
www.libertytimes.com.tw
東森新聞爆料專線 02)23704432事項) :08000992467-11    0800-008-711http://www.npa.gov.tw/NPAGip/wSite/np?ctNode=11672&mp=1
蘋果日報爆料專線0809-012-555 
壹週刊爆料專線6601-9119
*24小時投訴爆料專線 ( 0809-012555 )傳真 ( 0809-013666 )
*商業廣告刊登專線 ( 0809-018588 )傳真 ( 02-66018866 )
*分類廣告刊登專線 ( 0800-588668 )傳真 ( 02-81777077 )
*訂報專線 ( 0800-302888 ) *總機專線 ( 02-66013456
1.年代 TVBS 及東風都是同一間大樓不同樓層:
台北市八德路一段23號( 1-5F是年代 東風的 10F是TVBS-NEWS)近光華商場的匯大大樓內 電話另附在下面
2.華視 台北市光復南路102號公司電話: (02) 2751-0321 (MRT國父紀念館2號出口)
3.公視 台北市內湖區康寧路三段75巷10號 02-26349122
4.中天 台北市內湖區民權東路六段25號客服專線:(02)6600-7766 
     02- 6606 7711 / 02- 2797 3070 / 02- 2792 3151

大 台北市信義路四段281號11樓電話: (02)2325-2606
6.台視 台北巿八德路三段10號. 電話: 0800- 011- 015 (客服) 02- 2518 1515 (新聞)
7.東森 北市100忠孝西路一段4號14樓電話: 0800- 019 – 333 (02)23618555 (台北車站旁)
8.民視 台北市八德路三段30號14樓 電話:02-25778080. 02- 2570 2570
9.中視 台北市重陽路120號 0800-003-006
10..緯來台北市內湖區瑞光路480號三樓 02-87972879
11.三立 台北市 內湖區 舊宗路一段159號1樓 02-87899999
TVBS  0226522208 TVBSNEWS 0223579988 /0223568961 年代 02333933383
中天 0266067711 0227973070 0227923151 台視0800011015(客服)0225181515(新聞)民視0225702570東森0800019333

2014年4月28日 星期一

簡單架設Jabber局域網即時通訊服務器

http://tc.wangchao.net.cn/bbs/detail_1476173.html

目錄
  1、什麽是jabber server;
  1.1、我們能否自己架設jabber server;
  1.2、jabber 應用範圍;
  2、jabber server的簡單架設,安裝篇;
  2.1、Jabber Server 測試架設環境和用戶認證環境;
  2.2、Jabber Server 版本的選擇;
  2.3、爲Jabber Server添加一個系統用戶,用來管理服務器的啓動等;
  2.4、編譯安裝Jabber Server所需要的軟件環境;
  2.5、解壓編譯安裝Jabber Server;
  3、jabber server的簡單配置;
  3.1、創建Jabber Server 進程存放目錄pid及日志存放目錄log;
  3.2、有關Mysql數據庫的操作;
  3.3、Jabber Server 的配置文件的修改;
  3.31、c2s.xml 文件
  3.32、resolver.xml 文件
  3.33、router-users.xml 文件
  3.34、router.xml 文件
  3.35、s2s.xml 文件
  3.36、sm.xml 文件
  4、Jabber Server 啓動和管理;
  5、Jabber 客戶端的應用;
  5.1、Jabber 客戶端的選擇;
  5.2、客戶機的DNS配置;
  5.3、Jabber 客戶端之一Gaim的使用;
  6、一些疑問;
  6.1、jabberd2能否和MSN、Yahoo Messager、ICQ等用戶對聊功能;
  6.2、jabberd2能否支持客戶端傳文件功能;
  6.3、jabberd2能否讓支持語音或電話功能;
  7、關于本文;
  8、參考文檔;
  9、相關文檔;
  1、什麽是jabber server;
   Jabber 是著名的 Linux 即時通訊服務服務器,它是一個自由開源軟件。什麽是即時通訊服務器呢?就是類似AIM,ICQ,MSN或Yahoo Message 類似的服務器;只是Jabber能讓我們自己架即時通訊服務器,可以在Internet上應用,也可以在局域網中應用;
  Jabber 最有優勢的就是他的通信協議。他可以和多種即時通訊對接。比如有第三方插件,能讓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 能在局域網中應用,當然也一樣架一台internet 的jabber server 爲您自己的用戶服務;服務器端支持幾乎所有的操作系統,從Linux、MACOS到Unix類的,同樣也支持Windows平台;客戶端也是一樣,無所不 包,無所不有... ...
  服務器端: Jabber Servers
  客戶端: Jabber Clients
  2、jabber server的簡單架設,安裝篇;
  我是在局域網中架設並測試的,而且功能也極爲簡單、安全性也沒有評測(或者說沒有安全性),就是簡單的注冊和相互通訊(聊天);
  2.1、Jabber Server 測試架設環境和用戶認證環境;
   Slackware 10.1 ,其實在哪個發行版都是一樣的,只要按官方文檔上面說的做,一般都會成功;好象沒有不成功的呢;我用的是mysql認證,也就是說用戶注冊和認證數據庫調 用的;當然jabber 支持多種認證,比如PostgreSQL、Berkeley DB ... ...
  因爲我不懂其它的認證方式,我對Mysql 也只是了解一點點;所以我就用了Mysql的方法;
   另外如果在局域網中架Jabber Server ,得有DNS服務器;也就是說局域網中的機器相互能通過hostname 來訪問;如果您不懂什麽是DNS,或者不會DNS 的架設。我感覺也沒有什麽,現在幾乎所有的路由器都有這個功能,點幾下鼠標就能弄得起來;如果你只一台機器,我看架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添加一個系統用戶,用來管理服務器的啓動等;
  一般的說來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所需要的軟件環境;
  在Linux中編譯安裝Jabber Server 需要編譯工具;比如gcc 之類的,如果您沒有編譯環境, 就要找出自己所用發行版的光盤,把這些安裝上;
  Jabber Server 依賴 openssl ,您也得安裝上;在您的Linux發版的安裝盤中也應該有;
  Jabber Server 依賴 Mysql ,因爲我們要用Mysql 存儲用戶資料;這個不可缺少吧;在發行版的光盤也有;
  libidn 這個軟件包也在各大發行版中有;自己找找看;也可以自己編譯安裝;
  參考文檔:《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、創建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可以寫數據到/opt/jabberd2/var及下級目錄;
  3.2、有關Mysql數據庫的操作;
  在我們的解壓編譯的Jabber Server 目錄中 jabberd-2.0s10 ,有一個目錄tools,裏面有一個文件db-setup.mysql,就是創建數據庫的腳本;
  首先我們得啓動Mysql 服務器;這個過程省略;
  然後我們導入 db-setup.mysql;
  [root@localhost jabberd-2.0s10] # cd tools
  [root@localhost tools] # mysql -uroot -p < db-setup.mysql
  Enter password: 在這裏輸入Mysql數據庫的管理密碼
  經過上一步,我們就導入了一個jabberd2的數據庫;下一步我們要進行授權;讓jabberd2 數據庫有一個專門的管理用戶;
  [root@localhost tools] # mysql -uroot -p
  Enter password: 注:在這裏輸入Mysql數據庫的管理密碼
  然後我們在 mysql 數據庫中運行下面的一條指令;
  mysql>GRANT select,insert,delete,update ON jabberd2.* to jabberd2beinan@localhost IDENTIFIED by '123456';
  注解: 其中jabberd2beinan 是jabberd2數據庫的管理員,這個可以自己定義;定義你自己喜歡的;其中123456是用戶 jabberd2beinan用戶的密碼;
  如果沒有問題的話,我們從mysql退出後,就要吧用jabberd2beinan 用戶來連接Mysql服務器了;
  [root@localhost tools] # mysql -ujabberd2beinan -p
  Enter password: 在這裏輸入jabberd2數據庫管理員jabberd2beinan的密碼;
  mysql> show databases; 注:查看數據庫;
  +----------+
  | Database |
  +----------+
  | jabberd2 |
  | test |
  +----------+
  2 rows in set (0.00 sec)
  mysql> quit
  3.3、Jabber Server 的配置文件的修改;
  以我的安裝和配置環境爲准,我是安裝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,您要根據自己的情況來進行改動;
  3.31、c2s.xml 文件
  第77行;
  localhost
  改爲
  linuxsir
  重要:這個是極爲重要的,linuxsir是服務器的hostname,並且能被局域網每台機器都能識別的,也就是我們前面所說要自己做DNS,或通過路由器來做解析;一般路由器都有這個功能;這個需要您自己來弄;
  第81行;
  0.0.0.0
  改爲
  192.168.1.4
  277和278行,是Mysql服務器認證的;
  jabberd2
  secret
  改爲:下面改動是根據您在Mysql數據庫jabberd2授權給你所設置的用戶名和密碼;
  jabberd2beinan
  123456
  3.32、resolver.xml 文件
  不做改動,默認就行;
  3.33、router-users.xml 文件
  不做改動;如果您要改動,其它文件也要改。這個文檔是簡單架設。沒有考慮的太多;大多是默認的配置;
  我的建議是爲了安全,你還是改一下用戶和密碼;也就是下面的;
  jabberd
  secret
  把上面的改一改,最好改的比較安全一點;下面只是一個簡單的例子;
  jabberd1234
  654321
  如果router-users.xml中做了改動其它文件中的如下內容也要改動;
  
  127.0.0.1
  5347
  
  jabberd
  secret
  
  也就是要改動上面的中的
  jabberd1234
  654321
  
  3.34、router.xml 文件
  不做改動,默認就好;
  3.35、s2s.xml 文件
  第77行;
  0.0.0.0
  改爲
  192.168.1.4
  3.36、sm.xml 文件
  第7行;
  這是服務器hostname的設置,您所用的hostname要在局域網中被識別;這就涉及到DNS;現在路由器大多都有指定DNS的功能;這個需要您自己來弄;我的這台機器在路由器上做了DNS後,被指定解析爲linuxsir;
  localhost
  改爲
  linuxsir
  第88、89行;
  這兩行也是連接Mysql數據庫服務器;也要改動;
  jabberd2
  secret
  改爲
  jabberd2beinan
  123456
  4、Jabber Server 啓動和管理;
  我們在前面已經添加了 jabber這個用戶,目的就是爲了服務的安全性,讓這個用戶來添加和啓動Jabber Server;
  當然我們要切換到jabber這個用戶,然後讓jabber這個用戶來啓動jabberd服務器;
  [root@localhost ~] #su jabber
  [jabber@localhost ~] $ /opt/jabberd2/bin/jabberd -D
  這個Debug模式運行,如果有什麽錯誤,就能顯示出來;如果不行,你就按幾下回車,看看是不是有錯誤發生。如果沒有,就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已經啓動起來了;如果出現類似上面的提示,這表示jabberd已經運行;
  5、Jabber 客戶端的應用;
  5.1、Jabber 客戶端的選擇;
  對于客戶端的選擇,您可以用gaim;也可能用其它的,我用的是gaim;請到 Jabber 客戶端: Jabber Clients 去找適合自己;
  如果您想用gaim ,可以到 http://gaim.sourceforge.net 上去下載;Windows版本和Linux版本都有;如果您用的是Linux,各大發行版都有這個軟件包;安裝上就行了;
  5.2、客戶機的DNS配置;
  如果您是Linux,就得讓/etc/resolv.conf 有DNS主機的設置;比如我的設置是
  nameserver 192.168.1.1
  192.168.1.1 這行就是DNS服務器的,我用的是路由器,路由器我配置DNS的時候,用的就是這個地址;
  如果您是用Windows,也得在網卡設置IP那個界面上,寫上這個吧;自己看著辦吧;
  5.3、Jabber 客戶端之一Gaim的使用;
  Gaim使用就簡單了,我們可以通過Gaim來向局域網Jabber Server 申請ID;
  第一步: 添加帳號;
  點擊[帳號]=>添加=》
  協議:選擇 Jabber
  用戶名: 先隨便寫一個您喜歡的,比如我寫是的beinan
  服務器:也就是我們前面設置的Jabber Server 那台機器的hostname;我的機器是linuxsir;
  資源:不用管他;
  密碼:自己寫一個吧;因爲沒有注冊呢;這個不是重要的;
  別名:就是昵稱,比如大灰狼之類;
  點擊[顯示主要選項]
  Jabber 選項
  可用則使用TLS 這個要選中,其它兩個是 [強制舊SSL]和[允許不加密流上的純文本驗證],這兩個就不要選中了;l
  端口:5222
  連接服務器:就是Jabber Server所在機器的IP地址,我這台機器是192.168.1.4
  代理類型:不用改變,保持原來的狀態就行;[使用全局代理設置]
  第二步 注冊帳號;
  這些都添寫好了,再點擊[注冊];
  然後寫上用戶名和密碼;他會提示注冊成功;
  第三步 修改帳戶
   我們還得從頭再來,點擊[帳戶],然後選中您剛才注冊的成功的那個帳戶;點擊修改;就按前面所說的來修改;只是在[顯示主要選項]中的連接服務器改一改 就行了。因爲這個是空的;要改爲你自己服務器的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的主頁上說,如果想要實現相互傳文件功能,與客戶端有關;我測試了好多種,但還是不行。psi據說是能行,我測試後也不行;可能依靠客戶端傳文件還是有點難度。或許不久就以解決?
   如果通過服務器端解決呢?也是有可能的,有兩種方法;proxy65和定義apache dav模塊的辦法;apache dav模塊據說比較簡單。但我沒有試過。據有關洋人說,不太安全;proxy65的方法也有難度,他依賴太多的東西,比如python 、zope 、twist、pyopenssl ... ...多多;雖然也能解決依賴關系,但proxy65還是一樣運行不起來;
  大家還是自己測試吧;寫這些東西只不是想讓新手走太多的路;
  6.3、jabberd2能否讓支持語音或電話功能;
  可能有這個成功案例,我沒有仔細看;但通過jabberd2文檔,我沒有看到,或許有第三方插件能解決;或許有點難度;
  7、關于本文
  本文是最簡單的Jabber 即時通訊服務器的架設;沒有太多的功能,當然安全機制也沒有考慮;高水平的文檔並不是我能寫的出來的,當然我也在努力寫一寫高水平的文檔,到現在還沒有這個能力,所以只能期待高手出現,或者期待自己某一天成爲高手;
  本文面向初學者;
  (王朝網路 wangchao.net.cn)

即時通軟體大閱兵 與 Jabber 伺服器架設

http://www.babyface2.com/LinuxGuide/IM/

即時通軟體大閱兵
與 Jabber 伺服器架設

作者:徐秉義(Albert Hsu)

生活在二十一世紀快節奏的現代,拜網路發達與 PC 普及之賜,使得傳統而單純 e-mail 傳遞已無法滿足人與人之間快速溝通的需求,取而代之的是「即時通訊」發展。這就好比現實社會中的「郵件」與「電話」,電話優勢在於『即時』,卻只能傳輸語 音與電子資料,而郵件卻可遞送文件與包裹,可是效率上則慢些,人們會依照需求,使用不同「媒介」來傳遞資訊;而「即時通訊軟體」將會成為電腦網路中的『市 話與手機』,正一步步影響到未來通訊業發展。

即時通軟體介紹

現今市面上存在著許多由不同廠商發展的即時通訊軟體,較知名像是「微軟 MSN 」、「 Yahoo 即時通 」、「 Skype 」、「 AIM 」與「 ICQ 」等等…接下來將一一介紹各家即時通與其特色,提供讀者參考:

Tips:即時通訊(Instant Messenger)簡稱「即時通」,可使兩人或多人透過網路收發即時訊息、檔案、語音或視訊。

MSN logo 微軟 MSN

這裡提到 MSN 主要是指「 MSN Messenger 」,使用一隻彩色蝴蝶作為標誌,結合「 hotmail.com 」電子郵件服務,優勢在於廣大 Windows 桌上型電腦皆內建其 Client 端軟體,使得用戶數量漸漸提昇。
網址 http://messenger.msn.com/

Yahoo logo Yahoo 即時通

Yahoo 即時通在台灣受到許多國小、國中學生歡迎,她的造型也相當可愛。
網址 http://tw.messenger.yahoo.com/

Skype Skype

強項在『即時語音』功能,在取代電話方面有著不錯的成績,國內由 PChome 代理銷售相關週邊產品。
網址 http://skype.pchome.com.tw/ 、 http://www.skype.com/

ICQ logo ICQ

老字號的即時通軟體,以一朵綠色小花作為 Logo ,帳號皆由數字所構成,早期在全世界(包括台灣)有不少用戶,可惜在中文化的部份常常需要些許調整,之後在各家即時通如雨後春筍般登場下,依然保有一定佔有率。
網址 http://www.icq.com/

AIM logo AOL AIM

由 AOL 提供的即時通訊軟體 AIM ,有相當多的美國用戶,帳戶數量相當大,若您有美國友人,會是一個不錯的溝通媒介。
網址 http://www.aim.com/

Note:AOL 是 American Online 的簡寫,網址 http://www.aol.com/

GoogleTalk logo GoogleTalk

搜尋引擎霸主 Google 也跨足即時通訊領域,在筆者完稿時還在 Beta 階段,GoogleTalk 特色之一是可以與 Jabber 帳號互通,此舉將會促使同業即時通跟進,其中又以「 MSN 」與「 Yahoo 即時通 」互通的消息為最大宗,將會在市場上掀起風波。
網址 http://www.google.com.tw/talk/

Jabber logo Jabber

Jabber 即時通,最大的特色是擬定『即時通訊協定』與開放式『即時通訊平台』,使得軟體廠商可以實做( implement ) Jabber Server 與 Jabber Client ,也因如此而使得其他廠商可與之互通, GoogleTalk 就是一個很好的例子。
網址 http://www.jabber.org/

YamQQ logo 蕃薯藤 YamQQ

YamQQ 是由中國大陸紅回台灣的即時通訊軟體,在台灣由蕃薯藤引進,以一隻可愛的企鵝作為 Logo。
網址 http://qq.yam.com/

NetaskIM logo Netask 即時通

台灣 力晶集團( PSC )企業中的世成科技,開發之群組軟體(Groupware)名為『Netask』,所內建即時通軟體。
網址 http://www.netask.com.tw/

進階學習:群組軟體(Groupware)簡介,此類型軟體主要是設計給特定群組(此群組很有可能是一間公司或是一個組織)所使用,使群組使用者之間的互動更加容易、更加快速有效率。

Groupwise logo Novell Groupwise

美國 Novell (網威)公司出品之群組軟體,所附的即時通軟體。
網址 http://www.novell.com/zh-tw/products/groupwise/

其他

還有「 Gadu-Gadu 」、「 IRC 聊天 」與「 Napster 」等等…

即時通軟體提供功能

繼 WWW 、 e-mail 後,風行於網際網路服務當屬「即時通」,即時通會這麼流行,必定有其迷人之處,針對即時通提供的功能,細說如下:

即時通訊

『即時通』一方面可得知聯絡人是否上線( presence ),並且訊息能快速傳遞到對方,這種便捷的特性,使得即時通在「效率」上,較 e-mail 來的有優勢。

檔案傳輸

在溝通之間,經常有機會分享彼此之間文檔、照片、圖片或是軟體套件,雖然也是可以借助其他軟體來做檔案傳輸,但整合到即時通更加方便,故即時通軟體常見到提供點對點( P2P )傳輸資料功能。

Note:點對點( peer-to-peer 簡稱 P2P ),指的是兩台主機互相溝通,不需透過伺服器,所以就沒有主從架構( Client / Server ),而是一種對等關係。

即時語音

有些朋友打字並不是那麼快速,無法很順暢的與朋友聊天、溝通,由於網路頻寬漸增、語音壓縮技術日漸純熟,使得我們可以拿起耳機與麥克風,使用即時通提供的語音功能,與遠端的朋友對話。

進階學習:透過網路即時語音,稱為 VoIP( Voice Over IP )。一般來說只要是 VoIP 通訊費少於電信費用,就會持續有取代的機會,只可惜 VoIP 有時會因為網路不順造成通話品質下降,俗話說:「一分錢一分貨」不是沒有道理的。

即時視訊

人類需求無限,已經可以對話就想說能不能見到遠方朋友,於是視訊需求就油然而生囉。

即時通軟體後續發展

即時通 Server 之間互通功能

在即時通發展初期,並未想到竟會如此盛行,直到現在各家即時通用戶數量大增,才漸漸感受到不同即時通系統之間通訊需求,狀況有如郵件伺服器(或是電 信業者)之間通訊,例如:郵件使用標準 SMTP ( Simple Mail Transfer Protocol )通訊方式,就如同 Jabber 使用 XMPP ( Extensible Messaging and Presence Protocol )來溝通主機之間資料。

進階學習:XMPP 主要是用來給即時通訊用的通訊協定( Protocol ),透過 XML 資料格式來傳遞彼此之間資料, Jabber 社群也就是這個 XMPP 幕後推手。

Tips:各家即時通訊軟體就好比手機的門號業者,例如:

使用者張三李四
電信業者cht logo中華電信TaiwanMobile logo台灣大哥大
即時通訊業者MSN logo 微軟 MSNYahoo logo Yahoo 即時通

較大差別在於電話打給「網外」朋友只是費用較貴,但大多數的即時通訊軟體現階段還不行與網外朋友互通,想聯絡只好去申請某家即時通帳號,造成每個人擁有好多家即時通帳號密碼的混亂情形,所以「互通」將會是未來趨勢。

im

電話節費

相信有許多公司或個人已經使用即時通訊或是 VoIP 來節省電話費用,現階段使用上也許未臻完美,但不失為一個不錯選擇。

單一簽入( Single Sign-On )

即時通必定有一組帳號密碼,若是能用在不同應用軟體(例如:瀏覽器)而存取不同應用程式,不需再次輸入通行密碼,甚是方便。

例如:MSN 與 Hotmail 結合應用、 Yahoo 即時通與 Yahoo Webmail 等等…

企業專用即時通主機

從郵件主機發展歷史來看,早期郵件皆依賴 ISP 郵件伺服器,中後期使用企業專屬郵件伺服器的情況;即時通訊主機也很有可能成為下一代通訊主力,會不會這樣發展下去主要是誘因使然,此誘因會與「自行架設 郵件主機」相當類似,不外乎是『通訊內容安全』、『企業管理方便』與『內部其他應用系統整合』有關。

Tips:本文下半段介紹 Jabber 伺服器安裝,可作為企業應用即時通伺服器的參考。

即時通客戶端軟體現況

即時通在客戶端大致上分兩類型:「整合型」與「專用型」,各有其優缺點
一般使用者大多使用「專用型」客戶端,例如:MSN 用 MSN Messenger、Skype 用 Skype Client 等等…
有些特別使用者會用「整合型」客戶端,例如:KDE 的 kopete、Gnome 的 Gaim 等等…

Windows

在 Windows 下大多是使用「專用型」客戶端軟體,導致使用者必須在不同即時通之間切換,幸好單一使用者同時使用很多家即時通訊情況並不多見。
若您想在 Windows 下使用「整合型」客戶端軟體,可選用 Miranda 或 Gaim 。

Note:您可以在 http://www.miranda-im.org/ 得知 Miranda 相關消息以及下載 Miranda , Miranda 只有提供 Windows 版本。

Note:您可以在 http://gaim.sourceforge.net/ 得知 Gaim 相關消息以及下載 Gaim , Gaim 的英文說明為「 A multi-protocol instant messaging (IM) client 」(一個多通訊協定即時通客戶端),也就是她能夠與不同通訊協定即時通伺服器溝通(例如:MSN 、 Yahoo 與 AIM ), Gaim 一直是以 Gnome 視窗為平台,運行於各家 Linux / Unix ,其後才開發運行在 Windows 版本的 Gaim 。

Gaim

圖為 Gaim 跑在 Windows 下的快照,可見到 Gaim 支援相當多即時通的通訊協定。

Linux

在 Linux 下運作客戶端軟體多屬於「整合型」,常見有「 Gaim 」與「 Kopete 」。
若使用 Gnome 桌面環境建議使用 Gaim 。
若使用 KDE 桌面環境建議使用 Kopete 。

Note:您可以在 http://kopete.kde.org/ 得知 Kopete 相關消息以及下載 Kopete。

Kopete

圖為 Kopete 跑在 Linux 下的快照,可見到 Kopete 亦支援相當多即時通的通訊協定。

Mac OS X

Mac OS X 的核心由 FreeBSD 改寫而來,所以算是 Unix 一份子,故大部分 Linux 能運行軟體皆提供 Mac OS X 版本,另外亦有 Mac 專用即時通軟體(例: adium )。

Note:您可以在 http://www.adiumx.com/ 得知 Adium 相關消息以及下載 Adium。

Adium

Jabber logo Jabber 即時通介紹

Jabber 使用一個可愛的燈泡當作 Logo ,在全球即時通市場算是小有知名度,只可惜在台灣聽過或用過 Jabber 即時通的網友並不多,其實 Jabber 在國外已有不少用戶,並且世界各國亦有許多 Public Server 提供 Jabber 服務,其特色如下:

Jabber 不只是即時通,而是一種開放的標準規格

大多數即時通使用自家特殊的通訊方式,且並不一定願意將此規格公諸於世,Jabber 則採開放規格方式,使用 XMPP 通訊協定透過串流( streaming )XML 格式技術傳遞資料。
各家廠商、組織,皆可遵循 Jabber 規格開發不同的 Jabber Client 與 Jabber Server 軟體,而無需受到專屬規格的限制與權利金支付問題。

進階學習:您可以在 http://www.jabber.org/ 瀏覽關於 Jabber 即時通與 XMPP 未來發展。

分散式的 Jabber Server

Jabber 架構有些部份參考 Mail Server ,尤其是 Server 與 Server 之間訊息傳遞,因為 Jabber 採用分散式( decentralized )架構,所以只要在 Internet 其中一台 Jabber Server 註冊取得您的 JID ( Jabber ID ),就可以加入 Internet 上的任何一個 JID 成為好友名單,並且送訊息給對方。(好比 foo@yahoo.com 寄信給 goo@hotmail.com )

Note:Public Jabber Server 名單可至 http://www.xmpp.net/ ,或由 Jabber Client 透過 Internet 下載取得,下圖為 Kopete 選擇 Jabber Server 快照。

Kopete choose

Jabber 擴充功能強大

任何人皆可以標準 Jabber 為基礎,開發更多延伸功能,像是網管、協同作業或檔案分享等等…

Jabber 注重資料安全

使用 Jabber 傳遞訊息時,可利用 SASL 或 TLS 安全機制來增加通訊安全,亦可以自行架設內部區網 Jabber Server 只提供企業內部使用。

Jabber 即時通伺服端介紹

在 http://www.jabber.org/software/servers.shtml 網頁中,列出已經實做出的 Jabber Server 軟體,版權宣告包括 GPL 或 Commercial、架設平台包括 Linux / Unix 或 Windows,本文介紹其中兩個『 jabberd 』與『 Wildfire 』(Wildfire 安裝與設定位於附錄)。

測試環境介紹

本文測試主機有兩台,一台 Linux 一台 Windows ,在此需注意到 Jabber Server 是 Name-Based ,所以 Server 「主機名稱」必需要能正確的解析到 Server IP ,否則會造成無法正常運作。

進階學習:解決主機名稱問題,一般長遠來看會使用「 DNS 」來解析,若只是短期測試可修改各自主機上「 hosts 」檔案來解析。

jabberd

jabberd 採用 GPL 版權宣告,主要有兩個版本 jabberd 1.4 ( jabberd14 )與 jabberd 2 ,另外值得一提的是,筆者現正使用的桌上型 Linux - SuSE 10 ,就內建 jabberd 2 ,底下就以 SuSE 10 為例,介紹如何架設 jabberd 2 :

Note:在此內建 jabberd 2 之 SuSE 10 必須是 Dual Layered (雙層)DVD 那版的安裝片,前期贈送 SuSE DVD 安裝片並未附贈,但讀者可以在 http://ftp.opensuse.org/pub/opensuse/distribution/SL-10.0-OSS/inst-source/suse/i586/jabberd-2.0s9-3.i586.rpm (總站)或 http://suse.mirrors.tds.net/pub/opensuse/distribution/SL-10.0-OSS/inst-source/suse/i586/jabberd-2.0s9-3.i586.rpm (映射站)找到這個套件包來安裝。

Note:在國內,可以在 http://ftp.isu.edu.tw/pub/Linux/SuSE/i386/10.0/iso/ 下載 SuSE 10 版本 ISO 映像檔。

第一步■安裝內建於 SuSE 10 的 jabberd 2
使用指令 yast2 啟動 SuSE 管理工具 YaST2 ,點選〔軟體管理〕呼叫出下圖介面,在左邊搜尋「 jabberd 」後,勾選中間上方方框再按右下方〔接受〕。

Note:您也可以使用「 yast2 -i jabberd 」指令來安裝,或是使用 rpm 配合 -ivh 安裝位於安裝光碟中的 jabberd rpm 檔案。
例如:rpm -ivh /media/dvdram/suse/x86_64/jabberd-2.0s9-3.x86_64.rpm

YaST
第二步■控制 jabberd 2 啟停並設定開機自動啟動 jabberd 2
使用指令「 rcjabberd restart 」來重新啟動 jabberd (稍後只要改到 jabberd 設定檔,就需要重新啟動 jabberd ),使用「 insserv jabberd 」來設定 jabberd 開機自動啟動。

Note:SuSE 的「 rcjabberd restart 」指令,也可以輸入成「 /etc/init.d/jabberd restart 」,這種方式與 RedHat 系列使用指令「 service jabberd restart 」類似(如果 RedHat 內建 jabberd 的話)。

Tips:SuSE 使用「 insserv jabberd 」設定開機自動啟動,若要開機不自動啟動則使用「 insserv -r jabberd 」,這種方式與 RedHat 系列使用指令「 chkconfig jabberd on 」或「 chkconfig jabberd off 」設定類似(如果 RedHat 內建 jabberd 的話)。

restart
第三步■修改 jabberd 2 設定檔中「主機名稱」部份
在下圖中,可看到 jabberd 設定檔皆位於 /etc/jabberd 目錄下,採用 XML 格式, jabberd 共有五個程式,分別為 c2s 、 resolver 、 router 、 s2s 、 sm 使用各自設定檔(副檔名為 .xml )並且各司其職。

Note:副檔名「 .dist 」是 distribution 預設值、「 .bak 」是筆者備份檔案 、「 .rpmsave 」則是因為安裝移除 rpm 檔時自動產生。

jabconf
首先改 c2s.xml ,這是 jabber client 連接 server 時用到,我們調整到的主要是「主機名稱」,找到第 77 行左右的「 <id>localhost</id> 」將「 localhost 」改成您的主機名稱,例如:『 r2-101.ol 」。

Tips:在圖中可見到 Server bind IP(預設:0.0.0.0 )代表 Server 聆聽所有介面來的連線,Port 號 5222 是 Jabber 預設聆聽埠號,其實這個檔案還有些參數可調整(例如:安全性),請自行參考 Jabberd 2 相關說明。

Note:XML 的註解方式為 <!-- --> 與 HTML 相同。

c2s
接著改 sm.xml ,這是 jabber 連線管理時用到,我們調整到的依然是「主機名稱」,找到第 8 行左右「 <id>localhost</id> 」將「 localhost 」改成您的主機名稱,例如:「 r2-101.ol 」。
sm
第四步■設定連接 MySQL Database 儲存資料
在 sm.xml 檔案中第 69 行左右,可以看出 jabberd 預設使用 MySQL 來儲存資料,其餘資訊如下:
使用本機( localhost )MySQL Database,預設連接埠( port ) 3306
資料庫名稱( dbname ) jabberd2
連接資料庫使用者名稱( user ) jabberd2
連接資料庫使用者密碼( pass ) secret

Tips:待會在設定 MySQL 資料庫時,會用到上述設定,尤其是「資料庫名稱」、「資料庫使用者名稱」與「連接資料庫使用者密碼」。

Note:筆者在此皆使用預設帳號密碼,若您要將主機架設在 Internet 上,請多注意安全性問題,避免使用預設帳號密碼。

mysqlsm
第五步■安裝 MySQL 並設定開機自動啟動 MySQL
在 SuSE 安裝 MySQL ,最方便還是使用 YaST2 管理工具中〔軟體管理〕來安裝,更簡單的方式可使用「 yast2 -i mysql 」就可以裝好 MySQL 資料庫。
接下來使用指令「 rcmysql restart 」來重新啟動 mysql,使用「 insserv mysql 」來設定 mysql 開機自動啟動。

進階學習:您可在 jabberd 2 設定檔中,發現 jabberd 2 支援不同資料庫(例如:MySQL 或 PostgreSQL )亦可使用 LDAP 認證。

mysqlsetup
第六步■下載 jabberd 2 原始碼,並將 jabberd 2 Database Schema 匯入 MySQL
因為 SuSE 並未提供(或是筆者沒找到) jabberd 2 的 Database Schema 供匯入,所以需要下載 jabberd 2 原始碼,在原始碼裡面提供各家 Database Schema 。
我們可以在「 http://jabberstudio.org/projects/jabberd2/releases/ 」下載到 jabberd 2 的原始碼,配合 SuSE 內建版本為 s9 所以下載「 jabberd-2.0s9.tar.gz 」這個檔案。
下載完成後,使用指令「 tar -zxvf jabberd-2.0s9.tar.gz 」解開,在解開目錄中有個 tools 資料夾下名為「 db-setup.mysql 」檔案就是 schema
接著使用指令「 mysql < jabberd-2.0s9/tools/db-setup.mysql 」將 schema 匯入 MySQL 。

Note:Database Schema 中文翻譯成「資料庫綱目」,主要是定義資料庫裡有那些表格名稱以及表格內欄位名稱、資料型態等等。

schema
第七步■設定 MySQL 使用者權限給 jabberd 2 程式使用
還記得在「第四步■設定連接 MySQL Database 儲存資料 」有看到連接 MySQL 相關資訊,現在要設定授權給「 jabberd2 」這個 MySQL 使用者(使用密碼為「 secret 」)透過本機( localhost )來使用「 jabberd2 」這個資料庫。
使用指令「 mysql 」連接到 MySQL 資料庫,接著使用指令「 GRANT ALL PRIVILEGES ON jabberd2.* TO jabberd2@'localhost' IDENTIFIED BY 'secret'; 」授權,使用指令「 quit; 」離開 MySQL 。

Note:若您一開始就想要修改 MySQL 密碼(或是 jabberd 管理員密碼),請詳讀 jabberd 2 說明文件後才來修改 jabberd 2 設定檔案(位於 /etc/jabberd2/ 下)。

進階學習:MySQL 預設值的帳號為「 root 」、沒有密碼,若想修改請參考『第五步■附圖』內文字(於 MySQL 第一次啟動時會顯示)或查詢 MySQL 相關文件,例如指令「 info mysql」。

grant
第八步■重新啟動 jabberd 2 並觀看行程是否運作正常
jabberd 2 有五支主程式,在 MySQL 還未設定正常前,並不會全部正常啟動,直到 MySQL 權限設定正確後,那五支程式才會運作正常。
下圖是重新啟動 jabberd 2 並使用指令
「 ps ax | egrep -w '(c2s|s2s|sm|resolver|router)' | grep xml 」觀看 jabberd 2 相關行程運作情形,到這一步 Server 端算是設定完成囉。
jabberdok

Jabber 即時通客戶端設定介紹

接下來是客戶端測試的部份,我們使用『 Kopete Under Linux 』與『 Gaim Under Windows 』來介紹該如何設定 Kopete 和 Gaim 與 jabber Server 連接。

Kopete Under Linux

第一步■安裝與啟動 Kopete
如果您是使用 KDE 當作預設桌面環境,Kopete 應該已經裝好了;若是使用 Gnome 當作預設桌面環境,Kopete 就不一定會裝好,可使用指令「 yast2 -i kopete 」輕輕鬆鬆裝好 Kopete 。啟動 Kopete 也不難,以 Gnome 為例,可以在【應用程式】功能表→【網際網路】→【交談】→【Kopete】找到啟動 Kopete 的選單,也可以直接使用指令「 kopete 」來啟動 Kopete 。
下圖為 kopete 第一次啟動的快照
kopete1st
第二步■設定 jabber 帳號
按下右上方〔 New ... 〕按鈕叫出 Add Account Wizard (新增帳號精靈)接著按下〔 Next 〕後,點選「 Jabber 」通訊協定後再按下〔 Next 〕
addaccount
第三步■點選「 Register New Account 」
register
第四步■在「Register New Jabber Account - Kopete 」對話盒輸入新增帳號相關資訊如下:
Jabber Server: r2-101.ol(自行架設的 Jabber Server )
Desired Jabber ID: al@r2-101.ol(希望使用的 JID )
Password:****** (密碼)
Repeat Password:****** (再輸入一次密碼)
接著按下〔 Register 〕按鈕,註冊成功後按下〔 Ok 〕按鈕,回到上一頁按下〔 Next 〕→〔 Finish 〕。

Note:若是點選〔 Choose 〕則可選擇 Public Jabber Server。

registernew
第五步■只要設定好帳號後(不論是 Jabber 還是其他通訊協定),都會在 Kopete 主程式視窗右下角產生小圖示,在小圖示上面按滑鼠右鍵→【 Online 】就可以登入。

Tips:可在透過 Kopete 主程式選單【 Settings 】→【 Configure Kopete ...】叫出設定畫面,來增加( New )不同的即時通帳號或設定 Kopete 。

al_at_r2-101

Gaim Under Windows

第一步■開啟瀏覽器連到「 http://gaim.sourceforge.net/downloads.php 」下載 Windows 版 gaim 安裝程式來安裝 Gaim 。

Tips:「 http://gaim.sourceforge.net/ 」是 Gaim 主網頁。

gaimdownload
第二步■執行下載的安裝程式,下圖以 gaim-1.5.0.exe 為例,執行後,大多是按下『 Enter 』或『下一步』來安裝 Gaim 。
installgaim
第三步■從【開始功能表】→【程式集】→【 Gaim 】→【 Gaim 】來啟動 Gaim 主程式
startgaim
第四步■在「新增帳號」對話盒中,輸入
帳號 foo
伺服器 r2-101.ol
並按下〔註冊〕按鈕,來到設定密碼畫面,設定好密碼按下〔註冊〕後,等待註冊成功,立即可以使用此帳號登入 Jabber Server 。

Note:Gaim 於填寫 Jabber 帳號欄位不需要填寫完整的 JID。

registergaim
第五步■後續可使用快速鍵『 ctrl + A 』或從 Gaim 主程式選單中點選【工具】→【帳號清單】來呼叫出「帳號清單」視窗,可用來控制「是否上線」、「自動登入」與「新增其他帳號」等等功能。
ctrla

Kopete 與 Gaim 「如何新增聯絡人」

在 Kopete 主程式選單中下拉【 File 】→【 Add Contact... 】來呼叫 Add Contact Wizard (新增聯絡人精靈),輸入好友的 JID 後,接下來就是互相給予認證即可。
newfriendk
在 Gaim 主程式選單中下拉【好友】→【新增好友】來呼叫「新增好友」對話盒,也一樣輸入好友的 JID 後,接下來也是互相給予認證即可。
newfriend

結語

介紹到此,算是完成 Jabberd 2 Server 與 Jabber Client ( Kopete 與 Gaim )基本介紹,讀者是否意猶未盡呢?若是真的要直接上線面對 Internet 挑戰,還是必須要好好閱讀相關文件,使您的 jabberd 2 Server 更加安全才是。

Tips:下圖為粗略抓取在 jabberd 2 設定檔中預設密碼設定位置(有與資料庫連接密碼與 jabber 程式之間溝通密碼),若要直接面對 Internet ,建議還是改成複雜一點的好。(但別影響到 jabberd 2 正常運作喔!)

chpw
其實 jabber 綜和不少電腦技術,但卻並不是非常複雜難懂,技術包括:網路通訊、程式設計、資料庫管理、XML 文件等等,並且採用開放規格,非常值得我們參考學習其中技術,更甚至創造出更有用處、更特別的規格或想法,說不定會成為下一個影響電腦產業的大事呢!

Note:附錄介紹 Wildfire 為 jabber 官方網站「 http://www.jabber.org/ 」推薦使用 jabber Server ,特色為「安裝容易」與「 Web-Based 」管控,有興趣的讀者可裝來試用看看,需要注意的是,若一台主機裝兩個 jabber Server 只能同一時間啟動一個喔!(因為 jabber Server 使用相同埠號,除非特別調整錯開,否則會衝突到)

附錄

Wildfire 安裝與設定

第一步■至「 http://www.jivesoftware.org/ 」下載 Wildfire (筆者以 Linux rpm 為例),檔案相當大(21 MB 左右),下載後使用指令「 rpm -ivh wildfire_2_5_0.rpm 」將她安裝起來。
wildfired
第二步■停用 jabberd 2 啟用 Wildfire
使用指令「 rcjabberd stop 」停用 jabberd 2 ,使用指令「 wildfire start 」啟用 Wildfire

Note:Wildfire 使用 java 會比較吃電腦資源。

Note:若之前沒啟動 jabberd 2 就不需停止 jabberd 2 。

wildfirestart
第三步■開啟瀏覽器輸入網址「 http://localhost:9090/ 」來連結到 Wildfire Web-Based 設定畫面,選擇語系後按下〔 Continue 〕按鈕。
wildfiresetup
第四步■在 Domain:欄位填入「 r2-101.ol 」接著下一步。
wildfiredomain
第五步■採用「 Standard Database Connection 」(標準資料庫連接)下一步。
wildfirestddb
第六步■在 Database Driver Presets: 選擇「 MySQL 」後,接著填入以下資訊:
Database URL: 「 jdbc:mysql://localhost:3306/wildfire 」(其中:wildfire 是資料庫名稱)
Username: 「 wilduser 」(其中:wilduser 是資料庫使用者名稱)
Password: 「 ******** 」(其中:******** 是資料庫使用者密碼)

Note:按下〔 Continue 〕按鈕前,請先正確授權 MySQL ,使用指令「 mysql 」連接到 MySQL 資料庫,接著使用指令「 CREATE DATABASE wildfire 」建立名稱為 wildfire 資料庫,使用指令「 GRANT ALL PRIVILEGES ON wildfire.* TO wilduser@'localhost' IDENTIFIED BY '12345678'; 」授權,使用指令「 quit; 」離開 MySQL 。

Note:因為出了一點狀況,故還是使用指令來匯入 MySQL schema ,指令為「 mysql wildfire < /opt/wildfire/resources/database/wildfire_mysql.sql 」

wildfirex
wildfiredbdetail
第七步■在此設定「 wildfire admin 密碼」以及「 email 」
wildfireadmin
第八步■完成並接著登入管理畫面
wildfirelogin
接下來 Wed 管理介面設定就交給讀者自行測試,並祝您使用愉快!

Note:本文中所提及各家公司企業、軟體及 Logo 皆是屬於各家公司企業的註冊商標。

Valid XHTML 1.0! Valid CSS! Get Firefox No .doc
Creative Commons License
This site is licensed under a Creative Commons Attribution 2.5 Taiwan License.