Android

วิธีการปรับใช้ rocket.chat บน centos 7

How to install rocketchat on centos 7.8

How to install rocketchat on centos 7.8

สารบัญ:

Anonim

Rocket.Chat เป็นแพลตฟอร์มการสื่อสารของทีมที่สมบูรณ์ซึ่งเป็นทางเลือกของ Slack ที่โฮสต์โดยตนเอง มันถูกสร้างขึ้นด้วย Meteor และมีคุณสมบัติต่าง ๆ รวมถึงการช่วยเหลือสนทนาวิดีโอคอนเฟอเรนซ์การแชร์ไฟล์ข้อความเสียง API และอีกมากมาย

ในบทช่วยสอนนี้เราจะแสดงวิธีการติดตั้งและปรับใช้ Rocket.Chat บนเซิร์ฟเวอร์ CentOS 7 ที่มี Nginx เป็น SSL reverse proxy

ข้อกำหนดเบื้องต้น

ตรวจสอบให้แน่ใจว่าคุณได้ทำตามข้อกำหนดเบื้องต้นต่อไปนี้ก่อนที่จะดำเนินการกับบทช่วยสอนนี้:

  • เซิร์ฟเวอร์ CentOS 7 ตามข้อกำหนดของระบบ Rocket.Chat อย่างเป็นทางการคุณต้องมี RAM อย่างน้อย 1G คุณเข้าสู่ระบบในฐานะผู้ใช้ที่มีสิทธิ์ sudo คุณมีชื่อโดเมนที่ชี้ไปยังที่อยู่ IP ของเซิร์ฟเวอร์ของคุณ เราจะใช้ example.com คุณมี Nginx ติดตั้งอยู่หากไม่สามารถติดตั้งได้โดยทำตามบทช่วยสอนนี้และใบรับรอง SSL คุณสามารถสร้างฟรีจาก Let's Encrypt หรือซื้อจากผู้ให้บริการรายอื่น

ติดตั้งการพึ่งพา

ติดตั้งแพ็กเกจต่อไปนี้ซึ่งจำเป็นสำหรับการสร้างโมดูล npm ต้องการ:

sudo yum install epel-release curl GraphicsMagick gcc-c++

ถัดไปติดตั้ง Node.js และ npm โดยพิมพ์:

sudo yum install -y nodejs npm

ในขณะที่เขียนบทความนี้เวอร์ชั่น Node.js ที่แนะนำสำหรับ Rocket.Chat คือ Node.js v8.11.3

ใช้คำสั่งต่อไปนี้เพื่อติดตั้งยูทิลิตี้ n และเวอร์ชั่น Node.js ที่แนะนำ:

sudo npm install -g inherits n sudo n 8.11.3

MongoDB เป็นฐานข้อมูลเอกสาร NoSQL และมันถูกใช้โดย Rocket.Chat เป็นแหล่งข้อมูล Rocket.Chat แนะนำ MongoDB เวอร์ชั่น 3.6

เราจะติดตั้ง MongoDB โดยใช้ yum จากที่เก็บอย่างเป็นทางการของ MongoDB

เปิดโปรแกรมแก้ไขที่คุณเลือกและสร้างไฟล์ที่เก็บต่อไปนี้:

sudo nano /etc/yum.repos.d/mongodb-org.repo

วางเนื้อหาต่อไปนี้ลงในไฟล์:

/etc/yum.repos.d/mongodb-org.repo

name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

บันทึกไฟล์และปิดโปรแกรมแก้ไขข้อความของคุณ

ในการติดตั้ง MongoDB ให้รันคำสั่งต่อไปนี้:

sudo yum install mongodb-org

เมื่อการติดตั้งเสร็จสมบูรณ์ให้เปิดใช้งานและเริ่มบริการ MongoDB:

sudo systemctl start mongod sudo systemctl enable mongod

สร้างผู้ใช้ระบบใหม่

สร้างผู้ใช้และกลุ่มใหม่ซึ่งจะเรียกใช้อินสแตนซ์ Rocket.Chat ของเรา เพื่อความง่ายเราจะตั้งชื่อ rocket ผู้ใช้:

sudo useradd -m -U -r -d /opt/rocket rocket

เพิ่มผู้ใช้ nginx ไปยังกลุ่มผู้ใช้ใหม่และเปลี่ยนการอนุญาตไดเรกทอรี /opt/rocket เพื่อให้ Nginx สามารถเข้าถึงได้:

sudo usermod -a -G rocket nginx sudo chmod 750 /opt/rocket

การติดตั้ง Rocket.Chat

สลับไปที่ rocket ผู้ใช้โดยพิมพ์:

sudo su - rocket

ดาวน์โหลด Rocket เวอร์ชั่นล่าสุดที่เสถียรแชทด้วย curl:

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

เมื่อการดาวน์โหลดเสร็จสิ้นให้แตกไฟล์เก็บถาวรและเปลี่ยนชื่อไดเรกทอรีเป็น Rocket.Chat :

tar zxf rocket.chat.tgz mv bundle Rocket.Chat

เปลี่ยนเป็นไดเร็กทอรี Rocket.Chat/programs/server และติดตั้งแพ็กเกจ npm จำเป็น npm :

cd Rocket.Chat/programs/server npm install

ก่อนที่จะสร้างหน่วย systemd และตั้งค่าพร็อกซีย้อนกลับด้วย Nginx เป็นความคิดที่ดีที่จะทดสอบว่าการติดตั้งสำเร็จหรือไม่

โดยเริ่มจากการตั้งค่าตัวแปรสภาพแวดล้อมที่ต้องการ:

export PORT=3000 export ROOT_URL=http://example.com:3000/ export MONGO_URL=mongodb://localhost:27017/rocketchat

ถัดไปเปลี่ยนกลับเป็นไดเร็กทอรี Rocket.Chat และเริ่มต้นเซิร์ฟเวอร์ Rocket.Chat โดยออกคำสั่งต่อไปนี้:

cd../../ node main.js

หากไม่มีข้อผิดพลาดคุณควรเห็นผลลัพธ์ต่อไปนี้:

➔ +---------------------------------------------+ ➔ | SERVER RUNNING | ➔ +---------------------------------------------+ ➔ | | ➔ | Rocket.Chat Version: 0.71.1 | ➔ | NodeJS Version: 8.11.3 - x64 | ➔ | Platform: linux | ➔ | Process Port: 3000 | ➔ | Site URL: http://0.0.0.0:3000/ | ➔ | ReplicaSet OpLog: Disabled | ➔ | Commit Hash: e73dc78ffd | ➔ | Commit Branch: HEAD | ➔ | | ➔ +---------------------------------------------+

เมื่อถึงจุดนี้ Rocket.Chat ได้รับการติดตั้งบนเครื่อง CentOS 7 ของคุณ หยุดเซิร์ฟเวอร์ Rocket.Chat ด้วย CTRL+C และทำตามขั้นตอนต่อไป

สร้างหน่วย Systemd

หากต้องการรัน Rocket.Chat ในฐานะบริการให้สร้างไฟล์หน่วย rocketchat.service ในไดเร็กทอรี /etc/systemd/system/

sudo nano /etc/systemd/system/rocketchat.service วางเนื้อหาต่อไปนี้ลงในไฟล์: /etc/systemd/system/rocketchat.service

Description=Rocket.Chat server After=network.target nss-lookup.target mongod.target StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocket Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://example.com:3000/ PORT=3000 ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js WantedBy=multi-user.target

บันทึกและปิดไฟล์

แจ้ง systemd ว่าไฟล์หน่วยใหม่ถูกสร้างขึ้นและเริ่มบริการ Rocket.Chat โดยดำเนินการ:

sudo systemctl daemon-reload sudo systemctl start rocketchat

ตรวจสอบสถานะบริการด้วยคำสั่งต่อไปนี้:

sudo systemctl status rocketchat

ผลลัพธ์ควรมีลักษณะดังนี้:

● rocketchat.service - Rocket.Chat server Loaded: loaded (/etc/systemd/system/rocketchat.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2018-04-10 20:30:56 UTC; 8s ago Main PID: 32356 (node) CGroup: /system.slice/rocketchat.service └─32356 /usr/local/bin/node /opt/rocket/Rocket.Chat/main.js

หากไม่มีข้อผิดพลาดคุณสามารถเปิดใช้งานบริการ Rocket.Chat เพื่อเริ่มต้นโดยอัตโนมัติในเวลาบูต:

sudo systemctl enable rocketchat

ตั้งค่า reverse proxy ด้วย Nginx

ตอนนี้เราต้องสร้างบล็อกเซิร์ฟเวอร์ใหม่สำหรับการติดตั้ง Rocket.Chat ของเรา:

sudo nano /etc/nginx/conf.d/example.com.conf

วางเนื้อหาต่อไปนี้ลงในไฟล์:

/etc/nginx/conf.d/example.com.conf

upstream rocketchat_backend { server 127.0.0.1:3000; } server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.com-error.log; location / { proxy_pass http://rocketchat_backend/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; proxy_set_header X-Forward-Proto http; proxy_set_header X-Nginx-Proxy true; proxy_redirect off; } }

โหลดบริการ Nginx อีกครั้งเพื่อให้การเปลี่ยนแปลงมีผล:

sudo systemctl reload nginx

การกำหนดค่า Rocket.Chat

เปิดเบราว์เซอร์ของคุณและพิมพ์: http://chat.example.com

สมมติว่าการติดตั้งสำเร็จคุณจะได้รับตัวช่วยสร้างการตั้งค่า Rocket.Chat ซึ่งจะแนะนำคุณตลอดการตั้งค่าผู้ใช้ผู้ดูแลระบบคนแรกกำหนดค่าองค์กรของคุณและลงทะเบียนเซิร์ฟเวอร์ของคุณเพื่อรับการแจ้งเตือนแบบพุชและอื่น ๆ ฟรี

ส่วนแรกของตัวช่วยสร้างการตั้งค่าเริ่มต้นจะขอให้คุณตั้งค่าผู้ใช้ Admin ของคุณ:

คลิกที่ปุ่ม Go to your workspace แล้วคุณจะถูกนำไปยังแผงควบคุม Rocket.Chat ที่ลงชื่อเข้าใช้ในฐานะผู้ใช้ที่เป็นผู้ดูแลระบบ

ข้อสรุป

คุณได้ติดตั้ง Rocket.Chat สำเร็จบนเซิร์ฟเวอร์ CentOS 7 ของคุณ ตอนนี้คุณสามารถเริ่มใช้ Rocket.Chat เพื่อทำงานร่วมกับทีมของคุณแบ่งปันไฟล์และแชทแบบเรียลไทม์

rocketchat nodejs centos mongodb