Установка и настройка Rocket.Chat на Ubuntu 22.04 и CentOS 9

    Команда Simple-Server
    03.06.2026
    20 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Предварительные требования

    Системные требования для Rocket.Chat предоставлены на официальном сайте по ссылке.

    Для установки Rocket.Chat необходимо следующее:

    • Сервер или виртуальная машина с предустановленной ОС Ubuntu 22.04 или CentOS 9.

    • Сервер или виртуальная машина с любой другой предустановленной операционной системой на которую можно установить СУБД MongoDB. Для ознакомительного запуска Rocket.Chat, MongoDB можно установить на тот же сервер, на который будет установлен Rocket.Chat, однако при использовании Rocket.Chat в production-окружении, MongoDB должна быть развернута на отдельном сервере.

    • Зарегистрированное доменное имя на котором будет располагаться сервер Rocket.Chat. Для доменного имени должна быть создана A-запись (указывает на соответствие доменного имени и IP-адреса в формате IPv4). Инструкцию по регистрации домена можно найти документации Simple-Server. В качестве примера в этой статье мы будем использовать домен my-test-blog.ru.

    Сервер или виртуальная машина с предустановленной ОС Ubuntu 22.04 или CentOS 9.

    Сервер или виртуальная машина с любой другой предустановленной операционной системой на которую можно установить СУБД MongoDB. Для ознакомительного запуска Rocket.Chat, MongoDB можно установить на тот же сервер, на который будет установлен Rocket.Chat, однако при использовании Rocket.Chat в production-окружении, MongoDB должна быть развернута на отдельном сервере.

    Зарегистрированное доменное имя на котором будет располагаться сервер Rocket.Chat. Для доменного имени должна быть создана A-запись (указывает на соответствие доменного имени и IP-адреса в формате IPv4). Инструкцию по регистрации домена можно найти документации Simple-Server. В качестве примера в этой статье мы будем использовать домен my-test-blog.ru.

    Чтобы арендовать облачный или выделенный сервер в Simple-Server, необходимо пройти регистрацию.

    Переходим по ссылке для регистрации нового пользователя. Мы выберем регистрацию на физическое лицо и заполним следующие данные:

    • ФИО,
    • адрес электронной почты.

    Номер телефона можно указать по желанию. Также регистрацию можно пройти, воспользовавшись одним из сторонних сервисов: Google-аккаунт, ВКонтакте и GitHub:

    После регистрации на указанный адрес почты придет сообщение с ссылкой для активации аккаунта и входа в панель — перейдите по ней

    Создание облачного сервера

    После того, как учетная запись была создана и активирована, можно арендовать облачный сервер.

    1. Переходим на страницу авторизации и входим в аккаунт при помощи логина или адреса электронной почты и пароля или при помощи ВКонтакте, GitHub, Google.

    2. После успешной авторизации отобразится панель управления текущего проекта. Переходим в раздел «Облачные серверы» и нажимаем «Создать».

    3. Выбираем операционную систему, которая будет установлена на сервер. В нашем случае нам необходима Ubuntu 22.04.

    4. Выбираем регион, в котором будет находиться наш сервер. Выбирать рекомендуется тот регион, который ближе всего находится к вам физически. У каждого доступного региона справа вверху отображается ping, т.е. время, необходимое для передачи данных с вашего компьютера на сервер. Чем меньше указанное время, тем быстрее будет осуществляться передача данных.

    5. Далее выбираем необходимую конфигурацию сервера. Так как для Rocket.Chat необходим двухъядерный процессор и 40 ГБ жесткого диска, выбираем соответствующий тариф:

    6. Далее необходимо решить, будет ли сервер доступен из внешний сети или же только из приватной (частной) сети. Для выхода сервера в Интернет, нужно заказать плавающий IP.

    7. По желанию можно оформить дополнительные услуги, включая резервные копии и защиту от DDoS-атак (последняя доступна только в Санкт-Петербурге и Москве).

    8. Также заранее можно загрузить SSH-ключ, чтобы не входить на север при помощи пароля.

    9. Можно задать необходимое имя для сервера которое будет отображаться в панели управления, а также выбрать проект.

    10. Для оплаты необходимо нажать на кнопку «Заказать»:

    Если на вашем аккаунте недостаточно средств, то будет выведено предупреждение о необходимости пополнить баланс. После оплаты и создания сервера откроется Дашборд сервера, где можно будет найти IP-адрес, логин и пароль для подключения.

    Ниже вы найдете пошаговые инструкции для Ubuntu и CentOS.

    В целом, процесс очень схож. Единственные отличия — это использование другого пакетного менеджера, а также использование других ссылок для скачивания Node.js и MongoDB.

    Команды в инструкции необходимо выполнять от пользователя root.

    Для установки и функционирования Rocket.Chat на любой ОС необходимо использовать именно те версии Node.js и MongoDB, которые указаны в разделе «Engine versions» на странице релиза в GitHub.

    Например, для Rocket.Chat версии 6.5.3, Node.js можно использовать только версию 14.21.3, в то время как MongoDB поддерживает использование одной из следующих версий — 4.4, 5.0, 6.0.

    Если не соблюсти требования по использованию определенных версий, то собрать и запустить Rocket.Chat не получится.

    1. Обновляем списки репозиториев и устанавливаем необходимые пакеты:
    apt update && apt -y install gnupg curl build-essential graphicsmagick
    1. Приступаем к установке Node.js. Для этого воспользуемся следующими командами:
    curl -fsSL https://deb.nodesource.com/setup_14.x | bash - && apt -y install nodejs

    Так как 14 версия Node.js является устаревшей, в терминале будет выведено предупреждение о том, что данная версия больше не поддерживается:

    Однако, как уже было сказано ранее, необходимо использовать именно ту версию Node.js, которая указана в релизе Rocket.Chat, даже если она является устаревшей.

    После 20-секундной задержки появится еще одно предупреждение. Далее установка продолжится по истечении 60 секунд:

    Проверяем, что Node.js был успешно установлен, путем вывода его версии:

    Если в выводе команды отобразилась версия, то Node.js успешно установлен.

    Для хранения пользовательских данных Rocket.Chat необходима СУБД MongoDB.

    В этом материале MongoDB будет установлена на один сервер с Rocket.Chat, но при использовании в production-окружении MongoDB должна быть установлена на отдельном хосте. Также убедитесь, что между сервером Rocket.Chat и сервером MongoDB присутствует сетевой доступ (при установке MongoDB на отдельном хосте).

    Устанавливать будем 6 (6.0) версию MongoDB.

    1. Импортируем открытый ключ от официального репозитория MongoDB:
    wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
    1. Добавляем официальный репозиторий от разработчиков MongoDB:

    2. Обновляем списки репозиториев и устанавливаем пакет mongodb-org:

    apt update && apt -y install mongodb-org
    1. Проверяем статус службы mongod:

    Как можно увидеть, сервис mongod не запущен.

    Если в статусе будет отображено inactive (dead), то необходимо запустить MongoDB вручную. Запускаем сервис mongod, а также добавляем его в автозагрузку:

    systemctl start mongod && systemctl enable mongod

    Далее смотрим статус службы mongod еще раз:

    MongoDB успешно запущена и работает.

    Стоит отметить важный момент: начиная с 5 версии (5.0) MongoDB, консольная утилита, ранее известная как mongo и предназначенная для управления MongoDB через терминал, была объявлена устаревшей и заменена на mongosh. При установке MongoDB утилита mongosh также была установлена автоматически (она является частью пакета mongodb-org). Для запуска mongosh достаточно ввести команду:

    Для проверки корректности работы MongoDB выведем список доступных баз данных, выполнив в консоли mongosh команду:

    Чтобы выйти из консоли mongosh, достаточно выполнить:

    Далее переходим к настройке MongoDB. Этот процесс практически идентичен в обеих операционных системах.

    1. Открываем на редактирование основной конфигурационный файл MongoDB под названием mongod.conf:

    Находим раздел storage и приводим его к следующему виду:

    storage: dbPath: /var/lib/mongodb engine: wiredTiger
    • dbPath — указывается полный путь до директории, где будут хранится файлы баз данных;

    • engine — задается движок для хранения данных. В качестве примера мы выбрали движок wiredTiger который обеспечивает 10 кратное увеличение производительности для записи данных, а также содержит улучшенный функционал для управления памятью.

    dbPath — указывается полный путь до директории, где будут хранится файлы баз данных;

    engine — задается движок для хранения данных. В качестве примера мы выбрали движок wiredTiger который обеспечивает 10 кратное увеличение производительности для записи данных, а также содержит улучшенный функционал для управления памятью.

    Также создаем раздел replication, который отвечает за создание репликации базы данных, и в нем создаем параметр replSetName со значением rs01:

    replication: replSetName: "rs01"
    • replSetName — задается имя для реплики базы данных. В качестве примера было выбрано имя rs01.

    replSetName — задается имя для реплики базы данных. В качестве примера было выбрано имя rs01.

    Сохраняем изменения и выходим из файла.

    1. Перезапускаем сервис mongod:

    После того как необходимые правки были внесены, необходимо убедиться, что MongoDB была успешно запущена:

    1. Далее инициализируем реплику в MongoDB при помощи команды:
    mongosh --eval "printjson(rs.initiate())"

    Репликация в MongoDB успешно запущена. Rocket.Chat использует репликацию в MongoDB для повышения производительности. Наборы реплик обеспечивают высокую доступность данных за счет сохранения нескольких копий данных.

    На этом установка, настройка и тестирование MongoDB успешно завершены. Далее мы перейдем непосредственно к установке Rocket.Chat.

    1. Скачиваем архив с последней актуальной версией Rocket.Chat (на момент написания статьи последней актуальной версией является 6.5.3) и сохраняем его в директорию /tmp:
    curl -L https://releases.rocket.chat/6.5.3/download -o /tmp/rocket.chat.tgz
    1. Разархивируем скачанный архив:
    tar -xzf /tmp/rocket.chat.tgz -C /tmp
    1. Далее необходимо перейти в директорию с разархивированными файлами и запустить сборку программы с помощью команды:
    cd /tmp/bundle/programs/server && npm install --unsafe-perm --production

    Процесс сборки в среднем занимает одну минуту.

    1. После того как сборка будет завершена, перемещаем директорию bundle с конфигурационными файлами Rocket.Chat в директорию /opt, присвоив при этом новое имя для директории — Rocket.Chat:
    mv /tmp/bundle /opt/Rocket.Chat
    1. Создаем пользователя с именем rocketchat:
    useradd -M rocketchat && usermod -L rocketchat
    1. Устанавливаем пользователя и группу rocketchat на директорию /opt/Rocket.Chat:
    chown -R rocketchat:rocketchat /opt/Rocket.Chat
    1. Для управления сервисом rocketchat создаем unit со следующим содержимым:
    cat << EOF | sudo tee -a /lib/systemd/system/rocketchat.service

    В разделе Service необходимо задать следующие переменные с нужными значениями:

    Environment=ROOT_URL=http://my-test-blog.ru:3000 Environment=PORT=3000 Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 Environment=MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01
    • ROOT_URL — доменное имя или IP-адрес, на котором будет располагаться сервер и веб-интерфейс Rocket.Chat;
    • PORT — порт, на котором будет доступен Rocket.Chat. По умолчанию 3000;
    • MONGO_URL — IP-адрес или доменное имя сервера, на котором установлена СУБД MongoDB. Если MongoDB установлена на одном сервере с Rocket.Chat, то необходимо указать адрес localhost. Также необходимо указать порт, по которому доступна MongoDB (порт по умолчанию 27017). Значение данной переменной должно быть задано в следующем формате:

    Значение /rocketchat?replicaSet=rs01 означает, что будет использоваться репликация данных в MongoDB. Имя реплики будет задано как rs01.

    • MONGO_OPLOG_URL — строка подключения к локальной базе данных MongoDB. Дублируется адрес сервера, порт от MongoDB а также имя репликации. Строка имеет следующий формат:

    Также обратите внимание на параметр ExecStart, в котором необходимо указать команду для запуска Rocket.Chat. В данном примере запуск Rocket.Chat выглядит так:

    node /opt/Rocket.Chat/main.js

    После того, как unit-файл был создан, перезапускаем сервис systemd:

    1. Добавляем Rocket.Chat в автозагрузку и перезапускаем сервис:
    systemctl enable --now rocketchat && systemctl restart rocketchat

    Проверяем статус Rocket.Chat:

    systemctl status rocketchat -l

    Если статус отображен как active (running), это означает, что Rocket.Chat успешно запущен и работает.

    Открываем браузер и переходим по адресу, который был указан при установке Rocket.Chat (переменная ROOT_URL), а также указываем порт (по умолчанию 3000). Должна открыться страница с первичной настройкой:

    Настройка HTTPS в Rocket.Chat

    По умолчанию в Rocket.Chat не используется протокол HTTPS. Для того чтобы использовать HTTPS, нам потребуется выпустить TLS-сертификат. В качестве центра сертификации воспользуемся Let’s Encrypt — сервисом, который выпускает бесплатные криптографические сертификаты стандарта X.509.

    1. Установка Nginx и Certbot

    1. Устанавливаем Nginx и Certbot (ACME-клиент для работы с TLS-сертификатами).
    apt -y install nginx certbot
    1. Создаём следующие директории на стороне веб-сервера Nginx для возможности валидации выпуска SSL со стороны API Let's Encrypt.:
    mkdir -p /var/www/certbot/.well-known mkdir /var/www/certbot/.well-known/acme-challenge
    1. Далее открываем на редактирование файл виртуального хоста в Nginx:
    nano /etc/nginx/sites-enabled/default

    В блок server добавляем путь до ранее созданных директорий:

    location /.well-known/acme-challenge/ { root /var/www/certbot; }

    Сохраняем изменения и выходим из файла.

    1. Перечитываем конфигурацию Nginx с помощью команды:

    После этого проверяем статус Nginx:

    Если статус отображен как active (running), это означает, что Nginx успешно запущен и работает.

    2. Выпуск SSL-сертификата

    1. Для выпуска сертификата выполняем следующую команду:
    certbot certonly --email testmail@gmail.com --webroot -w /var/www/certbot/ -d my-test-blog.ru

    Где в параметре --email необходимо указать свой адрес электронной почты, а в параметре -d — доменное имя, для которого выпускается сертификат. Выпущенные сертификаты будут сохранены в директорию /etc/letsencrypt/live/<имя_домена>:

    1. Далее открываем на редактирование файл виртуального хоста.
    nano /etc/nginx/sites-enabled/default

    И приводим файл к следующему виду:

    • server 127.0.0.1:3000 — указывается адрес и порт, на котором находится сервер Rocket.Chat;
    • server_name my-test-blog.ru — указывается доменное имя, на котором будет доступен сервер Rocket.Chat;
    • ssl_certificate /etc/letsencrypt/live/my-test-blog.ru/fullchain.pem — указывается полный путь до файла с полной цепочкой сертификатов (fullchain.pem);
    • ssl_certificate_key /etc/letsencrypt/live/my-test-blog.ru/privkey.pem — указывается полный путь до файла с закрытым ключом от сертификата.

    Сохраняем изменения и выходим из файла.

    1. Проверяем конфигурацию Nginx на наличие возможных ошибок:

    Если в ответе отобразились строки:

    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

    — значит, ошибок в конфигурации нет.

    1. Переходим по доменному имени, которое было указано при выпуске сертификата и в конфигурационном файле виртуального хоста. Порт указывать не нужно, так как мы настроили Nginx в качестве обратного прокси-сервера — для того, чтобы он перенаправлял трафик с порта 443 на порт 3000, где запущен Rocket Chat.
    Environment=ROOT_URL=http://my-test-blog.ru:3000 Environment=ROOT_URL=https://my-test-blog.ru

    Где my-test-blog.ru — доменное имя, на котором находится Rocket.Chat.

    Тем самым мы оставляем текущее доменное имя, но добавляем HTTPS и убираем порт.

    Сохраняем изменения, выходим из файла. Далее перезапускаем демон systemd и Rocket.Chat:

    systemctl daemon-reload && systemctl restart rocketchat

    После этого веб-интерфейс Rocket.Chat станет доступен.

    Как можно увидеть на скриншоте выше, сертификат успешно работает.

    Первоначальная настройка Rocket.Chat

    При первом входе в веб-интерфейс Rocket.Chat необходимо произвести первоначальную настройку.

    1. На первом шаге необходимо задать данные для пользователя Admin (он же администратор):
    • * Full name — указываем полное имя для пользователя Admin;
    * Username — указываем ник для пользователя Admin; * Email — указываем адрес электронной почты для пользователя Admin. Адрес электронной почты необходимо указывать реальный; * Password — указываем пароль для пользователя Admin.
    • Full name — указываем полное имя для пользователя Admin;
    • Username — указываем ник для пользователя Admin;
    • Email — указываем адрес электронной почты для пользователя Admin. Адрес электронной почты необходимо указывать реальный;
    • Password — указываем пароль для пользователя Admin.
    1. На втором шаге указываем информацию о компании. Задавать можно любые данные.
    • * Organization name — указываем имя компании;
    * Organization industry — указываем индустрию к которой относится наша компания; * Organization size — выбираем количество сотрудников из выпадающего списка; * Country — выбираем страну, в которой зарегистрирована наша компания.
    • Organization name — указываем имя компании;
    • Organization industry — указываем индустрию к которой относится наша компания;
    • Organization size — выбираем количество сотрудников из выпадающего списка;
    • Country — выбираем страну, в которой зарегистрирована наша компания.
    1. На последнем шаге система сообщит, что на ранее указанный адрес электронной почты (необходимо указать адрес администратора системы, который был задан на первом этапе) придет сообщение для активации.

    Если сообщение не пришло, его можно переслать (кнопка Resend) или указать другой адрес электронной почты (кнопка Change email).

    Также в поле Security code содержится код, который должен совпадать с сообщением, поступившим на электронную почту:

    В присланном сообщении необходимо проверить, что код безопасности совпадает с кодом, указанным в веб-интерфейсе, и нажать на кнопку Verify registration или перейти по ссылке ниже:

    После этого вы будете перенаправлены на домашнюю страницу вашего сервера Rocket.Chat:

    Далее мы создадим пользователя а также подключимся к нашему серверу при помощи официального клиент-приложения.

    Создание пользователя в Rocket.Chat

    1. Переходим на главную страницу в веб-интерфейсе Rocket.Chat и нажимаем на кнопку «Добавить пользователей»:

    В открывшемся меню, нажимаем на кнопку «New user», которая находится справа сверху:

    В появившемся меню необходимо заполнить следующие обязательные поля: имя, логин, электронная почта, пароль:

    После того как пользователь создан, нажимаем на кнопку «Сохранить».

    Подключение к серверу Rocket.Chat

    Для того чтобы пользователи могли подключаться к серверу Rocket.Chat, необходимо воспользоваться официальным клиентским приложением. Клиент доступен как на ПК (Windows, MacOS, Linux), так и на мобильных платформах: iOS и Android. На Гитхабе можно скачать установочный файл для вашей платформы.

    Рассмотрим подключение пользователя на примере учётной записи администратора.

    1. Вне зависимости от выбранной платформы, после запуска клиента необходимо ввести адрес сервера Rocket.chat:

    При этом порт указывать не нужно, достаточно указать протокол (https) и доменное имя.

    1. Далее система предложит пройти авторизацию при помощи адреса электронной почты или имени пользователя и пароля:

    Так как пользователь-администратор уже присутствует в системе, воспользуемся адресом электронной почты пользователя, который был задан на этапе создания пользователя-администратора.

    1. После ввода аутентификационных данных пользователя необходимо ввести код из двухфакторной проверки, который будет отправлен на электронную почту того пользователя:

    2. После ввода кода аутентификации откроется рабочее пространство пользователя:

    Подключение остальных пользователей производится по аналогии с подключением администратора.


    Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490₽

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190₽

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны