Будет описан процесс установки Rocket Chat с версией сервера 4.3.1 и версией клиента 3.7.6 на Ubuntu Server 20
В данной инструкции мы рассмотрим установку и настройку сервиса Rocket. Chat на своем собственном сервере с Ubuntu.
Необходимые для Rocket. Chat компоненты
Установка пакетов
Установка Nodejs
Установка MongoDB
Rocket. Chat
Установка
Настройка
Клиент для подключения к серверу
Создание пользователя
Настройка языка
Настройка для пользователя
Настройка языка по умолчанию
Настройка SSL
Установка как snap пакета
Платформы корпоративного чата обеспечивают обмен мгновенными сообщениями, командную совместную работу и многое другое. Rocket. Chat предлагает бесплатный вариант для самостоятельного размещения. Вот как настроить его для частного внутреннего использования в Ubuntu Linux.
- Общение продуктивно?
- Перезапустите сервисы Rocket. Chat
- Настройка Rocket. Chat
- Использование настольного приложения Rocket. Chat
- Немедленное общение
- Создание нового пользователя
- Настройка SSL (Let’s Encrypt)
- Установка NGINX и получение сертификата
- Настройка NGINX для Rocket. Chat
- Установка компонентов
- Установка необходимых пакетов
- Установка Nodejs
- Установка MongoDB
- Установка клиента
- Установка как snap пакета
- Установка сервера
- Настройка языка
- Настройка языка по умолчанию
- Установка и настройка Rocket. Chat
- Установка клиента Rocket Chat через групповые политики(gpo) Active directory
- Другие полезные настройки которые можно добавить
- Настройка времени показа уведомлений о новых сообщениях
- Установка и настройка клиента
Общение продуктивно?
Такие инструменты, как Слабина, Команды Microsoft, а также Rocket. Chat как ни что иное, как клиенты обмена мгновенными сообщениями. Они намного больше. При правильном использовании эти корпоративные платформы обмена сообщениями поощряют и упрощают сотрудничество внутри отделов и групп и между ними.
Простое и быстрое общение между членами команды может быть только хорошо. Возможность обмениваться изображениями, документами и видеоклипами расширяет стандартный формат текстовых сообщений и является ключом к эффективному сотрудничеству, которое могут обеспечить эти инструменты. Непосредственность общения просто не может быть воспроизведена с помощью электронной почты.
Все эти инструменты для совместной работы позволяют разделить беседы по тем категориям, которые имеют для вас значение, например, по командам, проектам или темам. Обычно их называют комнатами или каналами.
Большинство этих инструментов для совместной работы принимают плагины и упорно работают над созданием экосистемы партнеров по интеграции. Например, у вас может быть ваш любимый облачный репозиторий Git, который отправляет вам сообщение — или канал — когда кто-то делает коммит или запрос на слияние, или автоматическая сборка CI / CD завершается или прекращается.
Rocket. Chat — это продукт с открытым исходным кодом. Вы можете использовать его бесплатно или заплатить за дополнительные функции и поддержку. Вы также можете самостоятельно разместить свой собственный сервер Rocket. Chat. Одним из преимуществ такой системы чата является то, что вы можете подключиться к ней из любого места, используя мобильные приложения или даже веб-интерфейс.
Rocket. Chat может это сделать, и его документация охватывает автоматически получение сертификата SSL / TLS от Let’s Encrypt. Но если вы просто хотите окунуться в воду и посмотреть, подойдет ли вам этот тип инструмента или нет, вы можете быстро настроить Rocket. Chat только для внутреннего использования и ничего не подвергая внешнему миру.
Вот что мы вам здесь покажем. Мы установим и настроим Rocket. Chat для внутреннего использования в частной сети. В качестве сервера чата мы использовали предварительную версию Ubuntu 21.10.
Существует щелчок для Rocket. Chat, поэтому установка должна быть безболезненной. Snap разработаны так, чтобы их было легко установить, они изолированы от остальной части вашей системы и обновляются автоматически. Используйте эту команду для установки сервера.
sudo snap установить rocketchat-server
По завершении установки мы говорим Rocket. Chat не использовать HTTPS.
sudo snap установить rocketchat-server https = отключить
Нам нужно сообщить Rocket. Chat, где находится сервер. Замените «ubuntu-21-10.local» сетевым именем вашего сервера.
sudo snap set rocketchat-server caddy-url = http: //ubuntu-21-10.local
Rocket. Chat использует Кэдди в качестве своего HTTP-сервера. Нам нужно включить его, чтобы он запускался автоматически во время загрузки.
sudo snap set rocketchat-server caddy = включить
И, наконец, мы можем инициализировать и запустить Caddy с предоставленными нами настройками:
sudo snap run rocketchat-server.initcaddy
Перезапустите сервисы Rocket. Chat
Если вы когда-нибудь захотите перезапустить сервер Rocket. Chat, вам необходимо перезапустить и службу Rocket. Chat, и службу Caddy.
sudo systemctl перезапустить snap.rocketchat-server.rocketchat-server.service
sudo systemctl перезапустить snap.rocketchat-server.rocketchat-caddy.service
Настройка Rocket. Chat
На экране входа в систему щелкните ссылку «Зарегистрировать новую учетную запись».
Вам будет предложено ввести данные пользователя.
Заполните форму и нажмите синюю кнопку «Продолжить», чтобы продолжить.
Вы должны предоставить некоторую информацию о своей организации.
На следующем экране запрашиваются подробности о вашем сервере Rocket. Chat.
На последнем экране настройки выберите переключатель «Подтвердить автономный режим, вам потребуется». Мы работаем как отдельная локальная система. Мы не используем какой-либо хостинг Rocket. Chat, поэтому «Я согласен с Условиями и Политикой конфиденциальности» не играет роли. Он неактивен.
Первая созданная учетная запись автоматически становится учетной записью администратора.
Чтобы получить доступ к параметрам администрирования, щелкните свой аватар в верхнем левом углу боковой панели. По умолчанию это цветной квадрат, содержащий первую букву вашего имени пользователя.
В раскрывающемся меню выберите «администрирование». На боковой панели перечислены все административные параметры. Мы создадим несколько пользователей. Нажмите на опцию «Пользователи» на боковой панели.
В представлении «Пользователи» нажмите кнопку «Создать».
Появится форма добавления пользователя.
Заполните форму. Вам нужно будет прокрутить вниз, чтобы увидеть все поля. Нажмите кнопку «Сохранить» внизу формы. Когда вы закончите создавать пользователей, нажмите кнопку «X» в правом верхнем углу боковой панели.
Щелкните значок «Создать» в правом верхнем углу боковой панели.
В раскрывающемся меню выберите «# Канал».
Заполните форму нового канала.
Щелчок по значку «Увеличительное стекло» в поле «Добавить участников (необязательно)» открывает список пользователей, из которых вы можете выбирать. Эти пользователи автоматически добавляются на канал. Нажмите синюю кнопку «Создать», чтобы закрыть форму и создать канал.
Теперь, когда вы создали несколько каналов и пользователей, давайте установим клиент и войдем в систему.
Использование настольного приложения Rocket. Chat
Мы также можем установить настольный клиент Rocket. Chat из оснастки. Эта команда сделает именно это.
sudo snap install rocketchat-desktop
Также доступны клиенты для Windows и macOS.
Запустите клиент и войдите в систему как один из пользователей, которых вы только что создали.
Макет клиентского интерфейса соответствует текущему соглашению, в котором каналы перечислены и выбраны на боковой панели, а разговоры отображаются в основной части окна. Если вы использовали какой-либо из основных корпоративных клиентов чата, вы уже знакомы с этим макетом.
Вы можете отправлять файлы и документы, перетаскивая их в окно чата.
Немедленное общение
Платформы для корпоративного чата и совместной работы означают, что члены команды всегда готовы помочь друг другу. Благодаря мгновенному общению нет задержек по электронной почте. Если вы действительно хотите изолировать себя, чтобы сосредоточиться на чем-то, установите для себя статус «занят» или «невидимый» или полностью выйдите из системы.
Если вы решили, что хотите принять Rocket. Chat и использовать его удаленно и из мобильных приложений, зарегистрируйте его в своем домене и установите сертификат SSL / TLS. Документация Rocket. Chat будет пройти через этот процесс.
Создание нового пользователя
Кликаем по «плюсику» для создания нового пользователя:
Заполняем поля и кликаем по Save.
Настройка SSL (Let’s Encrypt)
Настройка подключения по шифрованному каналу выполняется с помощью веб-прокси. Рассмотрим процесс его установки и настройки, а также получение бесплатного сертификата у Let’s Encrypt.
Установка NGINX и получение сертификата
В качестве веб-сервера удобнее всего использовать NGINX. Установим его командой:
Сразу разрешим автозапуск nginx:
systemctl enable nginx
Если мы не планируем использовать сертификат от Let’s Encrypt, то переходим к настройке nginx для Rocket. Chat.
Игаче, создадим конфигурационный файл с настройками для домена:
* в данном примере мы создали виртуальный домен для rocket.dmosk.ru, который слушает запросы только по http. Это нужно, чтобы получить сертификат.
systemctl restart nginx
Если мы используем брандмауэр, создаем правила:
iptables -A INPUT -p tcp —dport 80 -j ACCEPT
iptables -A INPUT -p tcp —dport 443 -j ACCEPT
Получаем сертификат командой:
* данной командой мы создаем запрос на получение сертификата для узла rocket.dmosk.ru, который вы должны заменить своим. Подробнее, процесс описан в инструкции Получение бесплатного SSL сертификата Let’s Encrypt.
Если все сделано правильно, мы увидим:
Создаем задание для автоматического обновления сертификата:
И добавляем строку:
0 0 * * 1,4 /usr/bin/certbot renew && systemctl reload nginx
Настройка NGINX для Rocket. Chat
Открываем наш конфигурационный файл для nginx:
ssl on;
ssl_certificate /etc/letsencrypt/live/rocket.dmosk.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/rocket.dmosk.ru/privkey.pem;
ssl_protocols TLSv1.2;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forward-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
}
* в данном примере мы добавляем настройку для прослушивания 443 порта; в качестве сертификата мы используем /etc/letsencrypt/live/rocket.dmosk.ru/fullchain.pem, которые вы должны заменить своими. Все запросы перенаправляются на локальный сервер порт 3000 (Rocket. Chat).
Установка компонентов
Выполним установку компонентов, необходимых для работы Rocket. Chat в несколько этапов. Очень важно заранее посмотреть поддерживаемые версии программного обеспечения для устанавливаемой версии Rocket. Chat. Их можно увидеть на соответствующей странице Github.
Например, на момент обновления данной инструкции последняя версия Rocket. Chat была 6,2 и для нее версии компонентов были:
В нашей инструкции мы будем выполнять установку MongoDB версии 6. Некоторые команды не будут работать для других версий, так как СУБД претерпела ряд изменений. Если вы собираетесь использовать MongoDB другой версии, сверяйтесь с документацией при возникновении проблем.
Установка необходимых пакетов
apt install curl build-essential graphicsmagick
Установка Nodejs
npm install -g inherits n
Установка MongoDB
Конфигурируем репозиторий для MongoDB:
* jammy — название релиза Ubuntu. В данном примере, версия 22.04. На данный момент возможны варианты:
Импортируем ключи из репозитория для проверки пакетов от подделки:
apt-key adv —keyserver hkp://keyserver.ubuntu.com:80 —recv 9DA31620334BD75D9DCB49F368818C72E52529D4
apt-key adv —keyserver hkp://keyserver.ubuntu.com:80 —recv 6A26B1AE64C3C388
Обновляем список пакетов:
Вносим изменения в конфигурационный файл:
sed -i «s/^# engine:/ engine: wiredTiger/» /etc/mongod.conf
sed -i «s/^#replication:/replication:
replSetName: rs01/» /etc/mongod.conf
Разрешаем автозапуск mongodb и стартуем его:
systemctl enable mongod
systemctl start mongod
Инициализируем базу данных:
mongosh —eval «printjson(rs.initiate())»
В mongodb версии 4 команда будет:
Установка клиента
После установки нужно провести первоначальную настройку.
Затем нужно создать учетную запись администратора
Информацию об организации можно не указывать
В информации о сервере нужно указать тип — Закрытое сообщество
В регистрации сервера — Сохранять автономность
Установка как snap пакета
Rocket. Chat поддерживает установку через пакеты snap. Ставим сам snap:
apt install snapd
snap install rocketchat-server
Сервер установлен и запрещен, статус можно посмотреть командой:
systemctl status snap.rocketchat-server.rocketchat-server
Установка сервера
Все следующие команды выполняются с правами суперпользователя
Обновление списка пакетов
Добавление ключа репозитория mongoDB, вместо 4.4 можно указать другую версию, например 5.0
Добавление репозитория mongoDB, вместо 4.4 так же можно указать другую версию
Добавление репозитория Node.js, вместо 12 можно указать другую версию, например 14
Установка необходимых компонентов
apt-get install -y build-essential mongodb-org nodejs graphicsmagick
И можно установить нужную версию Node.js командой
curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
tar -xzf /tmp/rocket.chat.tgz -C /tmp
Можно удалить архив
Перейти в каталог для установки
Переместить и переименовать каталог с Rocket Chat
mv /tmp/bundle /opt/Rocket. Chat
Изменить владельца каталога
chown -R rocketchat:rocketchat /opt/Rocket. Chat
Создать юнит, для этого
Нужно создать файл
И записать в него следующее
Посте установки mongoDB нужно провести еще одну настройку — настройку механизма хранения и репликации
Для mongoDB 4.0 и ниже выполнить
sed -i «s/^# engine:/ engine: mmapv1/» /etc/mongod.conf
sed -i «s/^#replication:/replication:
replSetName: rs01/» /etc/mongod.conf
Для mongoDB 4.2 и выше выполнить
Эти команды изменяют конфигурацию в файле /etc/mongod.conf
Добавление в автозагрузку и запуск mongoDB
systemctl enable mongod
systemctl start mongod
Если mongod не запускается и в выводе команды
systemctl status mongod
Есть такие ошибки
mongod.service: Main process exited, code=dumped, status=4/ILL
mongod.service: Failed with result ‘core-dump’.
Возможно дело в том, что mongoDB последних версий не поддерживает старые процессоры и нужно удалить установленную версию mongoDB командами
apt-get purge mongodb-org*
apt-get purge mongodb*
rm -rf /var/log/mongodb /var/lib/mongodb
apt-get autoremove
И провести установку более старой версии.
Проверить работу mongoDB можно выполнив
mongo —eval «printjson(rs.initiate())»
Должен быть примерно следующий вывод
Если вывод не полный нужно перезапустить службу mongod
Добавление в автозагрузку и запуск Rocket chat
systemctl enable rocketchat
systemctl start rocketchat
Если проверить статус командой
systemctl status rocketchat
Вывод должен быть примерно таким
Если появляется примерно такая ошибка
Значит стоит неправильная версия Node.js
Настройка языка
Открываем клиентскую программу — кликаем по значку пользователя — выбираем My Account:
Выбираем язык и сохраняем настройки:
Настройка языка по умолчанию
Выбираем пункт меню General:
Выбираем язык по умолчанию:
Установка и настройка Rocket. Chat
Для установки скачиваем пакет:
* обязательно сохраняем архив в каталог /tmp.
Распаковываем скачанный пакет:
tar -zxf /tmp/rocket.chat.tgz -C /tmp
Переходим в распакованный каталог:
Создаем пользователя для rocketchat:
* где первая команда создаст пользователя rocketchat без домашнего каталога; вторая — блокирует пароль пользователя.
Задаем владельца для каталога с rocketchat:
Создаем файл для нового юнита в systemd:
* в данном примере сервис будет запущен на порту 3000.
Применяем изменения в systemd:
Разрешаем сервис для rocketchat и запускаем сервер для чата:
Ждем около 20 секунд — запуск выполняется не сразу.
Если используется брандмауэр, открываем порт:
iptables -A INPUT -p tcp —dport 3000 -j ACCEPT
Установка клиента Rocket Chat через групповые политики(gpo) Active directory
Копирование конфигурационного файла config.json позволяет после установки не вводить на каждом компьютере адрес сервера. Сам файл config.json можно взять из папки %APPDATA%Rocket. Chat на компьютере где установлен и настроен Rocket Chat.
Для установки через домен нужно поместить bat файл, установочный пакет msi клиента Rocket Chat и файл config.json в общедоступную папку. Затем создать групповую политику, в которую по пути
Конфигурация пользователя
Политики
Конфигурация Windows
Сценарии
Другие полезные настройки которые можно добавить
Если нет домена, можно создать пользователей Rocket Chat вручную, а если домен есть, можно настроить получение пользователей из него. Можно создать в домене пользователя для обмена данными с Rocket Chat или использовать существующего.
Для настройки получения пользователей из домена, нужно под учетной записью администратора чата в меню нажать иконку пользователя, зайти в Администрирование
Найти пункт Протокол LDAP
Теперь можно выполнить проверку соединения нажав на соответствующую кнопку и введя имя доменного пользователя. Затем можно нажать Запуск фоновой синхронизации.
Настройка времени показа уведомлений о новых сообщениях
В данной версии нельзя указать время показа уведомлений о новых сообщениях через настройки, можно изменить его через реестр windows, той системы на которой будет стоять клиент, для этого нужно сделать файл с расширением .reg и выполнить его со следующим содержимым
где 2710 — это количество секунд в шестнадцатиричном виде или 10000 секунд в десятичном виде.
После записи значения в реестр все сообщения системы и чата будут отображаться, пока не пройдет 10000 секунд от получения сообщения. Эту настройку так же можно распространить через групповые политики.
Установка и настройка клиента
Переходим на страницу загрузки Rocket. Chat и скачиваем клиента для нужной операционной системы:
* клиент может быть установлен на Windows, Mac OS, Linux. В данном примере скачиваем для Windows.
При первом входе клиент потребует зарегистрировать учетную запись администратора. Заполняем поля и регистрируемся.