zoukankan      html  css  js  c++  java
  • RocketChat:开源聊天软件部署

    1. 简介

    RocketChat是一款优秀的开源聊天软件。支持各种平台,IOS、Android、Web、Mac、Windows以及Linux,安装部署简单,功能简单易用,目前部分功能还在完善当中,特别适合小公司自建聊天平台。项目开源地址 https://github.com/RocketChat,项目官方站点https://rocket.chat,这里将安装部署服务端的一些步骤分享给大家,希望对需要的小伙伴有所帮助。

    2. 服务端应用程序部署

    官方站点已经给出了各系统平台安装的详细步骤,这里就将Centos7的安装步骤贴过来。其他系统平台请参考https://rocket.chat/install

    img-w500

    2.1. 安装必要的依赖

    2.1.1. 配置官方mongodb的yum源

    该平台只使用一个第三方组件,就是mognodb。

    echo -e "[mongodb-org-3.6]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/3.6/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc" | sudo tee /etc/yum.repos.d/mongodb-org-3.6.repo
    

    2.1.2. 配置nodejs源

    sudo yum install -y curl && curl -sL https://rpm.nodesource.com/setup_8.x | sudo bash -
    

    2.1.3. 安装编译工具, MongoDB, nodejs 和 graphicsmagick

    sudo yum install -y gcc-c++ make mongodb-org nodejs  
    sudo yum install -y epel-release && sudo yum install -y GraphicsMagick  
    

    2.1.4. 使用npm 安装inherits,n和Rocket.Chat要求的node版本
    sudo npm install -g inherits n && sudo n 8.11.3

    2.2. 安装Rocket.Chat

    2.2.1. 下载最新的版本

    curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
    tar -xzf /tmp/rocket.chat.tgz -C /tmp
    

    2.2.2. 安装

    cd /tmp/bundle/programs/server && npm install
    sudo mv /tmp/bundle /opt/Rocket.Chat
    

    2.3. 配置Rocket.Chat服务

    2.3.1. 添加rocketchat用户,设置Rocket.Chat访问权限,并创建Rocket.Chat的服务文件

    sudo useradd -M rocketchat && sudo usermod -L rocketchat
    sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat
    echo -e "[Unit]
    Description=The Rocket.Chat server
    After=network.target remote-fs.target nss-lookup.target nginx.target mongod.target
    [Service]
    ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js
    StandardOutput=syslog
    StandardError=syslog
    SyslogIdentifier=rocketchat
    User=rocketchat
    Environment=LD_PRELOAD=/opt/Rocket.Chat/programs/server/npm/node_modules/sharp/vendor/lib/libz.so NODE_ENV=production MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://localhost:3000/ PORT=3000
    [Install]
    WantedBy=multi-user.target" | sudo tee /usr/lib/systemd/system/rocketchat.service
    

    2.3.2. 打开上述Rocket.Chat的服务文件,如果mongodb和主程序分开部署需更改如下配置中的MONGO_URL 和 PORT

    MONGO_URL=mongodb://localhost:27017/rocketchat
    

    2.3.3. 开启MongoDB 和 Rocket.Chat开机自启并请启动服务

    sudo systemctl enable mongod && sudo systemctl start mongod
    sudo systemctl enable rocketchat && sudo systemctl start rocketchat
    

    至此,可通过服务器IP加端口进行访问进行管理员的相关配置

    img-w500

    2.4. 可选配置

    2.4.1. 如果使用防火墙并不使用代理,需放行服务端口3000

    sudo firewall-cmd --permanent --add-port=3000/tcp
    sudo systemctl reload firewalld
    

    2.5. 配置使用https访问服务

    安装nginx服务,添加如下配置,需要替换域名和证书,然后启动服务

    cat >> /etc/nginx/conf.d/chat.glinux.top.conf << "EOF"
    server {
          listen 443;
          server_name chat.glinux.top;
          charset utf-8;
    
          ssl                         on;
          ssl_certificate             /etc/nginx/conf.d/glinux.pem;
          ssl_certificate_key         /etc/nginx/conf.d/glinux.key;
          ssl_session_timeout         5m;
          ssl_protocols               SSLv2 SSLv3 TLSv1 TLSv1.2;
          ssl_ciphers                 ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
          ssl_prefer_server_ciphers   on;
    
          client_max_body_size 10m;
          access_log           /var/log/nginx/chat.glinux.top-access.log;
          error_log            /var/log/nginx/chat.glinux.top-error.log;
    
    location ~ ^/.* {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host             $host;
        proxy_set_header X-Real-IP        $remote_addr;
        proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
    
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-Forward-Proto http;
        proxy_set_header X-Nginx-Proxy true;
        proxy_http_version 1.1;
    
        proxy_redirect off;
    	}
    }
    EOF
    

    3. 客户端说明

    各平台下载位置

    img-w500

    4. 注意事项

    • RocketChat服务启动比较慢,端口监听状态需等一会才会出现,请耐心等待
    • APP端注册用户时,会很缓慢,大约需要一分钟左右的时间,大概是服务器需要在mongodb中创建相关内容,请耐心等待
    • APP连接服务器时,如果服务器地址是非SSL,则会提示不安全,跳过即可,建议去阿里云申请一个免费证书,配合域名使用,方便易用
      img-w500

    5. 参考文档

  • 相关阅读:
    状压dp学习笔记
    dbcc log(转)
    日志分析 操作(转)
    Sql server 2005系统表详细说明
    c#读取并分析sqlServer据库日志(转)
    [POJ]1915 Knight Moves
    [JOY]1143 飘飘乎居士的约会
    [POJ]1164 The Castle
    win7注册ocx时出现对DllRegisterServer的调用失败,错误代码为0x80040200解决方案
    注册DLL、OCX的方法
  • 原文地址:https://www.cnblogs.com/William-Guozi/p/RocketChat.html
Copyright © 2011-2022 走看看