기계적 인조 인간

centos 7에서 rocket.chat을 배포하는 방법

How to Install Rocket.Chat Server on CentOS 7

How to Install Rocket.Chat Server on CentOS 7

차례:

Anonim

Rocket.Chat은 자체 호스팅 Slack 대안 인 완벽한 팀 커뮤니케이션 플랫폼입니다. Meteor로 구축되었으며 헬프 데스크 채팅, 화상 회의, 파일 공유, 음성 메시지, API 등 다양한 기능을 제공합니다.

이 튜토리얼에서는 Nginx를 SSL 리버스 프록시로 사용하는 CentOS 7 서버에 Rocket.Chat을 설치 및 배포하는 방법을 보여줍니다.

전제 조건

이 학습을 계속하기 전에 다음 전제 조건을 충족하는지 확인하십시오.

  • CentOS 7 서버, 공식 Rocket.Chat 시스템 요구 사항에 따르면 최소 1G의 RAM이 필요합니다. 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

이 기사를 작성할 당시 Rocket.Chat에 권장되는 Node.js 버전은 Node.js v8.11.3입니다.

다음 명령을 실행하여 n 유틸리티와 권장 Node.js 버전을 설치하십시오.

sudo npm install -g inherits n sudo n 8.11.3 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 사용자를 새 사용자 그룹에 추가하고 Noptx가 액세스 할 수 있도록 /opt/rocket 디렉토리 권한을 변경하십시오.

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

Rocket.Chat 설치

다음을 입력하여 사용자 rocket 으로 전환하십시오.

sudo su - rocket

컬이있는 최신 안정 버전의 로켓을 다운로드하십시오.

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 패키지를 설치하십시오.

cd Rocket.Chat/programs/server npm install

시스템 단위를 생성하고 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 시스템에 설치됩니다. CTRL+C 사용하여 Rocket.Chat 서버를 중지하고 다음 단계를 계속하십시오.

시스템 장치 만들기

Rocket.Chat을 서비스로 실행하려면 /etc/systemd/system/ 디렉토리에 rocketchat.service 단위 파일을 작성하십시오.

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

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 입력 http://chat.example.com .

설치가 성공적으로 완료되면 첫 번째 관리자 설정, 조직 구성 및 무료 푸시 알림 등을 받도록 서버를 등록하는 과정을 안내하는 Rocket.Chat 설정 마법사가 표시됩니다.

초기 설정 마법사의 첫 번째 섹션에서 관리자를 설정하도록 요청합니다.

Go to your workspace 버튼을 클릭하면 관리자로 로그인 한 Rocket.Chat 대시 보드로 리디렉션됩니다.

결론

CentOS 7 서버에 Rocket.Chat을 성공적으로 설치했습니다. 이제 Rocket.Chat을 사용하여 팀과 공동 작업하고 파일을 공유하며 실시간으로 채팅 할 수 있습니다.

rocketchat nodejs centos mongodb