Установка NodeBB · 8 min read · Sep 10, 2025
Как установить NodeBB с прокси Nginx на сервере Ubuntu 24.04

NodeBB — это программное обеспечение для форумов с открытым исходным кодом на основе Node.js, которое предоставляет современное и отзывчивое решение для онлайн-сообществ. Работая на Ubuntu Linux, NodeBB использует надежность и гибкость операционной системы для обеспечения высокой производительности и масштабируемости. Он использует комбинацию MongoDB или Redis для управления базами данных, что позволяет эффективно обрабатывать большие объемы пользовательского контента. NodeBB известен своими уведомлениями в реальном времени, бесшовной интеграцией с различными социальными медиа платформами и обширной экосистемой плагинов, позволяя администраторам настраивать свои форумы в соответствии с конкретными потребностями. Кроме того, его дизайн, ориентированный на мобильные устройства, обеспечивает последовательный и увлекательный пользовательский опыт на всех устройствах. Стабильность и функции безопасности Ubuntu дополняют NodeBB, что делает его идеальным выбором для хостинга и управления динамическими онлайн-сообществами.
В этом руководстве вы узнаете, как установить NodeBB на сервер Ubuntu 24.04 с базой данных MongoDB и веб-сервером Nginx. Вы также узнаете, как защитить NodeBB с помощью HTTPS через Certbot и Letsencrypt.
Предварительные требования
Чтобы начать с этого руководства, убедитесь, что у вас есть:
- Сервер Ubuntu 24.04.
- Непривилегированный пользователь с правами администратора.
- Доменное имя, указывающее на IP-адрес сервера.
Установка сервера MongoDB
NodeBB написан на Node.js и использует MongoDB в качестве базы данных. Чтобы установить NodeBB, вам необходимо установить сервер MongoDB на вашу систему. В этом разделе вы установите сервер MongoDB 7 на сервер Ubuntu 24.04.
Сначала выполните команду ниже, чтобы установить пакеты gnupg и curl на вашу систему Ubuntu.
sudo apt install gnupg curl
Теперь добавьте GPG-ключ и репозиторий для MongoDB, используя команду ниже. В данный момент 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 включена и работает.

Настройка сервера MongoDB и базы данных для NodeBB
После установки сервера MongoDB вы включите аутентификацию на MongoDB, создадите администратора и затем создадите нового пользователя и базу данных для установки NodeBB.
Войдите в оболочку MongoDB с помощью команды клиента mongosh ниже.
mongoshВ оболочке mongosh переключитесь на базу данных admin и создайте нового администратора для MongoDB. В этом примере вы создадите пользователя MongoDB admin с паролем MongoDBAdminPass. Убедитесь, что вы изменили данные пользователя на свои.
use admin
db.createUser( { user: “admin”, pwd: “MongoDBAdminPass”, roles: [ { role: “root”, db: “admin” } ] } )После этого переключитесь и создайте базу данных nodebb, а затем создайте нового пользователя nodebb с паролем NodeBBPassword. База данных и пользователь nodebb будут использоваться для установки NodeBB.
use nodebb
db.createUser( { user: “nodebb”, pwd: “NodeBBPassword”, roles: [ { role: “readWrite”, db: “nodebb” }, { role: “clusterMonitor”, db: “admin” } ] } )Теперь введите quit(), чтобы выйти из оболочки mongosh.
quit()
Далее откройте файл конфигурации MongoDB по умолчанию /etc/mongod.conf с помощью следующего редактора nano.
sudo nano /etc/mongod.confРаспакуйте опцию security и измените authorization на enabled. Это включит аутентификацию на вашем сервере MongoDB.
security:
authorization: enabledКогда закончите, сохраните файл и выйдите из редактора.
Теперь выполните команду systemctl ниже, чтобы перезапустить службу mongod и применить ваши изменения. После перезапуска службы mongod аутентификация MongoDB будет включена.
sudo systemctl restart mongodВыполните команду mongosh ниже, чтобы подключиться как пользователь nodebb к базе данных nodebb. Введите свой пароль, когда будет предложено.
mongosh “mongodb://127.0.0.1:27017” --username nodebb --authenticationDatabase nodebbТеперь выполните следующие запросы, чтобы проверить ваше соединение с сервером MongoDB.
db.runCommand( { connectionStatus: 1, showPrivileges: false } )Ниже вы аутентифицированы как пользователь nodebb к базе данных nodebb.
Введите quit() для выхода из оболочки MongoDB.

