与 Linux 一起烹饪 - 跨平台?

作者:Marcel Gagné

毫无疑问,弗朗索瓦,我对您致力于开放的通信标准印象深刻,但这有点疯狂——倒不是说疯狂超出您的能力范围,我的朋友,但您正要超越自己。 烟雾信号? 在餐厅里? 是的,我意识到这是一种适用于短消息的古老通信形式,为了开源和开放标准,我愿意让您尝试很多事情,但我必须对餐厅里的火灾说不——除非您在制作法式焦糖布丁,当然可以。 此外,烟雾信号需要视线才能进行有意义的通信。 即使我可以允许,它在餐厅里也行不通。

什么? 您的即时通讯服务呢? 您答应过您的表兄弟姐妹要设置一些东西? 没问题,弗朗索瓦,我今晚的菜单上有一些可以很好地完成这项工作的东西。 现在,请赶快清理这个烂摊子。 我们的客人马上就要到了。 快点! 我看到他们正在走近了。

欢迎光临,我的朋友们,来到 马赛尔餐厅。 请原谅这里的混乱。 我忠实的侍者正在处理它。 与此同时,请找到您的餐桌,坐下并让自己舒适。 弗朗索瓦,您一完成,请下到酒窖,把今晚的葡萄酒拿上来。 我们有一箱 2007 年产自卢瓦尔河谷南翼的让-马克·罗杰桑塞尔莱卡约特长相思白葡萄酒。 这是一款很棒的中等酒体的白葡萄酒,我的朋友们,清爽,带有浓郁的柑橘味。 尽情享用!

当您到达时,弗朗索瓦和我正在讨论开放式即时通讯。 如果一项技术被大大小小的企业广泛接受构成了一项重要的技术,那么即时通讯现在就已经成熟了。 尽管即时通讯或简称 IM 非常适合休闲、始终在线的对话,但它已牢牢地进入了企业网络基础设施。 IM 使您能够通过进行简短、持续的对话,与您的同事、团队成员等保持联系。 而且,它对家人和朋友也很有好处。

马赛尔餐厅,我们坚信开源和开放协议,这种理念也延伸到即时通讯。 如果您使用过任何类型的即时通讯,您就会知道有很多提供商和许多协议——所有这些协议都使用专有的 标准。 然而,有一个真正的行业标准,称为 XMPP(可扩展消息传递和存在协议)。 它更广为人知的名称是 Jabber,并且被许多公司和组织使用。 (Jabber/XMPP 是 Google Talk 使用的协议。)

从商业角度来看,Jabber 应该是您明确的 IM 选择。 因为 Jabber 是一种开放协议,它不属于任何特定的人,因此没有一家公司在驱动它的命运。 您的业务不会被专有格式锁定。 Jabber 还使用分散式方法,因此系统更加健壮。 最棒的是,任何公司都可以运行自己的私有、安全、符合标准的 Jabber 即时通讯服务器,而软件成本几乎为零。 我最喜欢的 Jabber 服务器之一来自一家名为 Jive Software 的公司。 它被称为 Openfire,并且完全开放,并根据 GPL 发布。

启动并运行 Openfire Jabber 服务器首先要访问 Jive Software 的 Ignite Realtime 社区站点,网址为 www.igniterealtime.org。 单击“产品”,然后选择 Openfire Jabber 协作服务器链接(在撰写本文时,版本号为 3.6.4)。 Jive 和 Ignite Realtime 在该站点上列出了许多产品,所有这些产品都旨在实现协作和通信,但我在这里只关注 Openfire。 该软件包以 RPM 格式软件包以及 DEB 形式提供。 还有一个 tar.gz 捆绑包,它应该可以在 RPM 或 DEB 可能存在问题的环境中使用。 安装任何版本的软件包都很容易。 要安装 RPM 软件包,请键入以下内容

sudo rpm -i openfire_3.6.4-1.i386.rpm

如果您选择使用 Debian 软件包,您可以使用以下命令安装它

sudo dpkg -i openfire_3.6.4_all.deb

如果您需要使用 tar.gz 捆绑包,请将其解压缩到 /opt 目录中。 这也是 RPM 软件包的安装文件夹。 Openfire 文件和程序最终位于 /opt/Openfire 下。 RPM 软件包的一个优点是它附带 Java 运行时环境 (JRE)。 如果您选择(或需要使用)tar.gz 捆绑包,您还需要在您的系统上加载 1.6 Java RE 版本。 Java 当然可以从 java.sun.com 获得。 Debian(或 Ubuntu)用户也需要安装 Java JRE。 此外,关于 /opt 中所有内容的一切都不适用于 Debian 用户。

安装过程在现代系统上只需几秒钟。 您会看到一条小消息,上面写着“正在设置 Openfire”,然后是几条消息,告知您正在添加新用户(名为 Openfire)并且服务器正在启动。 大概就是这样。 安装的最后一部分,即配置服务器,是使用您的 Web 浏览器完成的。 服务器只需几秒钟即可初始化,安装程序会自动启动服务器。 当然,如果是新安装,还有更多步骤,这些步骤是通过您的 Web 浏览器完成的。 Openfire 服务器管理界面在端口 9090 上运行,因此请将您的浏览器指向以下地址:https://127.0.0.1:9090。

