Jabberd2:安装和管理指南
(→收集必需的信息) |
(→新建Jabber用户和组) |
||
第169行: | 第169行: | ||
===新建Jabber用户和组=== | ===新建Jabber用户和组=== | ||
+ | |||
+ | 你应该新建一个jabber用户和组来运行服务器: | ||
+ | |||
+ | '''P 参数: Jabber User and Group''' | ||
+ | |||
+ | 新建一个用于运行Jabberd(作为超级用户)的用户和组: | ||
+ | |||
+ | <source lang="bash"> | ||
+ | su | ||
+ | groupadd jabber | ||
+ | useradd -g jabber jabber | ||
+ | </source> | ||
+ | |||
+ | '''I 重要: 检查你的用户和组命令''' | ||
+ | |||
+ | 以上命令只是一个例子. 在你的系统中增加一个用户和组的命令和参数可能不同. 如果对这些命令有任何疑问请参考手册. | ||
+ | |||
===为PID's和Logs新建目录=== | ===为PID's和Logs新建目录=== | ||
===安装先决条件=== | ===安装先决条件=== |
2010年5月29日 (六) 08:37的版本
本文的英文原文来自 http://www.jabberdoc.org/jabberd_guide
Jabberd2安装和管理指南
目录 |
绪论
本文包括 Jabberd 2 服务器 (Jabberd) 的安装和管理指南 , 流行的基于Jabber协议的开源即时消息系统的最新版本. Jabber的目标是为客户端和客户端之间同步和异步的通讯提供一个XML协议, 尽管Jabber主要用于即时消息 (IM).
Jabberd 服务器是Jabberd协议原始的开源服务器实现, 并且留下了大部分流行的软件,无论是布署在公司或作为一个公开的 IM 服务. Jeremie Miller在1998年开始了Jabber项目,提供给所有的IM服务一个自由和开放的选择. Jabberd服务器继续成为Jabber项目的核心, 并且Jabberd 2相对于于使用更广泛的Jabberd 1.4服务器来说是成功者. Jabberd 2 是基于一个新体系结构的完整的新代码, 额外的功能,并更好地遵守了Jabber协议.
一个常见的消息协议的建立, 现在大家知道的XMPP (可扩展的消息和出席信息协议), 允许在Jabberd服务器之外新建更多的Jabber服务器实现. 这许多的开源项目中, 包含WP Jabber 和 ejabberd, 以及许多软件来自商业机构如 i3connect, Jabcast, Tipic 和 Jabber, Inc.
目的和范围
本文的作者打算提供一个完整的关于 jabberd 2 安装, 管理和开发的指南:
- 系统准备
- 服务器准备
- 服务器配置
- 体系结构概述
目标受众是那些希望在Unix或其某个变种安装和/或维护一个jabberd 2服务器的人. 因此, 本文仅覆盖了Unix操作系统上的Jabberd安装.
需要的背景知识
作者做了很多努力来制作这个手把手的指南; 然而, 还是假定读者对Unix 或 Linux 操作系统比较熟悉:
- 能使用Linux命令行控制台
- 熟悉文件系统,你的服务器将装在那里
- 熟悉一个文本编辑器, 如 vi, Nano 或 NEdit
- 基本的编辑 XML 文件的能力
假定读者基本熟练使用一个Jabber客户端. 另外, 假定读者熟悉硬件和软件, 例如防火墙, 路由器或调制解调器, 如果使用了这类硬件,jabber服务器将用来连接到互联网. 这些次要程序和设备的配置超出了本指南的范围.
如何使用本文档
本指南根据用户的使用来组织章节:
- 安装和配置 Jabberd 2 (2到4章)
- 一般的配置和管理任务 (5到6章)
- Jabberd 2配置文件概要 (7到12章)
- Jabber 2体系结构 (13章)
- Jabberd 快速指南 (附录A)
- Jabberd 2 常见问题(FAQ)
快速指南是为有经验的用户尽快运行而设计的. 详细的 Jabberd 2 安装指导开始于第二章,准备安装Jabberd2. 第5和第6章分别列出了常见的配置和管理任务, 剩下的章节提供了详细的配置信息.
本文使用的约定
本文主要是作为一个安装指南提供的, 因此, 使用了特定的约定来使安装对用户来说更容易. 以下出现的约定贯穿本指南的安装章节:
表 1.4. 本指南使用的文档约定
约定 | 名称 | 描述 |
---|---|---|
P | 参数 | 一个配置文件中关于你的特定安装的信息, 等等. |
C | 检查点 | 一个点,停止并检查你的安装 |
N | 注意 | 强调信息 |
I | 重要 | 重要的强调或警告 |
F | 必需的文件 | 完成这一步或下列步骤所需要的软件或特定文件 |
O | 可选步骤 | 这一步在大部分基本安装中不是必需的步骤 |
E | 外部系统 | 这一步可能需要在外部系统配置,如路由器 |
这些里面最有用的约定是参数"Parameters." 第2章开始于一个关于你的安装的信息(参数)的列表,在你的安装步骤中将需要用到它们. 你可以在开始安装Jabberd之前收集所有这些信息, 然后你可以在每一步显示了P的地方参考.
这个安装指南用编号来组织这些步骤,下级步骤. 鼓励用户把本指南当成一个检查列表来使用. 当一个步骤的所有下级步骤完成, 接着上级步骤本身也完成了. 注意一个 "可选步骤"的所有子 (下级步骤) 也是可选的. 注意 "可选步骤" 设计用来满足关于在哪个条件和/或下可选步骤应被执行的需求.
标为"外部系统"的步骤提供信息给用户,表示安装可能需要执行于一个jabberd之外的系统. 这些系统包括路由器, 防火墙, DNS服务器, 等等. "外部系统" 提示主要是信息提示而不是详尽的. 剩下的约定是不言自明的.
注意本指南列出的每个命令引用的一个命令都是进入了一个命令行提示或命令行提示shell, 例如 X-term 或 E-term. 也要注意在本文里, 术语 "Jabberd" 指的是 Jabberd 2 服务器, 除非特别声明. 术语 "Jabber" 指基于Jabber的系统或系统们, 而 "XMPP" 指Jabber系统运行的协议.
本文使用结构化的文本建立. 结构化的文本使用标准文本格式化约定, 例如 underscores, 来展示格式化的文本. 已经做了很多努力来让文本和HTML格式接近. 一个例外是,在文本版本中使用的 bang 字符 ("!") ,在HTML版本中是用来避免不想要的格式的. "Bangs" 出现在文本版本的一些行的开始, 而这些可能被忽略. 它们不显示在 HTML 版本中.
更多阅读
访问Jabber软件基金会 获得关于jabberd 2, jabber客户端, 和Jabber协议的最新新闻. Jabber Faq 回答关于Jabber的基本问题. 鼓励读者访问关于jabber管理的提问 Jadmin归档, 或订阅 Jadmin邮件列表得到最新的jabberd管理信息. Jabberd 2开发信息可以在Jabberd归档找到,或订阅Jabberd邮件列表.
也有许多好的关于Jabber的书. 注意以下的书关于jabberd 1.4的只是写于2003年:
- Jabberd Administration Guide for version 1.4
- Programming Jabber by D.J. Adams
- Instant Messaging for Java by Iain Shigeoka
- Jabber Programming by Stephen Lee and Terence Smelser
- Jabber Developer's Handbook from Sams Publishing
法律术语
Jabberd安装和管理指南的版权(2003)由Will Kamishlian and Robert Norris所有。
这项工作是根据创作共用许可署名,类似非商业性使用方式共享许可。要查看本许可协议,请访问 http://creativecommons.org/licenses/by-nc-sa/1.0/ 或发信到 Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
来源
Robert Norris, 主要的Jabberd 2开发者, 以及Jabberd List的发起人,为本文提供了技术信息.
准备安装Jabberd2
本章让你和你的系统准备好安装Jabberd 2:
本章的表 2.1. 列出了Jabberd 2安装需要的信息. 在这个点上收集这个信息是可选的; 然而, 现在完成这个表格将使安装更容易.
收集必需的信息
下表列出的信息是安装过程中需要的. 以下是每个参数提供的信息:
- 参数Parameter
- 必需的Required
- 章节Section
- 描述Description
- 你的信息Your Information
"Parameter" 是信息的名称部分. 贯穿整个指南, 特定的参数指向 P 约定. "Required 要么是 "Y" (yes), "N" (no), 要么是 可选的名称. 可选的名称指向这个参数需要的选项. 一些条目有建议的内容给"Your Information." 这些条目要么显示受限的选择要么显示缺省值. 这里给出了缺省值, 它们被用于本指南的例子.
对于最小安装, 完成所有必需的参数. 对于什么条件下需要可选的参数的更多信息, 详见参考章. "Description" 是一个简短描述. 再一次的, 详见参考章.
I Important: Table Contains Passwords
下表包含了密码. 如果你在下表写下了你的密码, 把本文(或页)存在一个安全的地方.
表 2.1. Jabberd2安装必需的信息
参数 | 必需的 | 章节 | 描述 | 你的信息 |
---|---|---|---|---|
Jabberd User and Group | Y | 2.2 | Linux(或其他OS)用户和组,将用于运行Jabberd | user: jabber group: jabber |
PID Directory | Y | 2.3 | Jabberd存储PID文件的目录 | /usr/local/var/jabberd/pid |
Log Directory | N | 2.3 | 用于Jabberd logs的目录. 如果在配置文件中不指定, 日志缺省存在syslog. | /usr/local/var/jabberd/log |
Authentication Package | Y | 2.4.3 3.3, | Jabberd验证管理使用的第三方包 | MySQL, PostgreSQL, Berkeley DB, OpenLDAP or PAM |
Data Storage Package | Y | 2.4.4 4.3 | 用于存储Jabberd数据的第三方包 | MySQL, PostgreSQL or Berkeley DB |
Data Directory | Berkeley DB | 4.1.1, 4.2.1, | 用于存储Berkeley DB数据文件的目录 | /usr/local/var/jabberd/db |
MySQL User and Password | MySQL | 3.5.2.2, 4.1.2, 4.2.2, | Jabberd用于连接MySQL的MySQL用户名和密码 | user: jabberd2 password: secret |
PostgreSQL User and Password | PostgreSQL | 3.5.3.1, 1 3, 4.2.3, | Jabberd用于连接PostgreSQL的PostgreSQL用户名和密码 | user: jabberd2 password: secret |
OpenLDAP Connection Settings | OpenLDAP | 2.5 | 用于你的OpenLDAP服务器连接设置: 指定LDAP服务器(或IP)的FQDN,端口,和LDAP使用的版本(要么v2要么v3) | |
OpenLDAP User and Password | OpenLDAP | 4.2.5 | 连接到你的OpenLDAP服务器的用户名和密码. 只有你的OpenLDAP服务器不允许匿名绑定(访问)时才需要 | |
OpenLDAP Query Settings | OpenLDAP | 4.2.5 | Base DN (识别名) 和 User ID 属性用于为OpenLDAP服务器建立查询. Base DN 可以要么是服务器的root DN 要么是一个可以在它那找到 User ID's 的 RDN (相对的识别名). | |
Hostname | Y | 4.4 | 你的安装了Jabberd服务器的主机名. 对于可从互联网访问的服务器, 看起来类似 somedomain.com | |
SSL Key Location | N | 5.3.1, 5.3.2 | OpenSSL证书文件的位置. 对于SSL加密通讯是必需的 | /usr/local/etc/jabberd/server.pem |
Router User and Password | N | 5.4 | 用于别的组件连接到Jabberd Router组件的用户名和密码 | user: jabberd2 password: secret |
新建Jabber用户和组
你应该新建一个jabber用户和组来运行服务器:
P 参数: Jabber User and Group
新建一个用于运行Jabberd(作为超级用户)的用户和组:
su groupadd jabber useradd -g jabber jabber
I 重要: 检查你的用户和组命令
以上命令只是一个例子. 在你的系统中增加一个用户和组的命令和参数可能不同. 如果对这些命令有任何疑问请参考手册.