自己做QQ–后台搭建

来源:互联网 发布:矩阵相似和合同的区别 编辑:程序博客网 时间:2024/05/24 07:34

现在聊天的软件越来越多了,类似QQ,微信,陌陌,层出不穷,这篇文章小编就大家演示一下如何搭建如何自己动手做一个QQ,是不是很狂野炫爆叼炸天,哈哈哈,至少装装X是可以的。废话不多说,开工。

小编先罗列一下用到的工具和平台

系统:阿里云ubuntu 12.04 64bit

软件:ejabberd 2.4

数据库: mysql

当然如果没有阿里云的孩子也不怕,本篇文章会教你如何在本地搭建(平台包括:mac,linux,windows)所需要的安装软件是ejabberd。简单介绍一下ejabberd。省的大家再去用某度。jabberd 是的 Jabber/XMPP 协议的即时通讯服务器,使用 GPLv2许可(自由和开放源码) ,基于 erlang/otp 开发。其它特性还包括, 跨平台,容错, clusterable和模块化。

开源免费,所以大家可以放心使用。

Screen Shot 2015-06-17 at 10.47.47 AM

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连接扩展的

 

下一步安装数据库;

sudo apt-get install mysql-server  mysql-client  libmysqlclient-dev          依旧so easy
安装mysql的过程中会配置密码等信息。
下一步便是有点麻烦的配置数据库,即把ejabberd的用户等聊天信息同步到数据库,
首先从https://github.com/processone/ejabberd/blob/master/sql/mysql.sql下载数据库初始化sql文件,放在某个目录下,比如/etc/ejabberd
这里这个文件需要手动下载,不能git下载,小编之前用git下载过来,发现与网页的内容完全不一样
然后终端登陆到数据库: mysql -u root -p

创建一个用户ejabberd

GRANT ALL ON ejabberd.* TO ‘ejabberd’@’localhost’IDENTIFIED BY ‘ejabberd’;

 

创建一个数据库

create database ejabberd;

 

使用前面那个mysql.sql文件创建初始表格

use ejabberd;

 

source mysql.sql      这里其实就是对数据库的表进行初始化。初始化完成之后。

show tables看一下,出现如下图所示信息

Screen Shot 2015-06-17 at 11.05.30 AM

接着修改/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, []},

如图

Screen Shot 2015-06-17 at 11.09.38 AM

终端: 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

注册完毕用户后,查看一下数据库(下图是小编注册的信息)

Screen Shot 2015-06-17 at 11.13.44 AM

使用web地址http://ip地址:5280/admin,登录即可开始进行服务器管理了

Screen Shot 2015-06-17 at 11.15.06 AM

 

mac和windows安装ejabberd比较简单,配置数据库同上

下一篇:自己做QQ——ios聊天客户端

转载请注明:http://www.goofyy.com/blog    goofyy技术宅的博客

0 0
原创粉丝点击