NodeBB 설치 · 6 min read · Sep 10, 2025
Ubuntu 24.04 서버에 Nginx 프록시와 함께 NodeBB 설치하는 방법

NodeBB는 온라인 커뮤니티를 위한 현대적이고 반응형 솔루션을 제공하는 오픈 소스 Node.js 기반 포럼 소프트웨어입니다. Ubuntu Linux에서 실행되는 NodeBB는 운영 체제의 강력함과 유연성을 활용하여 높은 성능과 확장성을 제공합니다. MongoDB 또는 Redis의 조합을 데이터베이스 관리에 활용하여 대량의 사용자 생성 콘텐츠를 효율적으로 처리할 수 있습니다. NodeBB는 실시간 알림, 다양한 소셜 미디어 플랫폼과의 원활한 통합, 그리고 관리자가 특정 요구 사항에 맞게 포럼을 사용자 정의할 수 있도록 하는 광범위한 플러그인 생태계로 잘 알려져 있습니다. 또한, 모바일 우선 설계로 모든 장치에서 일관되고 매력적인 사용자 경험을 보장합니다. Ubuntu의 안정성과 보안 기능은 NodeBB를 보완하여 동적인 온라인 커뮤니티를 호스팅하고 관리하는 데 이상적인 선택이 됩니다.
이 가이드에서는 MongoDB 데이터베이스와 Nginx 웹 서버를 사용하여 Ubuntu 24.04 서버에 NodeBB를 설치하는 방법을 배웁니다. 또한 Certbot과 Letsencrypt를 통해 NodeBB를 HTTPS로 보호하는 방법도 배웁니다.
전제 조건
이 가이드를 시작하기 전에 다음 사항을 확인하세요:
- Ubuntu 24.04 서버.
- 관리자 권한이 있는 비루트 사용자.
- 서버 IP 주소를 가리키는 도메인 이름.
MongoDB 서버 설치
NodeBB는 Node.js로 작성되었으며 MongoDB를 데이터베이스로 사용합니다. NodeBB를 설치하려면 시스템에 MongoDB 서버를 설치해야 합니다. 이 섹션에서는 Ubuntu 24.04 서버에 MongoDB 서버 7을 설치합니다.
먼저, 아래 명령어를 실행하여 Ubuntu 시스템에 gnupg 및 curl 패키지를 설치합니다.
sudo apt install gnupg curl
이제 아래 명령어를 사용하여 MongoDB의 GPG 키와 리포지토리를 추가합니다. 이때 MongoDB 7.0은 Ubuntu 22.04까지 사용할 수 있으므로, 이를 Ubuntu 24.04 서버에서 사용합니다.
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc |
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg
–dearmorecho “deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
다음으로, 아래 apt 명령어를 실행하여 Ubuntu 패키지 인덱스를 업데이트하고 mongodb-org 패키지를 설치합니다. 설치를 확인하려면 Y를 입력합니다.
sudo apt update
sudo apt install mongodb-org
설치가 완료되면 아래 systemctl 명령어를 실행하여 systemd 관리자를 다시 로드합니다. 이는 새로운 서비스 파일 mongod가 시스템에 추가되었기 때문입니다.
sudo systemctl daemon-reload이제 아래 systemctl 명령어를 실행하여 MongoDB mongod 서비스를 시작하고 활성화합니다. 그런 다음 mongod 서비스가 실행 중인지 상태를 확인합니다.
sudo systemctl enable --now mongod
sudo systemctl status mongod아래와 같이 mongod 서비스가 활성화되고 실행 중임을 확인할 수 있습니다.

