现在聊天的软件越来越多了,类似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连接扩展的

下一步安装数据库;

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看一下,出现如下图所示信息

接着修改/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技术宅的博客

自己做QQ–后台搭建相关推荐

  1. javaweb增删改查实例_JavaWeb图像可视化管理系统之后台搭建(二)用户管理与增删改查(内含代码)...

    上一篇文章中,我们介绍了环境配置与后台设计,对于不了解的同学,可以看这个链接 CharlesDDDD:JavaWeb图像可视化管理系统之后台搭建(一)环境配置与后台设计​zhuanlan.zhihu. ...

  2. 【Re:从零开始的QQ机器人搭建】——基于go-cqhttp和python

    [Re:从零开始的QQ机器人搭建]-- 基于go-cqhttp 警告:小心智械危机( 前言 之前酷Q用的好好的,谁知道刚打完工会战不到2天tx就封了大部分机器人.所幸小部分有生力量保留了下来,必可活用 ...

  3. 一步步带你做vue后台管理框架(三)——登录功能

    系列教程<一步步带你做vue后台管理框架>第三课 github地址:vue-framework-wz 线上体验地址:立即体验 <一步步带你做vue后台管理框架>第一课:介绍框架 ...

  4. anddroid悬浮窗的手机QQ后台清理不掉的秘密

    问题来自于一篇文章:手机QQ后台为何清不掉?MIUI工程师:全靠1像素的页面保命 出于好奇,想知道这一像素到底是啥东西,用手机安全管家控制QQ的悬浮窗权限: 关闭QQ的悬浮窗权限,通过后台一键清理,重 ...

  5. 手机QQ后台清理不掉的秘密——anddroid悬浮窗

    问题来自于一篇文章:手机QQ后台为何清不掉?MIUIproject师:全靠1像素的页面保命 出于好奇,想知道这一像素究竟是啥东西,用手机安全管家控制QQ的悬浮窗权限: 关闭QQ的悬浮窗权限,通过后台一 ...

  6. 阎王爷让我给他做个后台管理系统(转)

    昨天,一个段子火了,996程序员做了一个梦,梦见自己见阎王爷了,阎王爷让他为生死簿做个后台管理系统. 究竟是怎么回事呢?W3Cschool又开了一个脑洞,脑补了事情的经过-- 为了应对地府管理危机,阎 ...

  7. 小程序js+django+服务器后台搭建流程总结(第五周学习记录)

    学习记录 这周的工作依然是做一些服务器的调试工作,但是为了方便这周末的展示,我打算把这段时间的所有后台搭建工作和对所有服务器的操作流程做一个系统的总结和归纳,方便学习记录与交流 一.微信小程序js部分 ...

  8. QQ18年,解密8亿月活的QQ后台服务接口隔离技术

    QQ18年 1999年2月10日,腾讯QQ横空出世.光阴荏苒,那个在你屏幕右下角频频闪动的企鹅已经度过了18个年头.随着QQ一同成长的你,还记得它最初的摸样吗? 1999年:腾讯QQ的前身OICQ诞生 ...

  9. java写的教育管理的项目_干货分享|推荐12款适合做Java后台管理系统的项目

    Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言.Java技术具有卓越的通用性.高效性.平台移植性和安全性,广泛应用于PC.数据中心.游戏控制台.科学超级计算机.移动电话和互联网,同时拥有 ...

最新文章

  1. spring boot2 修改默认json解析器Jackson为fastjson
  2. 如何制定一个高效的数据保护计划
  3. 修改 gcc 和 g++ 的默认版本
  4. 云计算实战系列五(Linux文件权限II)
  5. 华为大数据中心山西_任正非:华为愿与山西一道建立“煤矿人工智能创新实验室”...
  6. 寻找必败态——一类博弈问题的快速解法
  7. 编译自定义的主题theme
  8. 【note】Java程序设计基础第五版(上)
  9. python资料-Python资料汇总(建议收藏)
  10. php 实现顺序查找
  11. weblogic linux安装包下载,weblogic 8.1.6 for linux安装.doc
  12. Windows Phone能否第三极崛起
  13. 常见数据结构面试题(2022年最新版)
  14. surfacert能跑java么_不怕天气糟糕 出行全靠Surface来帮忙
  15. 2011-7-3北京李庄儿童医院看病记
  16. 渗透测试实验_安装Windows7旗舰版
  17. YS-LDV7语音识别模块使用手册
  18. 糖果游戏(齐大第十一届校赛)
  19. 前端开发者应该知道的 CSS 小技巧
  20. 积微——荀子《强国篇》,给每个职场人士推荐

热门文章

  1. C++ 系统宏定义 windows mac linux android ios
  2. 3、【债券策略】基于利差的债券多空策略(2021-12-27修改)
  3. window 2012 R2 忘记密码处理方案
  4. 有个程序员男朋友是什么样的体验
  5. 塞外风光,雁门雄关,古韵大同”塞北研学旅行团
  6. ubuntu16.04安装anaconda3并配置tensorflow(CPU)+sypder(亲测有效)
  7. 计算机9月21日二级试题,2016年9月计算机二级Access考前试题及答案
  8. signature=da0cbfb45ebebe4ea0118c0a20df185e,MS15-018:Internet Explorer 累积安全更新:2015 年 3 月 10 日...
  9. TUPE :重新思考语言预训练中的位置编码
  10. 关于蜂产品保健的一些介绍