自己做QQ–后台搭建

现在聊天的软件越来越多了,类似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技术宅的博客

时间: 2024-11-01 09:52:20

自己做QQ–后台搭建的相关文章

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

系列教程<一步步带你做vue后台管理框架>第三课 github地址:vue-framework-wz 线上体验地址:立即体验 <一步步带你做vue后台管理框架>第一课:介绍框架 <一步步带你做vue后台管理框架>第二课:上手使用 认证又称"验证"."鉴权",是指通过一定的手段,完成对用户身份的确认.身份验证的方法有很多,基本上可分为:基于共享密钥的身份验证.基于生物学特征的身份验证和基于公开密钥加密算法的身份验证. 登录鉴权功能是

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

问题来自于一篇文章:手机QQ后台为何清不掉?MIUI工程师:全靠1像素的页面保命出于好奇,想知道这一像素到底是啥东西,用手机安全管家控制QQ的悬浮窗权限:关闭QQ的悬浮窗权限,通过后台一键清理,重新打开QQ,发现是从splash开始的:打开QQ的悬浮窗权限,一键清理后,打开QQ,发现是直接进入主界面的:说明一键清理未清理QQ,或者清理之后,QQ又自启动了.至于,是未被清理还是自启动,后面再探究一下,这里就说说这个一像素的悬浮窗. Button button = new Button(getApp

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

问题来自于一篇文章:手机QQ后台为何清不掉?MIUI工程师:全靠1像素的页面保命 出于好奇,想知道这一像素到底是啥东西,用手机安全管家控制QQ的悬浮窗权限: 关闭QQ的悬浮窗权限,通过后台一键清理,重新打开QQ,发现是从splash开始的: 打开QQ的悬浮窗权限,一键清理后,打开QQ,发现是直接进入主界面的:说明一键清理未清理QQ,或者清理之后,QQ又自启动了. 至于,是未被清理还是自启动,后面再探究一下,这里就说说这个一像素的悬浮窗. Button button = new Button(ge

一步步带你做vue后台管理框架(二)——上手使用

系列教程<一步步带你做vue后台管理框架>第二课 github地址:vue-framework-wz 线上体验地址:立即体验 闲扯再多不会用也没白搭,这节课我来带大家直接上手框架,体验到简单方便之后你就会爱上这个框架欲罢不能的. 首先跟所有的vue项目一样,两种方式,一种去项目github地址:vue-framework-wz上下载代码包到本地,或者使用 git clone https://github.com/herozhou/vue-framework-wz.git 无论哪种方式,只要我们

一步步带你做vue后台管理框架(一)——介绍框架

系列教程<一步步带你做vue后台管理框架>第一课 github地址:vue-framework-wz 线上体验地址:立即体验 在如今的科技公司中有很多前端的需求都是要写一个类似于后台管理框架,日常的工作中会有太多重复的内容加重我们程序员的工作,浪费我们的时间,导致不能早点下班回家吃饭. 普通程序员拿到一个项目总是会重新写,写路由花了两小时,写vuex花了两小时,写个Header组件花了1小时,侧边栏又要1小时,这样下来项目拿到手一天的时间都没真正去做项目的需求,再加上改bug,写css,准备工

css做的后台管理页面,不考虑ie8一下的

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>盒子模型</title> <style type="text/css"> * { margin:0; padding:0; } html, body { height:100%; width:100%; overflow:hidden; } .wrap { he

记一次微信公众号的开发与后台搭建

一.背景 刚入新公司不久,就碰见一个同事要离职,就交接了这个项目给我.同事的离职比较仓促,所以交接的也不是很好,这也是后面问题偏多的一个客观原因.项目如题所示,前端采用vue.js+node.js开发,后台采用c#开发接口,还需要开发一个c#的网站来展示数据.上一份工作做的是erp,用的是powerbuilder,所以这个项目还是涉及到比较多的生疏知识. 二.遇到的问题 1.微信测试环境搭建 微信的测试环境搭建还是比较麻烦的(对于新手来说),但是我回过头去看的时候,也不知道该写些什么,还是网上找

服务与控制界面(Activity)的交互---仿qq后台服务(一)

qq的后台服务,在我们按2下返回键,退出应用app后,消息来了,会突破锁屏,点亮屏幕,看见消息弹出框,后面可以进行一系列的操作.qq的服务是不会被360杀死的,是属于我们所说的流氓软件,会在后台偷跑流量的,只有用户手动在应用程序里面关闭才行的.我所写的demo,暂时不会有这个流氓软件的功能的,以后如果有业务需求,也许会加上的,关于屏幕解锁,不同的手机的解锁方式是不同的迷宫解锁,密码解锁...但是系统解锁都是可以解的.还有就是因为急着出版本,所以这一版本暂时没有突破锁屏过后的弹出框,这个功能在下一

《全栈营销之如何制作个人博客》之二:php环境安装及个人博客后台搭建 让你的博客跑起来

上一节我们讲了个人博客用什么开发语言,用什么CMS系统,从这一节我们就开始真正的干货,这一节我们讨论一下PHP环境的安装,及个人博客后台的搭建,让你的博客在正常的PHP环境中运行起来,你就可以进行后台的数据管理,添加,修改,删除什么的.我们开发这个博客,主要讲的是怎么快速开发一个个人博客,所以不会很系统的讲解PHP的基础知识,及thinkphp5框架的系统知识,当然在后面的模块开发中,用到细节知识点的时候,我也会讲给大家的. 一.php环境安装 这里为了节约时间,我们就不用单个安装php,apa