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