Rocket.Chat in CentOS
This installation guide was tested in the following environment:

Rocket.Chat 1.0.2
OS: CentOS 7.6
Mongodb 4.0.9
NodeJS 8.11.4
Install necessary dependency packages
#---安装依赖包 Update package list and configure
yum to install the official MongoDB packages with the following yum repository file: #---配置repo源 sudo yum -y check-update cat << EOF | sudo tee -a /etc/yum.repos.d/mongodb-org-4.0.repo [mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc EOF Configure Node.js to be installed via package manager: #---配置node.js sudo yum install -y curl && curl -sL https://rpm.nodesource.com/setup_8.x | sudo bash - Install build tools, MongoDB, nodejs and graphicsmagick: #---安装mongondb,nodejs,graphicsmagick sudo yum install -y gcc-c++ make mongodb-org nodejs sudo yum install -y epel-release && sudo yum install -y GraphicsMagick Using npm install inherits and n, and the node version required by Rocket.Chat: #---使用NPM安装 inherits,n,以及指定版本 sudo npm install -g inherits n && sudo n 8.11.4 Install Rocket.Chat Download the latest Rocket.Chat version: #---安装rocket.chat curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz tar -xzf /tmp/rocket.chat.tgz -C /tmp Install (this guide uses /opt but feel free to choose a different directory): #---这里使用得opt目录,也可以是其他目录 cd /tmp/bundle/programs/server && npm install sudo mv /tmp/bundle /opt/Rocket.Chat Configure the Rocket.Chat service Add the rocketchat user, set the right permissions on the Rocket.Chat folder and create the Rocket.Chat service file: #---配置rocket.chat服务,包括:添加rocketchat 用户,设置文佳佳权限创建服务文件 sudo useradd -M rocketchat && sudo usermod -L rocketchat sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat cat << EOF |sudo tee -a /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=rocketchat Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 ROOT_URL=http://localhost:3000/ PORT=3000 [Install] WantedBy=multi-user.target EOF Open the Rocket.Chat service file just created (/usr/lib/systemd/system/rocketchat.service) using sudo and your favourite text editor, and change the ROOT_URL environmental variable to reflect the URL you want to use for accessing the server (optionally change MONGO_URL, MONGO_OPLOG_URL and PORT): #---打开服务文件,编辑改变ROOT_URL、MONGO_URL、MONGO_OPLOG_URL、PORT MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 ROOT_URL=http://your-host-name.com-as-accessed-from-internet:3000 PORT=3000 Setup storage engine and replication for MongoDB (mandatory for versions > 1), and enable and start MongoDB and Rocket.Chat: #---mongoDB设置存储引擎和replication,开机自启,启动数据库 sudo sed -i "s/^# engine:/ engine: mmapv1/" /etc/mongod.conf sudo sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf sudo systemctl enable mongod && sudo systemctl start mongod mongo --eval "printjson(rs.initiate())" sudo systemctl enable rocketchat && sudo systemctl start rocketchat Optional configurations
#---可选配置 Configure firewall rule Configure a HTTP reverse proxy to access Rocket.Chat server [Configure mongo access control] [Configure production values
for mongodb] Configure your Rocket.Chat server Open a web browser and access the configured ROOT_URL (http://your-host-name.com-as-accessed-from-internet:3000), follow the configuration steps to set an admin account and your organization and server info. ZLIB version problem Some users had experienced problems starting rocketchat server in CentOS because their zlib version is not compatible with rocket.chat. If you find an error message similar to the following in the logs: Exception in callback of async function: Error: /lib64/libz.so.1: version `ZLIB_1.2.9' not found Add this environmental variable in the Rocket.Chat service file (/usr/lib/systemd/system/rocketchat.service): Environment=LD_PRELOAD=/opt/Rocket.Chat/programs/server/npm/node_modules/sharp/vendor/lib/libz.so Github Contribute to this page on GitHub












posted @ 2019-09-29 09:15  乐章  阅读(4340)  评论(2编辑  收藏  举报