В этой статье по аналогии предыдущей про Zulip опишу процесс внедрения решения в Российскую парфюмерную компанию с большим количеством пользователей большая часть из которых региональные дистрибьюторы и продавцы.
- Информация о продукте
- Задачи компании
- Системные требования
- Регистрация записи в DNS и проброс портов
- Установка Rocket.Chat
- Настройка SSL (Let's Encrypt)
- Установка клиентского приложения
- Вывод
Информация о продукте
Rocket.Chat — это бесплатный масштабируемый open source корпоративный чат, который можно считать аналогом Slack и можно развернуть на своем сервере, подключаясь к нему с клиентских приложений под Linux, Windows, macOS, Android и iOS.
Функции Rocket.Chat
- Чат в реальном времени
- Аудио конференции
- Видео конференции
- Каналы
- Гостевой вход
- Трансляция экрана
- Передача файлов
- Полнофункциональный API
Для обеспечения безопасности используется:
- Групповая синхронизация LDAP
- Двухфакторная аутентификация 2FA
- Сквозное шифрование
- Единый вход SSO
- Несколько поставщиков Oauth аутентификации
Задачи компании
Для живого - реал-тайм группового общения центрального офиса компании, завода по производству парфюмерии и сотрудникам региональных представительств компании необходим свой собственный корпоративный чат, имеющий мультиплатформенные клиентские приложения и работать с которым можно было бы из любого уголка нашей необъятной родины. Количество сотрудников 200+.
Системные требования
Минимальные требования:
- двухядерный процессор от 2 ГГц
- 2 ГБ ОЗУ
- 30 ГБ твердотельного накопителя
Озвученные выше минимальные системные требования идеально подходят для небольших развертываний до 200 пользователей и до 50 одновременных активных пользователей.
Системные требования под текущие задачи:
- Виртуальная машина Proxmox.
- 2 ядра intel xeon 2Ггц
- Память 2ГБ
- Жесткий диск 50ГБ с возможностью расширения
Поддерживаемые ОС:
- Ubuntu 18.04, 19.04, 20.04
- CentOS 7, 8
- Debian 9, 10, 11
Регистрация записи в DNS и проброс портов
Для тех у кого нет домена, советую nethouse.ru - очень шустро обновляются ДНС записи.
Если у вас уже есть сайт или планируется, то рекомендую добавить DNS запись типа А с именем chat.company.ru и ip адресом вашего маршрутизатора в качестве значения.
На маршрутизаторе нужно добавить запись dnat, протокол tcp, порты 80, 443 и в качестве назначения ip адрес вашего сервера с Rocket.Chat.
Установка Rocket.Chat
Установка будет проводиться в уже установленной операционной системе Ubuntu Server 22.04LTS.
Повышаем права в системе:
sudo -s
В репозитории пакетного менеджера Apt нет данных о Rocket.Chat, поэтому используем для установки другой пакетный менеджер Snap, он предустановлен в большинстве современных дистрибутивов.
Установка Rocket.Chat с помощью snap на Ubuntu так же проста, как и выполнение:
snap install rocketchat-server
Затем перейдем в панель администрирования по адресу: http://ip_address:3000.
Регистрируем нашего администратора в системе.
Заполняем информацию по организации
Последний шаг, регистрация
Вам на почту придет письмо с подтверждением регистрации и просьбой пройти по ссылке для подтверждения почтового ящика.
Настройка SSL (Let's Encrypt)
Для получения сертификата нам потребуется вэб сервер NGINX
Установим его командой:
apt-get install nginx
Разрешим автозапуск nginx:
systemctl enable nginx
Создадим конфигурационный файл с настройками для домена:
nano /etc/nginx/sites-enabled/chat.company.ru.conf
server {
listen 80;
server_name rocket.dmosk.ru;
root /usr/share/nginx/html;
}
Перезапускаем nginx:
systemctl restart nginx
Устанавливаем certbot:
apt-get install certbot
Получаем сертификат командой:
certbot certonly --webroot --agree-tos --email admin@company.ru --webroot-path /usr/share/nginx/html/ -d chat.company.ru
Если вы все сделали правильно, то увидим:
Создаем задание для автоматического обновления сертификата:
Устанавливаем планировщик событий Cron:
apt install cron
Выполняем команду:
crontab -e
Система спросит каким редактором открыть, нажимаем 1 открываем в nano:
В конце файла добавляем строку:
0 0 * * 1,4 /usr/bin/certbot renew && systemctl reload nginx
Сохраняем и выходим: CTRL+O и CTRL+X
Правим конфигурационный файл с настройками для домена:
nano /etc/nginx/sites-enabled/chat.company.ru.conf
server {
listen 443;
server_name chat.company.ru;
client_max_body_size 200M;
error_log /var/log/nginx/rocketchat.access.log;
ssl on;
ssl_certificate /etc/letsencrypt/live/chat.company.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/chat.company.ru/privkey.pem;
ssl_protocols TLSv1.2;
location / {
proxy_pass http://127.0.0.1:3000/;
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;
}
}
Перезагружаем NGINX:
systemctl restart nginx
Проверяем наш сайт по адресу https://chat.company.ru - должен открываться и сертификат должен быть валидным.
Установка клиентского приложения
Для установки десктопного приложения под Windows пройдите по ссылке https://releases.rocket.chat/desktop/latest/download
Установка приложения под Windows
Вбиваем адрес нашего сервера http://chat.company.ru
Далее клиент предлагает нам пройти авторизацию.
Для macOS можно найти в App Store https://apps.apple.com/br/app/rocket-chat/id1086818840
Для Linux пройдите по ссылке и выберите для своего дистрибутива https://snapcraft.io/rocketchat-desktop
Для мобильных устройств:
Rocket.Chat в App Store -- https://apps.apple.com/us/app/rocket-chat/id1148741252
Rocket.Chat в Google Play -- https://play.google.com/store/apps/details?id=chat.rocket.android
Вывод
Прекрасный корпоративный чат, сотрудники парфюмерной компании довольны его работой. Легкий в установке и настройке, малопотребляющий ресурсов, хорошо документирован.