Rocket.Chat – это бесплатная, открытая для всех, масштабируемая, высококонфигурируемая и безопасная платформа, которая позволяет вам общаться и сотрудничать с вашей командой, обмениваться файлами и общаться в реальном времени. Она кросс-платформенная и работает на операционных системах Linux, Windows, macOS, Android и iOS.
Это похоже на Slack и предлагает онлайн-чат, бесплатные аудио- и видеоконференции, каналы, гостевой доступ, поделиться экраном и файлами. Для обеспечения безопасной коммуникации поддерживается синхронизация групп LDAP, двухфакторная аутентификация (2FA), конечное шифрование, единый вход и несколько провайдеров Oauth.
Важно, что, будучи полностью открытым исходным кодом, вы можете получить доступ к его исходному коду, чтобы полностью настроить, расширить или добавить новые функции, чтобы соответствовать требованиям вашей команды или бизнеса.
В этой статье вы узнаете, как установить и настроить сервер и клиент Rocket.Chat на системе Linux.
Шаг 1: Установка Snaps в Linux
1. Самый простой способ установить Rocket.Chat – использовать Snaps – они поддерживаются большинством, если не всеми, современными дистрибутивами Linux, и они безопасны, потому что выполняются в изолированном режиме под строгим безопасным песочницей. Кроме того, с помощью snaps вы также можете автоматически обновляться, когда доступна новая версия пакета.
Сначала убедитесь, что у вас установлен пакет snapd на вашей системе, в противном случае установите его, используя ваш менеджер пакетов по умолчанию, как показано ниже.
$ sudo apt install snapd #Ubuntu and Debian $ sudo dnf install snapd #Fedora 22+/CentOS/RHEL 8 $ sudo yum install snapd #CentOS/RHEL 7
2. Когда установка завершена, вам нужно включить юнит systemd, управляющий основным сокетом связи snap, следующим образом. Обратите внимание, что эта команда запустит сокет и включит его для запуска при загрузке системы. На Ubuntu это должно произойти автоматически после завершения установки пакета.
$ sudo systemctl enable --now snapd.socket
Кроме того, вы можете включить поддержку классического snap, создав символическую ссылку между /var/lib/snapd/snap и /snap.
$ sudo ln -s /var/lib/snapd/snap /snap
Шаг 2: Установка Rocket.Chat в Linux
3. Теперь, когда у вас установлен Snapd, выполните следующую команду, чтобы установить rocketchat-server.
$ sudo snap install rocketchat-server
4. После завершения установки snap ваш сервер rocket.chat начнет работу и будет прослушивать порт 3000 по умолчанию. Откройте веб-браузер и введите следующий адрес, чтобы настроить rocket.chat на системе.
http://SERVER_IP:3000
5. После загрузки мастера настройки введите полное имя администратора, имя пользователя, организационный адрес электронной почты и пароль.

6. Затем предоставьте организационную информацию (тип организации, название, отрасль, размер, страна и веб-сайт), затем нажмите «Продолжить».

7. Затем укажите информацию о сервере (имя сайта, тип сервера по умолчанию, и также включите 2FA или нет). Затем нажмите «Продолжить».

На следующей странице зарегистрируйте сервер. Здесь есть два варианта, по умолчанию используются предварительно настроенные шлюзы и прокси, предоставляемые Rocket.Chat (рекомендуемый вариант).
Также вы можете выбрать автономный режим и создать учетные записи у поставщиков услуг, обновить предварительно настроенные параметры, а также перекомпилировать мобильные приложения с вашими личными сертификатами. И нажмите «Продолжить».

Установка завершена, и ваше рабочее пространство готово. Нажмите Перейти в ваше рабочее пространство.


