작성일 댓글 남기기

Rocket.Chat 서버 구축 개요

  • 자체 서버 운영 가능: 회사 내부 서버에 설치하여 데이터 보안 강화
  • Slack 유사 UI/UX: 사용자가 쉽게 적응 가능
  • LDAP, SSO, OAuth 등 인증 연동 가능
  • 모바일 앱 / 데스크탑 앱 지원
  • 봇 및 알림 연동 가능

🛠️ 서버 사양 요구사항
요소 최소 사양 권장 사양
OS Ubuntu 20.04 LTS 이상 (Linux 권장) Ubuntu 22.04 LTS
CPU 2코어 이상 4코어 이상
메모리 2GB 이상 4GB 이상 (대규모 사용자 시 8GB 이상)
디스크 20GB SSD 이상 50GB 이상 SSD
네트워크 고정 IP 또는 도메인 (SSL 인증서용) 도메인 + HTTPS 권장

📦 설치 순서 (Ubuntu 22.04 기준)

1. 시스템 패키지 업데이트
bash
sudo apt update && sudo apt upgrade -y

2. Node.js 설치 (Rocket.Chat 호환 버전)

bash
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt install -y nodejs

3. MongoDB 설치 (Rocket.Chat은 MongoDB 기반)

Rocket.Chat은 MongoDB 4.4.x 이상을 권장합니다.

bash
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

sudo apt update
sudo apt install -y mongodb-org

sudo systemctl enable mongod
sudo systemctl start mongod


4. Rocket.Chat 다운로드 및 배포

bash
cd /opt
sudo curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz
sudo tar -xvzf rocket.chat.tgz
sudo mv bundle Rocket.Chat
cd Rocket.Chat/programs/server
sudo npm install

cd /opt/Rocket.Chat


5. 환경 설정 (환경변수 설정)

bash
cat <<EOF | sudo tee /opt/Rocket.Chat/.env
ROOT_URL=http://your_domain_or_ip:3000
MONGO_URL=mongodb://localhost:27017/rocketchat
PORT=3000
EOF


6. PM2로 Rocket.Chat 실행 (권장)

bash
sudo npm install -g pm2

cd /opt/Rocket.Chat
pm2 start main.js --name rocketchat

# 부팅 시 자동 시작 설정
pm2 startup
pm2 save


7. (선택) Nginx Reverse Proxy + SSL 설정

Nginx 설치

bash
sudo apt install nginx

Nginx 설정 예시

bash
sudo nano /etc/nginx/sites-available/rocketchat

nginx
server {
listen 80;
server_name your.domain.com;

location / {
proxy_pass http://localhost:3000/;
proxy_http_version 1.1;
proxy_set_header Upgrade \$http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host \$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;
}
}


bash
sudo ln -s /etc/nginx/sites-available/rocketchat /etc/nginx/sites-enabled/rocketchat
sudo nginx -t
sudo systemctl restart nginx

(선택) Let’s Encrypt SSL 인증서 설치

bash
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your.domain.com

✅ Rocket.Chat 초기 설정

1. 브라우저에서 접속

  • http://your_server_ip:3000 또는 설정한 도메인
  • 관리자 계정 생성
  • 서버 이름 / 조직 설정
  • 외부 접근 설정

🔒 보안 및 기타 고려 사항
  • 방화벽 설정: UFW 또는 클라우드 방화벽으로 포트 제한 (예: 80, 443만 오픈)
  • LDAP/SSO 연동: 사내 인증 시스템과 연동 시
  • 백업 스크립트 구성: MongoDB 데이터 정기 백업
  • 업데이트 계획 수립: 주기적으로 Node.js, Rocket.Chat, MongoDB 업데이트 확인

📱 클라이언트