NodeBB를 위한 MongoDB 서버 및 데이터베이스 설정
MongoDB 서버를 설치한 후에는 MongoDB에서 인증을 활성화하고, 관리자 사용자를 생성한 다음, NodeBB 설치를 위한 새로운 사용자와 데이터베이스를 생성합니다.
아래 mongosh 클라이언트 명령어로 MongoDB 셸에 로그인합니다.
mongoshmongosh 셸에서 admin 데이터베이스로 전환하고 MongoDB에 대한 새로운 관리자 사용자를 생성합니다. 이 예제에서는 비밀번호 MongoDBAdminPass를 가진 MongoDB 사용자 admin을 생성합니다. 사용자 세부정보는 귀하의 정보로 변경해야 합니다.
use admin
db.createUser( { user: “admin”, pwd: “MongoDBAdminPass”, roles: [ { role: “root”, db: “admin” } ] } )그 후, nodebb 데이터베이스로 전환하고 비밀번호 NodeBBPassword를 가진 새로운 사용자 nodebb를 생성합니다. 데이터베이스와 사용자 nodebb는 NodeBB 설치에 사용됩니다.
use nodebb
db.createUser( { user: “nodebb”, pwd: “NodeBBPassword”, roles: [ { role: “readWrite”, db: “nodebb” }, { role: “clusterMonitor”, db: “admin” } ] } )이제 quit()을 입력하여 mongosh 셸에서 나옵니다.
quit()
다음으로, 아래 nano 편집기를 사용하여 기본 MongoDB 구성 파일 /etc/mongod.conf를 엽니다.
sudo nano /etc/mongod.confsecurity 옵션의 주석을 제거하고 authorization을 enabled로 변경합니다. 이렇게 하면 MongoDB 서버에서 인증이 활성화됩니다.
security:
authorization: enabled작업이 끝나면 파일을 저장하고 편집기를 종료합니다.
이제 아래 systemctl 명령어를 실행하여 mongod 서비스를 재시작하고 변경 사항을 적용합니다. mongod 서비스가 재시작되면 MongoDB 인증이 활성화됩니다.
sudo systemctl restart mongod아래 명령어를 실행하여 사용자 nodebb로 데이터베이스 nodebb에 연결합니다. 프롬프트가 표시되면 비밀번호를 입력합니다.
mongosh “mongodb://127.0.0.1:27017” --username nodebb --authenticationDatabase nodebb이제 아래 쿼리를 실행하여 MongoDB 서버에 대한 연결을 확인합니다.
db.runCommand( { connectionStatus: 1, showPrivileges: false } )아래에서 사용자 nodebb로 데이터베이스 nodebb에 인증된 것을 확인할 수 있습니다.
MongoDB 셸에서 나가려면 quit()을 입력합니다.

NodeBB 설치
이제 MongoDB 서버를 구성했으므로, 공식 Ubuntu 리포지토리를 통해 Node.js를 설치한 다음, Ubuntu 시스템에 NodeBB를 다운로드하고 설치합니다.
NodeBB를 설치하기 전에 아래 apt 명령어를 실행하여 Ubuntu 시스템에 Node.js 및 NPM 패키지를 설치합니다. 설치를 확인하려면 Y를 입력합니다.
sudo apt install nodejs npm
설치 후, 아래 명령어로 Node.js 및 NPM 버전을 확인합니다. Node.js 18 및 NPM 9가 설치된 것을 확인할 수 있습니다.
node --version
npm --version이제 아래 명령어를 실행하여 새로운 시스템 사용자 및 그룹 nodebb를 생성합니다. 이 사용자는 NodeBB 설치를 실행하는 데 사용됩니다.
sudo adduser --system --no-create-home --home=/opt/nodebb --group nodebb아래 git 명령어를 실행하여 NodeBB 소스 코드를 /opt/nodebb 디렉토리에 다운로드한 다음, 소유권을 nodebb 사용자에게 변경합니다.
git clone -b v3.x https://github.com/NodeBB/NodeBB.git /opt/nodebb
sudo chown -R nodebb:nodebb /opt/nodebb
/opt/nodebb 디렉토리로 이동하여 nodebb 설정 명령어를 실행하여 NodeBB 설치를 시작합니다.
cd /opt/nodebb
sudo su -s /bin/bash -c “./nodebb setup” nodebb다음 NodeBB 구성에 대해 질문을 받게 됩니다:
- NodeBB의 도메인 이름을 입력하세요. 예: forum.howtoforge.local.
- NodeBB 비밀 구성에서 ENTER를 누릅니다. 기본값으로 두세요.
- NodeBB에 대한 익명 액세스를 비활성화하려면 no를 입력합니다.
- 데이터베이스로 MongoDB를 선택합니다.
- MongoDB 데이터베이스 세부정보를 mongodb://nodebb:[email protected]:27017/nodebb 형식으로 입력합니다.
- NodeBB의 새로운 관리자 사용자 및 이메일 주소를 입력합니다.
- NodeBB 관리자 사용자의 비밀번호를 입력하고 반복합니다.
설치가 완료되면 NodeBB Setup Completed라는 출력을 볼 수 있습니다.

명령줄에서 NodeBB를 실행하려면 아래 nodebb start 명령어를 실행합니다:
sudo su -s /bin/bash -c "./nodebb start" nodebbNodeBB 프로세스를 설정하려면 아래 nodebb stop 명령어를 사용합니다.
sudo su -s /bin/bash -c "./nodebb stop" nodebb
NodeBB를 systemd 서비스로 실행하기
이 가이드에서는 NodeBB를 백그라운드에서 systemd 서비스로 실행합니다. 이제 NodeBB 서비스를 systemctl 유틸리티를 통해 쉽게 관리할 수 있도록 새로운 서비스 파일을 생성합니다.
아래 nano 편집기를 사용하여 새로운 systemd 서비스 파일 /etc/systemd/system/nodebb.service를 생성합니다.
sudo nano /etc/systemd/system/nodebb.service아래의 NodeBB 서비스 파일을 붙여넣습니다. 이 예제에서는 nodebb 사용자로 nodebb 서비스를 실행합니다.
[Unit]
Description=NodeBB
Documentation=https://docs.nodebb.org
After=system.slice multi-user.target mongod.service
[Service]
Type=simple
User=nodebb
StandardError=syslog
SyslogIdentifier=nodebb
Environment=NODE_ENV=production
WorkingDirectory=/opt/nodebb
ExecStart=/usr/bin/env node loader.js --no-silent --no-daemon
Restart=always
[Install]
WantedBy=multi-user.target작업이 끝나면 파일을 저장하고 편집기를 종료합니다.
이제 아래 systemctl 명령어를 실행하여 systemd 관리자를 다시 로드하고 변경 사항을 적용합니다.
sudo systemctl daemon-reload그 후, 아래 명령어로 nodebb 서비스를 시작하고 활성화하며 상태를 확인합니다.
sudo systemctl enable --now nodebb
sudo systemctl status nodebb아래와 같이 nodebb 서비스가 백그라운드에서 systemd 서비스로 실행되고 있는 것을 확인할 수 있습니다.

