Android

Cách triển khai rocket.chat trên centos 7

How to Install Rocket.Chat Server on CentOS 7

How to Install Rocket.Chat Server on CentOS 7

Mục lục:

Anonim

Rocket.Chat là một nền tảng giao tiếp nhóm hoàn chỉnh, một giải pháp thay thế Slack tự lưu trữ. Nó được xây dựng với Meteor và cung cấp các tính năng khác nhau bao gồm trò chuyện trợ giúp, hội nghị video, chia sẻ tệp, tin nhắn thoại, API, v.v.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và triển khai Rocket.Chat trên máy chủ CentOS 7 với Nginx làm proxy ngược SSL.

Điều kiện tiên quyết

Hãy chắc chắn rằng bạn đã đáp ứng các điều kiện tiên quyết sau đây trước khi tiếp tục với hướng dẫn này:

  • Máy chủ CentOS 7, theo yêu cầu hệ thống Rocket.Chat chính thức, bạn cần ít nhất 1G RAM. Bạn đã đăng nhập với tư cách người dùng có quyền sudo. Bạn có một tên miền trỏ đến địa chỉ IP máy chủ của bạn., chúng tôi sẽ sử dụng example.com . Bạn đã cài đặt Nginx, nếu không bạn có thể cài đặt nó bằng cách làm theo hướng dẫn này. Chứng chỉ SSL. Bạn có thể tạo một cái miễn phí từ Let Encrypt hoặc mua một cái từ nhà cung cấp khác.

Cài đặt phụ thuộc

Cài đặt các gói sau cần thiết để xây dựng các mô-đun npm cần thiết:

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

Tiếp theo, cài đặt Node.js npm bằng cách gõ:

sudo yum install -y nodejs npm

Tại thời điểm viết bài viết này, phiên bản Node.js được đề xuất cho Rocket.Chat là Node.js v8.11.3.

Ban hành các lệnh sau để cài đặt tiện ích n và phiên bản Node.js được đề xuất:

sudo npm install -g inherits n sudo n 8.11.3

MongoDB là một cơ sở dữ liệu định hướng tài liệu NoQuery và nó được Rocket.Chat sử dụng làm kho lưu trữ dữ liệu. Rocket.Chat đề xuất MongoDB phiên bản 3.6.

Chúng tôi sẽ cài đặt MongoDB bằng cách sử dụng yum từ kho lưu trữ MongoDB chính thức.

Mở trình soạn thảo bạn chọn và tạo tệp kho lưu trữ sau:

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

Dán nội dung sau vào tập tin:

/etc/yum.repose.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

Lưu tệp và đóng trình soạn thảo văn bản của bạn.

Để cài đặt MongoDB, hãy chạy lệnh sau:

sudo yum install mongodb-org

Sau khi cài đặt hoàn tất, hãy bật và khởi động dịch vụ MongoDB:

sudo systemctl start mongod sudo systemctl enable mongod

Tạo người dùng hệ thống mới

Tạo một người dùng và nhóm mới, sẽ chạy phiên bản Rocket.Chat của chúng tôi. Để đơn giản, chúng tôi sẽ đặt tên cho rocket người dùng:

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

Thêm người dùng nginx vào nhóm người dùng mới và thay đổi quyền truy cập thư mục /opt/rocket để Nginx có thể truy cập:

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

Cài đặt Rocket.Chat

Chuyển sang rocket người dùng bằng cách gõ:

sudo su - rocket

Tải xuống phiên bản ổn định mới nhất của Rocket.Chat với curl:

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

Khi quá trình tải xuống hoàn tất, giải nén tệp lưu trữ và đổi tên thư mục thành Rocket.Chat :

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

Thay đổi vào thư mục Rocket.Chat/programs/server và cài đặt tất cả các gói npm cần thiết:

cd Rocket.Chat/programs/server npm install

Trước khi tạo đơn vị systemd và thiết lập proxy ngược với Nginx, bạn nên kiểm tra xem cài đặt có thành công hay không.

Để làm như vậy, hãy bắt đầu bằng cách đặt các biến môi trường cần thiết:

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

Tiếp theo, thay đổi trở lại vào thư mục Rocket.Chat và khởi động máy chủ Rocket.Chat bằng cách ban hành các lệnh sau:

cd../../ node main.js

Nếu không có lỗi, bạn sẽ thấy đầu ra sau:

➔ +---------------------------------------------+ ➔ | 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 | ➔ | | ➔ +---------------------------------------------+

Tại thời điểm này, Rocket.Chat được cài đặt trên máy CentOS 7 của bạn. Dừng máy chủ Rocket.Chat bằng CTRL+C và tiếp tục các bước tiếp theo.

Tạo một đơn vị Systemd

Để chạy Rocket.Chat dưới dạng dịch vụ, hãy tạo tệp đơn vị rocketchat.service trong thư mục /etc/systemd/system/ :

sudo nano /etc/systemd/system/rocketchat.service Dán nội dung sau vào tệp: /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

Lưu và đóng tập tin.

Thông báo cho systemd rằng một tệp đơn vị mới đã được tạo và khởi động dịch vụ Rocket.Chat bằng cách thực thi:

sudo systemctl daemon-reload sudo systemctl start rocketchat

Kiểm tra trạng thái dịch vụ bằng lệnh sau:

sudo systemctl status rocketchat

Đầu ra sẽ trông giống như thế này:

● 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

Nếu không có lỗi, bạn có thể kích hoạt dịch vụ Rocket.Chat để tự động khởi động khi khởi động:

sudo systemctl enable rocketchat

Thiết lập proxy ngược với Nginx

Bây giờ chúng tôi cần tạo một khối máy chủ mới để cài đặt Rocket.Chat:

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

Dán nội dung sau vào tập tin:

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

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; } }

Tải lại dịch vụ Nginx để các thay đổi có hiệu lực:

sudo systemctl reload nginx

Cấu hình Rocket.Chat

Mở trình duyệt của bạn và gõ: http://chat.example.com .

Giả sử cài đặt thành công, bạn sẽ được trình bày với Trình hướng dẫn cài đặt Rocket.Chat sẽ hướng dẫn bạn cách thiết lập người dùng quản trị viên đầu tiên, định cấu hình tổ chức của bạn và đăng ký máy chủ của bạn để nhận thông báo đẩy miễn phí và hơn thế nữa.

Phần đầu tiên của Trình hướng dẫn cài đặt ban đầu sẽ yêu cầu bạn thiết lập người dùng Quản trị viên của mình:

Nhấp vào nút Go to your workspace và bạn sẽ được chuyển hướng đến bảng điều khiển Rocket.Chat đăng nhập với tư cách là người dùng quản trị viên.

Phần kết luận

Bạn đã cài đặt thành công Rocket.Chat trên máy chủ CentOS 7 của mình. Bây giờ bạn có thể bắt đầu sử dụng Rocket.Chat để cộng tác với nhóm của mình, chia sẻ tệp và trò chuyện trong thời gian thực.

tên lửa nodejs centos mongodb