现在聊天的软件越来越多了,类似QQ,微信,陌陌,层出不穷,这篇文章小编就大家演示一下如何搭建如何自己动手做一个QQ,是不是很狂野炫爆叼炸天,哈哈哈,至少装装X是可以的。废话不多说,开工。
小编先罗列一下用到的工具和平台
系统:阿里云ubuntu 12.04 64bit
软件:ejabberd 2.4
数据库: mysql
当然如果没有阿里云的孩子也不怕,本篇文章会教你如何在本地搭建(平台包括:mac,linux,windows)所需要的安装软件是ejabberd。简单介绍一下ejabberd。省的大家再去用某度。jabberd 是的 Jabber/XMPP 协议的即时通讯服务器,使用 GPLv2许可(自由和开放源码) ,基于 erlang/otp 开发。其它特性还包括, 跨平台,容错, clusterable和模块化。
开源免费,所以大家可以放心使用。
OK。下面开始搭建。下载ejabberd。网站地址是https://www.process-one.net/en/ejabberd/downloads/ 根据自己需要选择对应的软件
先说一下阿里云如何搭建的
安装相对比较简单 : sudo apt-get install ejabberd (为毛感觉安装比window安装还傻,哈哈我大linux威武)
一键安装完成后,需要注意到两个文件,也是后面需要配置用的
/etc/ejabberd这里面有配置文件ejabberd.cfg
/usr/lib/ejabberd这里面有ebin目录,是后面放mysql连接扩展的
下一步安装数据库;
创建一个用户ejabberd
GRANT ALL ON ejabberd.* TO ‘ejabberd’@’localhost’IDENTIFIED BY ‘ejabberd’;
创建一个数据库
create database ejabberd;
使用前面那个mysql.sql文件创建初始表格
use ejabberd;
source mysql.sql 这里其实就是对数据库的表进行初始化。初始化完成之后。
show tables看一下,出现如下图所示信息
接着修改/etc/ejabberd/ejabberd.cfg
注释掉: {auth_method, internal}.
取消注释:{auth_method, odbc}.
取消注释并设置数据库名称和密码:
{odbc_server, {mysql, “localhost”, “ejabberd”, “ejabberd”, “ejabberd”}}.
修改模块如下:在原有模块名后面都增加_odbc
{mod_last_odbc, []},
{mod_offline_odbc, []},
{mod_privacy_odbc, []},
{mod_private_odbc, []},
{mod_pubsub_odbc, [ % requires mod_caps …
{mod_roster_odbc, []},
{mod_vcard_odbc, []},
如图
终端: ejabberdctl restart
这时候我们发现ejabberd服务启动失败,查看日志信息/var/log/ejabberd/ejabberd.log如下
=ERROR REPORT==== 2010-06-24 11:35:34 ===
C(<0.37.0>:ejabberd_check:63) : ejabberd is configured to use ‘mysql’, but the following Erlang modules are not installed: ‘[mysql,
mysql_auth,
mysql_conn,
mysql_recv]‘
=INFO REPORT==== 2010-06-24 11:35:34 ===
application: ejabberd
exited: {bad_return,{{ejabberd_app,start,[normal,[]]},
{‘EXIT’,database_module_missing}}}
type: temporary
原因是erlang缺少mysql模块,需要单独编译
那么从svn co https://svn.process-one.net/ejabberd-modules/mysql/trunk mysql
可以把需要的模块源码下载下来,主要是
mysql_recv.erl
mysql_conn.erl
mysql_auth.erl
mysql.hrl
mysql.erl
放到某个目录里面后分别使用erlc *.erl编译
可以得到几个文件
mysql.beam
mysql_auth.beam
mysql_conn.beam
mysql_recv.beam
把他们放到放到/usr/lib/ejabberd/ebin里面再次尝试重启ejabberd服务就搞定了
最后一步,配置管理员用户
ejabberdctl register admin [YourIPAddress] 123456
注册完毕用户后,查看一下数据库(下图是小编注册的信息)
使用web地址http://ip地址:5280/admin,登录即可开始进行服务器管理了
mac和windows安装ejabberd比较简单,配置数据库同上
下一篇:自己做QQ——ios聊天客户端
转载请注明:http://www.goofyy.com/blog goofyy技术宅的博客
原文地址:http://blog.csdn.net/u014406672/article/details/46531965