Шаг 3: Настройка обратного прокси для Rocket.Chat
9. Обратный прокси, такой как NGINX или Apache, позволяет настроить приложение Rocket.Chat для доступа через домен или поддомен (например, http://chat.tecmint.com) вместо ввода адреса сервера и порта приложения (например, http://10.42.0.247:3000).
Кроме того, Rocket.Chat является промежуточным сервером приложений, не обрабатывающим SSL/TLS. Обратный прокси также позволяет настроить сертификаты SSL/TLS для включения HTTPS.
Включение обратного прокси Nginx для Rocket.Chat
10. Сначала установите пакет NGINX, если его еще нет в вашей системе.
$ sudo apt apt install nginx #Ubuntu/Debian $ sudo dnf install nginx #Fedora 22+/CentOS/RHEL 8 $ sudo yum install nginx #CentOS/RHEL 7
11. После завершения установки пакета запустите службу Nginx, чтобы включить ее автоматический запуск при загрузке системы, и проверьте ее статус, чтобы убедиться, что она работает.
$ sudo systemctl enable --now nginx $ sudo systemctl status nginx
12. Затем создайте файл блока виртуального сервера для приложения Rocket.Chat в каталоге /etc/nginx/conf.d/, например.
$ sudo vim /etc/nginx/conf.d/chat.tecmint.com.conf
Затем скопируйте и вставьте следующую конфигурацию в файл (замените chat.tecmint.com на свой действительный поддомен или домен).
upstream backend { server 127.0.0.1:3000; } server { listen 80; server_name chat.tecmint.com; # You can increase the limit if you need to. client_max_body_size 200M; error_log /var/log/nginx/chat.tecmint.com.log; location / { proxy_pass http://backend/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; 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; } }
Сохраните файл и закройте его.
13. Затем проверьте конфигурацию NGINX на наличие синтаксических ошибок. Если все в порядке, перезапустите сервис Nginx, чтобы применить недавние изменения.
$ sudo nginx -t $ sudo systemctl restart nginx
Включите обратный прокси Apache для Rocket.Chat
14. Начните с установки пакета Apache2, если он еще не установлен, на вашей системе.
$ sudo apt install apache2 #Ubuntu/Debian $ sudo dnf install httpd #Fedora 22+/CentOS/RHEL 8 $ sudo yum install httpd #CentOS/RHEL 7
15. Затем запустите и включите службу apache и проверьте, работает ли она, следующим образом.
----- On Ubuntu/Debian ----- $ sudo systemctl enable --now apache2 $ sudo systemctl status apache2 ----- On CentsOS/RHEL 7/8 ----- $ sudo systemctl enable --now httpd $ sudo systemctl status httpd
16. Затем создайте файл виртуального хоста для приложения Rocket.Chat в каталоге /etc/apache2/sites-available/ или /etc/httpd/conf.d/, например.
----- On Ubuntu/Debian ----- $ sudo vim /etc/apache2/sites-available/chat.tecmint.com.conf ----- On CentsOS/RHEL 7/8 ----- $ sudo vim /etc/httpd/conf.d/chat.tecmint.com.conf
17. Скопируйте и вставьте следующую конфигурацию в него, замените chat.tecmint.com на свой действительный домен.
<VirtualHost *:80> ServerAdmin [email protected] ServerName chat.tecmint.com LogLevel info ErrorLog /var/log/chat.tecmint.com_error.log TransferLog /var/log/chat.tecmint.com_access.log <Location /> Require all granted </Location> RewriteEngine On RewriteCond %{HTTP:Upgrade} =websocket [NC] RewriteRule /(.*) ws://localhost:3000/$1 [P,L] RewriteCond %{HTTP:Upgrade} !=websocket [NC] RewriteRule /(.*) http://localhost:3000/$1 [P,L] ProxyPassReverse / http://localhost:3000/ </VirtualHost>
Сохраните файл и закройте его.
18. На Ubuntu и Debian включите необходимые модули apache2 и перезапустите службу, чтобы применить недавние изменения.
$ sudo a2enmod proxy_http $ sudo a2enmod proxy_wstunnel $ sudo a2enmod rewrite $ sudo systemctl restart apache2
На CentOS/RHEL и Fedora просто перезапустите службу apache.
# systemctl restart httpd
19. Теперь всё настроено правильно, откройте свой браузер и введите следующий адрес. Приложение Rocket.Chat должно быть доступно с использованием вашего домена, настроенного в прокси-сервере.
http://chat.tecmint.com

20. Следующим важным шагом является добавление безопасности и конфиденциальности с помощью сертификата HTTPS к вашему чат-сервису. Для продуктивной среды мы рекомендуем использовать Let’s Encrypt, который бесплатен и доверен большинством современных веб-браузеров.
Обратите внимание, что Let’s Encrypt автоматизирован: вы можете использовать certbot, бесплатный инструмент с открытым исходным кодом, чтобы автоматически получать и устанавливать, или просто получать и устанавливать сертификаты Let’s Encrypt в основных дистрибутивах Linux и веб-серверах.
Шаг 4: Установка клиентов Rocket.Chat на рабочих столах
21. Наконец, вы можете скачать и установить приложение Rocket.Chat для рабочего стола Linux, Mac или Windows с веб-сайта проекта Rocket.Chat. Также предоставляются мобильные приложения для Android и iOS.
Для установки приложения для рабочего стола на Linux вам необходимо скачать пакет deb (x64) или rpm (x64) в зависимости от вашего дистрибутива Linux.
$ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat_2.17.7_amd64.deb OR $ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat-2.17.7.x86_64.rpm
22. Затем установите пакет, используя менеджер пакетов dpkg или rpm, как показано.
$ sudo dpkg -i rocketchat_2.17.7_amd64.deb #Ubuntu/Debian $ sudo rpm -i rocketchat-2.17.7.x86_64.rpm #CentOS/RedHat
23. После завершения установки пакета найдите rocket.chat в Меню системы и запустите его. После загрузки введите URL вашего сервера, чтобы подключиться к нему, как показано на следующем скриншоте.
Source:
https://www.tecmint.com/rocket-chat-open-source-team-chat-for-linux/