接下来是简短的问答设置会话。 系统会询问您的首选语言——选项包括法语、英语、德语、西班牙语和其他六种语言。 单击“继续”,然后输入服务器的完全限定域名以及它运行的端口。 9090 端口是默认端口,端口 9091 用于与服务器的安全连接。 除非您有充分的理由,否则接受这些默认值可能是有道理的。

下一个屏幕是数据库选择屏幕(图 1)。 Openfire 支持多种数据库架构,包括 PostgreSQL、MySQL、Oracle 等。 其中每一个都需要一些外部设置,但文档对此进行了很好的介绍。 如果您的需求不大,请选择 Openfire 附带的嵌入式 HSQLDB 数据库。

Cooking with Linux - Cross at Your Platform?

图 1. 安装步骤只有几个,其中最重要的是数据库设置。

对于许多人来说,内置数据库将足够满足适度的需求。 在更大的办公室环境中,或者如果您期望有许多用户,您应该使用其他数据库选项之一(图 2)。 仔细阅读每一行,因为您需要输入数据库名称、用户名和密码才能继续。

Cooking with Linux - Cross at Your Platform?

图 2. 除了内置数据库外,还支持几种流行的数据库格式。

接下来,选择在哪里存储您的用户配置文件。 您可以选择 Openfire 数据库(最简单的选择)、现有目录服务器(例如 LDAP 服务器)或 Jive 的 Clearspace 社交商业软件。 单击“继续”,现在是设置管理员帐户(巧妙地称为 admin)的时候了。 为管理员用户提供电子邮件地址和密码,然后单击“继续”。 恭喜! 您有一个正在运行的 Openfire XMPP(或 Jabber)服务器。 这是您最后一次看到设置屏幕。 从现在开始,当您单击 Web 服务器地址时,您将进入管理员登录屏幕。 要立即转到那里,请单击页面上的“登录到管理控制台”按钮。

关于程序的一个简短说明:如果您只是继续并单击该按钮,您可能会发现您无法立即通过管理控制台登录。 这是一个提示。 在执行任何其他操作之前,通过键入以下命令重新加载 Openfire 的配置/etc/init.d/Openfire restart.

此时,您实际上不必执行任何其他操作。 使用您选择的 Jabber 客户端,您可以创建一个帐户并开始使用服务器。 例如,使用 Pidgin(GNOME 多协议即时通讯客户端),您可以单击“帐户”以调出“管理帐户”对话框,然后单击“添加”按钮。 这将调出“添加帐户”窗口(图 3)。 从那里,从“协议”列表中选择“XMPP”,选择用户名,然后输入服务器的域名并选择密码。 现在,查看图 3 中显示的窗口底部。 有一个标记为“在此服务器上创建新帐户”的复选框。 务必选中该复选框。

Cooking with Linux - Cross at Your Platform?

图 3. 使用 Pidgin 设置 Jabber 帐户

当您单击“添加”按钮时,将出现另一个窗口,此窗口要求您验证来自 Openfire 服务器的 SSL 证书。 单击“接受”,将出现另一个窗口以确认您的注册。 输入您的身份验证信息(用户名、密码和电子邮件地址),然后单击“确定”。 服务器完成您的注册,您将收到一个注册成功的框。 单击“确定”,就这样了。 此时您将返回帐户列表屏幕,但未登录,因此单击“启用”按钮,您应该就可以开始构建您的好友列表了(图 4)。

Cooking with Linux - Cross at Your Platform?

图 4. 使用 Pidgin 登录是通过启用帐户管理器下的帐户来完成的。

在 KDE 领域,我们有 Kopete 多协议即时通讯客户端。 注册过程类似。 从 Kopete 主窗口中,单击“设置”,然后单击“配置”。 从配置窗口中,从左侧边栏中选择“帐户”,然后单击右侧的“添加帐户”。 您将看到一个窗口,要求您从众多即时通讯协议中选择一个。 在这种情况下,选择“Jabber”,然后单击“下一步”。 这会将您带到步骤二,帐户信息窗口,您可以在其中注册您的新帐户。 这里有四个选项卡,但此时您只需要关注“基本设置”。 以 username@your.jabberserver.dom 的格式输入 Jabber ID,选中“记住密码”复选框(假设您不想每次登录时都输入密码),然后输入密码。 现在,单击“注册新帐户”按钮。 将出现“注册新 Jabber 帐户”对话框(图 5)。

Cooking with Linux - Cross at Your Platform?

图 5. 使用 Kopete 设置 Jabber/XMPP 帐户

这里的所有内容都应正确填写。 确认密码,然后单击“注册”。 返回“帐户信息”窗口,单击“下一步”,然后单击“完成”以完成它。 您应该会自动登录到您的新 Jabber/XMPP 帐户并准备好聊天。 您不仅限于与此服务器上的用户聊天。 您可以与任何其他使用 Jabber IM 的人聊天,包括使用 Google Talk 的人。 一些企业应用程序甚至在其软件中包含 Jabber 服务器和聊天客户端。

