虚拟邮件和Jabber服务器(xmpp)与iRedMail和Ejabberd在Ubuntu 9.10

虚拟邮件和Jabber服务器(xmpp)与iRedMail和Ejabberd在Ubuntu 9.10上

iRedMail是一个外壳脚本,可让您在不到2分钟内快速部署全功能邮件解决方案。 自iRedMail 0.5以来,它支持CentOS 5.x,Debian 5.x,Ubuntu 8.04,9.04和9.10(i386和x86_64)。 iRedMail支持OpenLDAP和MySQL作为后端用于存储虚拟域和用户。

本教程将向您介绍如何将Ubuntu 9.10中的Ejabberd集成到iremail的ldap后端,密码将存储在ldap中,您可以通过webmail更改密码。

本教程基于Ubuntu 9.10,所以建议设置一个最小的Ubuntu 9.10系统,安装iredmail 0.60并选择openldap作为后端,如这些教程所示:

感谢yrjc2004的分享和帮助。

1安装Ejabberd

安装ejabberd:

apt-get install ejabberd

2找到cn = vmail密码

在iremail安装期间随机创建vmail密码。您可以在 /etc/postfix/ldap_virtual_mailbox_domains.cf中找到密码:
cat /etc/postfix/ldap_virtual_mailbox_domains.cf
bind_dn         = cn=vmail,dc=example,dc=com
bind_pw         = KxR6AAj2EutXjhcRcK2AHPWCqiA3Ym #cn=vmail password

3配置ejabberd

Ejabberd的配置文件用Erlang语法编写,这可能很难理解。 幸运的是,我们需要做出的修改是相对较小和直接的。 主ejabberd配置文件位于/etc/ejabberd/ejabberd.cfg 。 我们将依次涵盖每个相关选项。

在Erlang中,评论以符号开头。

编辑/etc/ejabberd/ejabberd.cfg

设置管理员和域名,现在我们将www@example.com设置为admin。

%% Admin user
{acl, admin, {user, "www", "example.com"}}.
%% Hostname
{hosts, ["example.com"]}.

注释行,Auth不使用内部。

%%{auth_method, internal}. 

在底部添加以下内容。

%%% Authenticate against LDAP.
{auth_method, ldap}.
{ldap_servers, ["127.0.0.1"]}.
%%% {ldap_encrypt, tls}.
{ldap_port, 389}.
{ldap_base, "o=domains,dc=example,dc=com"}.
{ldap_rootdn, "cn=vmail,dc=example,dc=com"}.
{ldap_password, "KxR6AAj2EutXjhcRcK2AHPWCqiA3Ym"}.  #cn=vmail password
%%% Enable both normal mail user and mail admin.
{ldap_filter, "(&(objectClass=mailUser)(accountStatus=active)(enabledService=jabber))"}.
{ldap_uids, [{"mail", "%u@%d"}]}.

启动ejabberd并检查状态:

# /etc/init.d/ejabberd start
Starting jabber server: ejabberd.
# ejabberdctl status
Node ejabberd@u910 is started. Status: started
ejabberd is running

4为邮件用户启用jabber服务

使用phpLDAPadmin或其他工具为现有邮件用户添加示例LDAP属性和值。

登录phpLDAPadmin:cn = manager,dc = example,dc = com


查找现有邮件用户www@example.com


为用户启用jabber服务www@example.com


5配置iptables

标准端口:

5222主客户端口
5223过时的安全jabber端口
5269服务器到服务器端口
5280网管
vi /etc/default/iptables
# http/https, smtp/smtps, pop3/pop3s, imap/imaps, ssh
-A INPUT -p tcp -m multiport --dport 80,443,25,465,110,995,143,993,587,465,22,5222,5223,5269,5280 -j ACCEPT # <-- Add 5222 5223 5269 5280

重新启动iptables服务:

/etc/init.d/iptables restart

6 Web Access管理控制台

现在您可以访问http://192.168.1.10:5280/admin/

以ejabberd web管理员身份登录; 我们将www@example.com设置为ejabberd服务器的管理员:

这是登录后的方式:

检查虚拟主机用户:

您无法在webadmin中创建用户。 如果要创建用户,则首先需要将用户添加到iRedAdmin中,然后在phpldapadmin中为该用户启用jabber服务。

如果要添加第二个虚拟域,首先需要在iRedAdmin中创建一个新的域,然后修改/etc/ejabberd/ejabberd.cfg

%% Hostname 
{hosts, ["example.com","test.com"]}. 
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