Teamtalk IM即时通讯系统部署(CentOS7+LNMP)

背景

最近有任务,要写一个聊天室系统,于是开始寻找开源的参考,看到很多人推荐Teamtalk这个蘑菇街开发并开源的IM系统。于是想部署运行一下,看看效果再开始学习源码和架构。但是服务器的部署算是难道我了,由于这个项目比较复杂,模块较多,还使用了很多开源的工具,所以部署过程需要编译安装很多部分,在不了解整个架构的情况下进行部署很容易出问题。虽然也提供了一键部署脚本,但是由于已经有几年没有人维护了,部署脚本里的很多内容已经失效,centos系统也有了更新,因此有很多问题,我试了很多次都没有成功,着实很浪费时间和精力。最后终于找到一个相对简单也可行的部署方案,这里记录一下。

部署方案

主要参考

部署参考https://dltech21.github.io/2018/04/13/%E6%90%AD%E5%BB%BATeamTalk%E6%9C%8D%E5%8A%A1%E5%99%A8/
主要参考了该链接的方案,使用LNMP一件部署脚本安装Nginx\mysql和php。省区逐个安装配置的麻烦。

问题记录

问题1

开始我使用了官方的仓库
但是在运行./build.sh version 1最后构建服务器的时候会编译报错


Linking CXX executable db_proxy_server /usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libmysqlclient_r.a(client_plugin.c.o): 
undefined reference to symbol 'dlclose@@GLIBC_2.2.5' //usr/lib64/libdl.so.2: error adding symbols: DSO missing from command line collect2: 错误:ld 返回 1

使用的系统环境为镜像CentOS-7-x86_64-DVD-2003.iso,带GUI的服务器方案。

解决1

改用教程里的仓库进行构建即可。

问题2

仅按照教程的方法部署完成后,在客户端输入服务器的IP不会出现php的后台管理系统,而是出现表示LNMP安装成功的界面,也就是说,im_web部分没有被部署成功。这个教程参考的开发者蓝狐的教程链接已经失效,好在我找到了它的网页镜像
从而找到了问题和解决方法。

解决2

前面的教程并没有部署php管理系统。只需要在安装前面的教程部署完毕后,再安装蓝狐的教程16.2修改php,将项目的php文件夹的内容拷贝并替换/home/wwwroot/default这个网站文件夹的内容即可,然后再按照16.3修改一下nginx.conf的配置文件即可。

你可能感兴趣的:(环境配置,Linux/Unix)