默认情况下,访问是开放的,任何人都可以注册。 如果您正在运行私有企业服务器,这可能不是您想要做的。 保护访问是通过 Openfire 的管理 Web 界面完成的,该界面提供了一种管理 Openfire 所有功能的简便方法。

管理任务组织在选项卡系统之后,功能组织到主要类别中。 这些选项卡随后可以分解为子选项卡。 例如,要手动添加用户,请单击“用户/组”选项卡,然后从菜单中选择“创建新用户”,并将信息直接输入到 Web 表单中(图 6)。 您可以添加、修改或删除用户,将他们组织到组中等等。 “用户摘要”屏幕可以轻松检查用户的在线状态、他们是否已登录以及他们上次注销的时间。

Cooking with Linux - Cross at Your Platform?

图 6. 创建和修改用户也可以通过 Web 界面完成。

我一开始告诉您,默认情况下允许任何和所有用户注册帐户,这很好,但这可能不是您想要的。 要控制对某些 IP 地址(例如,局域网)的访问,或者是否允许公共注册,请单击“服务器”选项卡并选择“服务器设置”子选项卡。 接下来,从左侧菜单中选择“注册和登录”。 此页面允许您配置管理用户注册的规则(图 7)。

Cooking with Linux - Cross at Your Platform?

图 7. 定义用户可以(或不能)注册系统的规则。

对于您的即时通讯用户来说,看起来如此简单的东西实际上是一个相当复杂且功能极其强大的协作服务器。 管理员可以广泛控制 Openfire 的操作,从服务器到服务器的通信、消息审核策略、离线用户的消息处理(默认情况下存储)、私有数据存储、文件传输、安全设置(包括加密通信)等等。 Openfire 还可以通过插件系统提供添加的功能来扩展(图 8)。

Cooking with Linux - Cross at Your Platform?

图 8. 插件列表会让您感觉像个身处糖果店的孩子。

关于插件的酷之处在于,您可以即时在正在运行的服务器上安装它们。 有 Asterisk VoIP 集成、各种过滤器、电子邮件侦听器(在收到新消息时提醒用户)、实时基于 Web 的聊天响应系统(如客户支持站点上)、内容过滤器、SIP 电话插件、监控扩展等等。 要安装其他插件,请单击“可用插件”链接以查看有哪些插件可用。 每个插件都列出了对其功能的描述,因此您可以决定它是否是您需要的东西。 添加插件还会通过添加新选项卡来更改管理界面——您没有发疯,界面确实在您眼前发生变化。

然后,还有聊天室。 我们都喜欢群聊或会议,如果您愿意的话。 可以创建永久聊天室,用户可以在其中聚集进行一般会议或预定义的功能。 可以自定义房间以定义最大用户数、密码保护、公共与私有、用户可以在房间内做什么、房间是否经过审核、聊天历史记录量等等(图 9)。

Cooking with Linux - Cross at Your Platform?

图 9. Openfire 允许您创建自定义的永久聊天(或会议)室。

您可以根据管理员的 Jabber ID 定义管理员,指定谁可以创建新的聊天室、房间所有者、成员和被驱逐者。

记住,我的朋友们,免费和开放的协议、开放标准和开源是您应该考虑将 Jabber 用于您的即时通讯需求的原因。 此外,凭借像 Openfire 这样酷炫的开源产品,您的公司或组织的服务器实际上是在恳求您放弃专有的即时通讯废话,转而使用 Jabber/XMPP。 开放标准和开放协议意味着您不会被锁定在此或任何 Jabber 实现中。 这也意味着您的数据和您的消息将永远属于您,这在商业上很有意义。 嘿,这很有意义,就是这样。

好吧,我的朋友们,时钟正忙着提醒我们,打烊时间又到了。 既然您可以使用出色的即时通讯系统,即使我们今晚离开彼此很久之后,我们也可以保持联系。 但是,让我们不要急于离开。 还有更多的葡萄酒,我知道我忠实的侍者弗朗索瓦非常乐意在我们说再见之前最后一次为每个人斟满酒杯。 直到下次,请,我的朋友们,举起你们的酒杯,让我们一起为彼此的健康干杯。 祝您健康! 祝您好胃口!

资源

Kopete:kopete.kde.org

Ignite Realtime 上的 Openfire 服务器:www.igniterealtime.org/projects/openfire/index.jsp

Pidgin:www.pidgin.im

Marcel 的网站:marcelgagne.com

与 Linux 一起烹饪:cookingwithlinux.com

WFTL Bytes!:wftlbytes.com

Marcel Gagné 是一位屡获殊荣的作家,居住在安大略省滑铁卢。 他是 Addison-Wesley 出版的 迁移到 Linux 系列丛书的作者。 Marcel 还是一位飞行员、一位前 40 强唱片骑师,撰写科幻小说和奇幻小说,并且擅长折叠霸王龙折纸。 您可以通过电子邮件 marcel@marcelgagne.com 与他联系。 您可以从他的网站 marcelgagne.comcookingwithlinux.com 发现许多其他东西(包括很棒的葡萄酒链接)。

加载 Disqus 评论