Поиск по сайту:

Rocket.Chat — инструмент командного общения с открытым исходным кодом для Linux


Rocket.Chat – это бесплатная масштабируемая, легко настраиваемая и безопасная платформа с открытым исходным кодом, которая позволяет вам общаться и сотрудничать с вашей командой, обмениваться файлами и общаться в чате в режиме реального времени. Он является кроссплатформенным и работает на мобильных операционных системах Linux, Windows, macOS, Android и iOS.

Он похож на Slack и включает в себя чат, бесплатные аудио- и видеоконференции, каналы, гостевой доступ, совместное использование экрана и файлов. Для обеспечения безопасной связи он поддерживает групповую синхронизацию LDAP, двухфакторную аутентификацию (2FA), сквозное шифрование, единый вход и несколько поставщиков Oauth.

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

В этой статье вы узнаете, как установить и настроить сервер и клиент Rocket.Chat в системе Linux.

Шаг 1. Установка Snaps в Linux

1. Самый простой способ установить Rocket.Chat — использовать Snaps. Они поддерживаются большинством, если не всеми современными дистрибутивами Linux, и они безопасны. потому что они работают в изолированной программной среде с ограничительными мерами безопасности. Кроме того, с помощью снимков вы также можете автоматически обновляться, когда доступна новая версия пакета.

Сначала убедитесь, что в вашей системе установлен пакет napd, в противном случае установите его с помощью менеджера пакетов по умолчанию, как показано.

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 установить ракетный чат-сервер

4. Когда установка Snap будет завершена, ваш сервер rocket.chat начнет работать и прослушивать порт 3000 по умолчанию. Откройте веб-браузер и введите следующий адрес, чтобы настроить rocket.chat в системе.

http://SERVER_IP:3000

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

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

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

8. На следующей странице зарегистрируйте сервер. Здесь есть два варианта: по умолчанию используются предварительно настроенные шлюзы и прокси, предоставляемые Rocket.Chat (это рекомендуемый вариант).

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

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

Шаг 3. Настройка обратного прокси-сервера для Rocket.Chat

9. Обратный прокси-сервер, такой как NGINX или Apache, позволяет настроить доступность приложения Rocket.Chat. через домен или субдомен (например, http://chat.linux-console.net) вместо ввода адреса сервера и порта приложения (например, 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.linux-console.net.conf

Затем скопируйте и вставьте в файл следующую конфигурацию (замените chat.linux-console.net на свой действительный субдомен или домен).

upstream backend {
    server 127.0.0.1:3000;
}

server {
    listen 80;
    server_name chat.linux-console.net;

    # 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.linux-console.net.conf

----- On CentsOS/RHEL 7/8 ----- 
sudo vim /etc/httpd/conf.d/chat.linux-console.net.conf

17. Скопируйте и вставьте в нее следующую конфигурацию, замените chat.linux-console.net своим действительным доменом.

<VirtualHost *:80>
    ServerAdmin [email 
    ServerName chat.linux-console.net

    LogLevel info
    ErrorLog /var/log/chat.linux-console.net_error.log
    TransferLog /var/log/chat.linux-console.net_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.linux-console.net

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-адрес вашего сервера, чтобы подключиться к нему, как показано на следующем снимке экрана.