添加epel存储库并更新所有内容

yum -y install epel-release nano && yum -y update

使用mongodb存储库填充yum repo

vim /etc/yum.repos.d/mongodb.repo

将其粘贴到新文件中:

[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1

现在我们需要从yum安装我们的依赖关系:

yum install -y nodejs curl GraphicsMagick npm mongodb-org-server mongodb-org gcc-c++

现在我们已经安装了Node.js和npm,我们需要安装更多的依赖项:

npm install -g inherits n

推荐使用Rocket.Chat的Node.js版本是8.9.3。使用n我们将安装该版本:

n 8.9.3

安装Rocket.Chat

cd /opt

curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz
tar zxvf rocket.chat.tgz

mv bundle Rocket.Chat
cd Rocket.Chat/programs/server

npm install

cd ../..

您可以设置PORT,ROOT_URL和MONGO_URL:

export PORT=3000
export ROOT_URL=http://your-host-name.com-as-accessed-from-internet:3000/
export MONGO_URL=mongodb://localhost:27017/rocketchat

将3000替换为您选择的端口。

如果您选择使用端口80,则需要以root身份运行Rocket.Chat。

如果您没有配置DNS,请使用您的IP代替主机名。稍后可以在管理菜单中更改它。

Mongo
首先让Mongodb使用以下命令启动主机:

chkconfig mongod on

现在我们需要启动mongo:

systemctl start mongod

或为CentOs 6.X

/etc/init.d/mongod start

尝试安装
现在让我们做一个快速测试,看看在我们继续之前是否一切正常。

node main.js

若是报错请看文章底部

通过打开您最喜爱的网络浏览器并输入网址,浏览您的rocket-chat

http://your-host-name.com-as-accessed-from-internet:3000/

将your-host-name.com-as-accessible-from-internet替换为您在ROOT_URL中设置的服务器的IP地址或DNS主机名

现在你已连接:

  • 点击“注册新帐户”
  • 输入管理员的姓名,电子邮件和密码两次。对于我的例子,我输入了:

    • name = Admin
    • 电子邮件= admin @.COM
    • 密码= test1234
  • 点击提交
  • 系统会提示您选择一个用户名。我选择了管理员。
  • 点击使用此用户名继续。
  • 您现在应该以管理员身份登录您的新Rocket.Chat安装。

在你的终端中按Ctrl + C来停止Rocket.Chat。

自动启动Rocket.Chat
现在我们已经安装了所有的依赖关系,并且已经验证了Rocket.Chat的工作原理。我们需要配置Rocket.Chat作为服务启动。

首先我们创建服务文件:

vim /usr/lib/systemd/system/rocketchat.service

在它写:

 [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=root
 Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://your-host-name.com-as-accessed-from-internet:3000/ PORT=3000
 [Install]
 WantedBy=multi-user.target

注意:将Environment中的值替换为上面使用的值。

现在您可以运行以下命令启用此服务:

systemctl enable rocketchat.service

最后通过运行来启动它:

systemctl start rocketchat.service

升级
升级与安装Rocket.Chat非常相似
1.关机Rocket.Chat
2.转到这种情况下的安装文件夹: cd /opt/
3.删除或移动Rocket.Chat文件夹。
4.按照安装部分

执行node main.js时报错

错误1.version `CXXABI_1.3.8' not found (required by ragel)'
找到源码安装gcc的目录(gcc编译器最好还是源码安装)
先find出libstdc++.so.6

find / -name "libstdc++.so*"

进入libstdc++.so.6所在目录(我的是/usr/lib64)

cd /usr/lib64

删掉libstdc++.so.6这个软连接

rm -rf libstdc++.so.6

下载libstdc++.so.6.0.24并建立连接

wget https://img.zhaolog.com/run/jb/libstdc++.so.6.0.24
ln -s libstdc++.so.6.0.24 libstdc++.so.6 && ldconfig

查看:

strings /usr/lib64/libstdc++.so.6 | grep 'CXXABI' 

请输入图片描述

错误2./lib64/libc.so.6: version `GLIBC_2.18' not found (required by /lib64/libstdc++.so.6)
环境

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core)

注意, 以下操作只能保证在CentOS 7系统(且没有升级过glibc)上的可行性, 其他系统没有验证

升级

curl -O http://bbcbackup.oss-cn-shenzhen.aliyuncs.com/run/linux/glibc-2.18.tar.gz
tar zxf glibc-2.18.tar.gz 
cd glibc-2.18/
mkdir build
cd build/
../configure --prefix=/usr #注意了,别修改路径
make -j2
make install

升级目标完成

查看

strings /usr/lib64/libc.so.6 | grep ^GLIBC_
最后修改:2018 年 05 月 04 日 01 : 55 PM
如果觉得我的文章对你有用,请随意赞赏