- 论坛徽章:
- 0
|
(1)安装erlang.下载otp_src_R11B-3.tar.gz文件,解压,命令tar xvzf otp_src_R11B-3.tar.gz ,cd otp_src_R11B-3,进入otp_src_R11B-3目录后依次执行1)./configure 2)make 3)make install 命令。
(2) 安装ejabberd.从下载ejabberd-1.1.3.tar文件,解压,命令tar xvf ejabberd-1.1.3.tar,
cd ejabberd-1.1.3,cd src进入src目录后依次执行1)./configure 2)make 3)make install 命令。
(3) 配置ejabberd。
1)所需的配置文件及目录。配置文件:/etc/ejabberd/ejabberd.cfg 日志目录:/var/log/ejabberd/ 域名文件:/root/.hosts.erlang(若没有手动创建) Cookie文件:/root/.erlang.cookie(若没有手动创建)。
2)修改ejabberd.cfg文件。%Hosts name 项中”localhost” 改成本机的域名如test.test.com。3)在/root/.hosts.erlang文件填入本机域名,如:test.test.com.(注意结尾要有“.”),设置服务器的cookie信息,随意设置,但是如配置集群,则需要各个服务器的cookie一致。如:TRHCGTSWFLCBVPMVJYYR。
3)启动ssl加密:
cd /etc/ejabberd
openssl req -new -x509 -newkey rsa:1024
-days 3650 -keyout privkey.pem -out server.pem
openssl rsa -in privkey.pem -out privkey.pem
cat privkey.pem >> server.pem
rm privkey.pem
Now edit your ejabberd.cfg file and specify the correct location of your
server.pem:
{listen, [{5222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper},
starttls, {certfile, "/etc/ejabberd/server.pem"}]},
{5223, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper},
ssl, {certfile, "/etc/ejabberd/server.pem"}]},
(4)启动ejabberd.
erl -pa /var/lib/ejabberd/ebin \
-name ejabberd@first\
-s ejabberd \
-ejabberd config \"/etc/ejabberd/ejabberd.cfg\" \
log_path
\"/var/log/ejabberd/ejabberd.log\" \
-sasl sasl_error_logger
\{file,\"/var/log/ejabberd/sasl.log\"\} \
-mnesia dir \"/var/lib/ejabberd/spool\"
(5)配置集群。(假设主服务器为域名first,次服务器域名为second)
1)second服务器上的/root/.erlang.cookie文件内容要与first上的一致。
2)second服务器上的ejabberd.cfg文件修改域名为
{hosts,
["second","first"]}
3)在second上运行erl -name ejabberd@second -mnesia extra_db_nodes "['ejabberd@first']" -s mnesia4)在second上检查共享是否成功。命令mnesia:info(). (注意要有“.” 才能执行)如出现running db nodes = [ejabberd@first,ejabberd@second就说明共享成功,在用nodes()验证是否与first相连。正确相连则显示ejabberd@first5)在second服务器上运行mnesia:change_table_copy_type(schema, node(), disc_copies). (注意有“.”才能运行)拷贝数据库表。6) mnesia:add_table_copy(acl,node(),disc_copies). (注意有“.”才能运行)拷贝acl表。7)退出q().(注意有“.”才能运行)8)在second重新启动ejabberd. erl -pa /var/lib/ejabberd/ebin \ -name ejabberd@second \ -s ejabberd \ -ejabberd config \"/etc/ejabberd/ejabberd.cfg\" \ log_path \"/var/log/ejabberd/ejabberd.log\" \ -sasl sasl_error_logger \{file,\"/var/log/ejabberd/sasl.log\"\}备注:用户实际操秩序更改服务器域名。
方法2:集群设置成同一个域名的
(1) 修改% Host name:时做如下修改{hosts, ["first(或者 second)","xxxx.xxxx.com"]}.其他服务器与此方法相同。
(2) 其他与上面的方法相同。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/36085/showart_446624.html |
|