Nginx를 리버스 프록시로 설정하기
이 튜토리얼에서는 Nginx 웹 서버를 NodeBB의 리버스 프록시로 사용할 것입니다. 이제 Nginx를 설치하고 리버스 프록시를 위한 새로운 서버 블록을 생성합니다. 도메인 이름이 서버 IP 주소를 가리키고 있는지 확인하세요.
아래 apt install 명령어로 시스템에 Nginx 웹 서버를 설치합니다.
sudo apt install nginx -y
설치가 완료되면 아래 nano 편집기를 사용하여 새로운 서버 블록 구성 /etc/nginx/sites-available/nodebb를 생성합니다.
sudo nano /etc/nginx/sites-available/nodebb아래 구성을 삽입하고 forum.howtoforge.local을 귀하의 도메인 이름으로 변경합니다. 이를 통해 백그라운드에서 포트 4567에서 실행 중인 NodeBB에 대한 리버스 프록시를 설정합니다.
server {
listen 80;
server_name forum.howtoforge.local;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:4567;
proxy_redirect off;
# Socket.IO 지원
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}파일을 저장하고 편집기를 종료합니다.
이제 아래 명령어를 실행하여 nodebb 서버 블록 파일을 활성화하고 Nginx 구성을 확인합니다. 올바르고 적절한 Nginx 구성이면 syntax is ok - test is successful라는 출력을 볼 수 있습니다.
sudo ln -s /etc/nginx/sites-available/nodebb /etc/nginx/sites-enabled/
sudo nginx -t
마지막으로 아래 systemctl 명령어를 실행하여 Nginx 서비스를 재시작하고 변경 사항을 적용합니다. 그런 다음 Nginx 서비스 상태를 확인하여 실행 중인지 확인합니다.
sudo systemctl restart nginx
sudo systemctl status nginx아래 출력에서 Nginx 서비스가 실행 중임을 확인할 수 있습니다.

HTTPS로 NodeBB 보호하기
이 섹션에서는 Certbot과 Letsencrypt를 통해 NodeBB를 HTTPS로 보호합니다. Certbot과 Nginx를 결합하면 웹 서버에서 자동 HTTPS를 설정할 수 있습니다.
아래 명령어로 certbot 및 python3-certbot-nginx 패키지를 설치합니다:
sudo apt install certbot python3-certbot-nginx -y이제 아래 certbot 명령어를 실행하여 SSL 인증서를 생성하고 NodeBB 설치를 HTTPS로 보호합니다. 이메일 주소와 도메인 이름을 귀하의 정보로 변경해야 합니다.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d forum.howtoforge.local프로세스가 완료되면 /etc/letsencrypt/live/domain.com 디렉토리에서 인증서를 확인할 수 있습니다. 그리고 NodeBB 설치는 자동으로 HTTPS로 보호됩니다.
NodeBB 접근하기
웹 브라우저를 사용하여 https://forum.howtoforge.local과 같은 NodeBB 도메인 이름을 엽니다. 설치가 성공적이라면 다음과 같은 NodeBB의 기본 홈페이지를 볼 수 있습니다:

로그인 링크를 클릭하면 NodeBB 로그인 페이지가 표시됩니다. 그런 다음 관리자 사용자와 비밀번호를 입력하고 로그인을 클릭하여 확인합니다. 올바른 자격 증명이면 다음과 같은 관리자 대시보드를 볼 수 있습니다.

NodeBB 관리자 설정에서 다음을 볼 수 있습니다:

결론
축하합니다! Ubuntu 24.04 서버에 오픈 소스 포럼 소프트웨어 NodeBB를 설치했습니다. MongoDB를 데이터베이스로, Nginx를 리버스 프록시로 사용하여 NodeBB를 실행 중입니다. 또한 Certbot과 Letsencrypt를 통해 NodeBB를 HTTPS로 보호했습니다. 이제 SMTP 서버를 추가하여 이메일 링크를 통한 등록 및 확인을 설정할 수 있습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.