Установка NodeBB
Теперь, когда вы настроили сервер MongoDB, вы установите Node.js через официальный репозиторий Ubuntu, а затем загрузите и установите NodeBB на вашу систему Ubuntu.
Перед установкой NodeBB выполните следующую команду apt, чтобы установить пакеты Node.js и NPM на вашу систему Ubuntu. Введите 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.
- Нажмите ENTER на конфигурации секрета NodeBB. Оставьте по умолчанию.
- Введите no, чтобы отключить анонимный доступ к NodeBB.
- Выберите MongoDB в качестве базы данных.
- Введите данные вашей базы данных MongoDB в формате mongodb://nodebb:[email protected]:27017/nodebb.
- Введите нового администратора и адрес электронной почты для NodeBB.
- Введите пароль для вашего администратора NodeBB и повторите его.
После завершения установки вы увидите вывод Установка NodeBB завершена.

Чтобы запустить NodeBB из командной строки, выполните следующую команду nodebb start:
sudo su -s /bin/bash -c "./nodebb start" nodebbЧтобы остановить процесс NodeBB, используйте команду nodebb stop ниже.
sudo su -s /bin/bash -c "./nodebb stop" nodebb
Запуск NodeBB как службы systemd
В этом руководстве вы будете запускать NodeBB в фоновом режиме как службу systemd. Теперь вы создадите новый файл службы для NodeBB, что упростит управление службой NodeBB через утилиту systemctl.
Создайте новый файл службы systemd /etc/systemd/system/nodebb.service с помощью следующего редактора nano.
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-адрес сервера.
Установите веб-сервер Nginx на вашу систему с помощью следующей команды apt install.
sudo apt install nginx -y
После завершения установки создайте новую конфигурацию серверного блока /etc/nginx/sites-available/nodebb с помощью редактора nano.
sudo nano /etc/nginx/sites-available/nodebbВставьте следующую конфигурацию и убедитесь, что вы изменили forum.howtoforge.local на ваше доменное имя. С этим вы настроите обратный прокси для NodeBB, который работает в фоновом режиме на порту 4567.
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, вы увидите вывод синтаксис в порядке - тест успешен.
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 работает.

Защита NodeBB с помощью HTTPS
В этом разделе вы защитите NodeBB с помощью HTTPS через Certbot и Letsencrypt. В сочетании с 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
Откройте ваше доменное имя NodeBB, например https://forum.howtoforge.local, с помощью вашего веб-браузера. Если установка прошла успешно, вы увидите домашнюю страницу по умолчанию для NodeBB, как показано ниже:

Нажмите на ссылку Войти, и вы увидите страницу входа NodeBB. Затем введите своего администратора и пароль и нажмите Войти, чтобы подтвердить. Если у вас правильные учетные данные, вы увидите следующую панель администратора.

В настройках администратора NodeBB вы увидите следующее:

Заключение
Поздравляем! Вы установили программное обеспечение для форумов с открытым исходным кодом NodeBB на сервере Ubuntu 24.04. Вы запустили NodeBB с MongoDB в качестве базы данных и Nginx в качестве обратного прокси. Вы также защитили NodeBB с помощью HTTPS через Certbot и Letsencrypt. Теперь вы можете добавить SMTP-сервер для настройки регистрации и подтверждения по электронной почте.
Get new posts in your inbox
No spam. Unsubscribe anytime.