November 14, 2024

Тонкости установки Rocket.Chat на Ubuntu 24.04

  • С установкой нет ничего сложного т.к. она производится из Snap пакета вместе с установкой ОС (просто отмечаем соответствующий пакет при установке, возможно потребуется соединение с интернетом).
  • На этом этапе возможно сразу выбрать 1 из доступных версий 4.**/5.**/6.** если провалиться в подменю
  • Т.к. установка производилась на Hyper-V (возможно AVX не поддерживает сама Hyper-V или процессор который стоял) после установке по адресу http://localhost:3000 ничего не открылось. Исследовав журнал загрузки journalctl -b было выяснено, что не стартует MongoDB из-за того, что начиная с версии 5.** требуется поддержка процессором AVX(которая отсутствовала) из-за чего потребовалась переустановка Rocket.Chat на более старую версию 4.** со старой версией MongoDB
  • После переустановки перед заведением всех пользователей рекомендуется первым делом настроить либо отправку почты SMTP, либо отключить двухфакторную авторизацию т.к. можно как я угодить в петлю (для внесения изменений требуется ввести код из письма, а отправка писем ещё не настроена) как из неё выбраться написано в конце статьи.
  • По умолчанию люди не могут скачивать файлы с сервера т.к. открывается страница с сообщением, что пользователю не достаточно прав пока не разобрался почему победил следующим образом:
Сначала сменим каталог хранения файлов
Администрирование -> Настройки -> Загрузка файлов-> File system
/var/snap/rocketchat-server/common/upload

Далее отключаем параметр Защищать загруженные файлы он и не дает
скачивать файлы

Подключаемся по SSH и под root создадим соответствующий каталог:
sudo su
mkdir /var/snap/rocketchat-server/common/upload

переходим в каталог common
cd /var/snap/rocketchat-server/common/

выдаем права на папку upload
chmod -R 777 upload
  • Добавим вывод галочек отчета о прочтении сообщений в Администрировании-> Настройки -> Сообщения
  • Т.к. версия сервера у меня установлена 4.** то клиент последней версии жалуется на неподдерживаемую версию сервера. Это легко решается установкой старой версии клиента из архива:

    https://wingetgui.com/apps/RocketChat-RocketChat

    с версией сервера 4.** хорошо работает версия клиента 3.8.5
  • Всё на этом установка и настройка закончена далее вводим всех пользователей с паролями и отключаем так же обновления клиента в пункте Справка -> О Rocket.Chat
  • Из дополнительных настроек я только отключал доступ к страничке регистрации новых пользователей

Если всё же угодить в петлю то выбраться из неё можно следующим образом. Для этого потребуется установить Mongo-sh:

Добавим GPG ключ:

curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg

Создадим список файлов MongoDB

echo "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

Обновим список пакетов:

sudo apt update

Установим пакет консоли MongoDB:

sudo apt install mongodb-mongosh

Далее всё просто запускаем MongoSH она автоматически подключится к серверу баз данных:

sudo su

mongosh

Откроем нужную БД и изменим записи ответственные за двухфакторную авторизацию:

use parties;

db.rocketchat_settings.update({"_id" : "Accounts_TwoFactorAuthentication_Enabled"},{$set: {"packageValue" : false}});

db.rocketchat_settings.update({"_id" : "Accounts_TwoFactorAuthentication_Enabled"},{$set: {"value" : false}});

db.rocketchat_settings.update({"_id" : "Accounts_TwoFactorAuthentication_By_Email_Enabled"},{$set: {"packageValue" : false}});

db.rocketchat_settings.update({"_id" : "Accounts_TwoFactorAuthentication_By_Email_Enabled"},{$set: {"value" : false}});

db.rocketchat_settings.update({"_id" : "Accounts_TwoFactorAuthentication_Enforce_Password_Fallback"},{$set: {"packageValue" : false}});

db.rocketchat_settings.update({"_id" : "Accounts_TwoFactorAuthentication_Enforce_Password_Fallback"},{$set: {"value" : false}});

Мне хватило смены первых двух параметров чтоб выйти из петли.

Так же добавлю что были проблемы со скачиванием файлов потому, в основных настройках адрес хоста постоянно менялся на "localhost:3000" из-за чего файлы не скачивались т.к. localhost подставлялся в адресе на скачивание решается это следующей командой:

snap set rocketchat-server siteurl=http://yourdomainname.com:3000

Ну в моем случае т.к. установка производилась из snap пакета. Так же не забываем обращаться к серверу именно по доменному имени, а не по IP адресу (для этого возможно придется внести соответствующие настройки в ваш маршрутизатор, если сервер локальный).

А посмотреть текущие настройки можно командой:

snap get rocketchat-server

С документацией можно ознакомиться по следующему адресу

https://docs.rocket.chat/docs/accessing-your-workspace