- Сервера для организации общения по сети (чаты, ICQ и т.п.)
- Bahamut
- BitlBee
- ejabberd
- IRCD-Hybrid
- ircd-RU
- jabberd
- Kamailio
- MUSCLE
- ONLYOFFICE
- Openfire
- OpenSIPS
- Корпоративный чатик на чем лучше поднять?
- Установка и настройка сервера Rocket.Chat на Ubuntu
- Установка компонентов
- Установка необходимых пакетов
- Установка MongoDB
- Установка и настройка Rocket.Chat
- Установка
- Настройка
- Установка и настройка клиента
- Создание нового пользователя
- Настройка языка
- Выбор языка в клиенте
- Настройка языка по умолчанию
- Настройка SSL (Let’s Encrypt)
- Установка NGINX и получение сертификата
- Настройка NGINX для Rocket.Chat
- Установка как snap пакета
Сервера для организации общения по сети (чаты, ICQ и т.п.)
Bahamut
Популярный IRC сервер. Используется на серверах DALnet. Основан на DreamForge и IRCD-Hybrid.
BitlBee
BitlBee — кроссплатформенный IRC‐сервер с открытым исходным кодом, выступающий в роли шлюза для мгновенного обмена сообщениями с другими типами сетей. Приложение является свободным программным обеспечением и распространяется под лицензией GNU General Public License.
ejabberd
ejabberd — это свободный (GNU GPL), распределённый и устойчивый к отказам XMPP-сервер, написанный в основном на Erlang.
IRCD-Hybrid
Старейший и наиболее известный ircd. Именно этот демон используется на большинстве серверов сети EFnet. Hybrid отличается стабильностью работы и гибкостью настройки. Поддерживает IPV6, сжатие трафика и OpenSSL (только для серверов).
ircd-RU
Bahamut с добавленной в него поддержкой кириллицы и других кодировок в названиях ников и каналов. Активно используется в сети WeNet.
jabberd
jabberd (jabber daemon) — это исторически самая первая реализация Jabber-сервера. На первых порах, когда технология делала первые шаги, это был единственный сервер.
Kamailio
Kamailio — Высокопроизводительный SIP-сервер с открытым исходным кодом, форк проекта OpenSER.
MUSCLE
MUSCLE (Multi User Server Client Linking Environment) — это сервер для организации обмена сообщениями и сетевой API.
ONLYOFFICE
ONLYOFFICE™ — это универсальный облачный офис для организации совместной работы. Он позволяет управлять документами, проектами, командой и взаимоотношениями с клиентами в едином пространстве.
Openfire
Openfire — мощный jabber-сервер, написанный на Java. Отличается широкой функциональностью, поддержкой современных стандартов (таких как MUC, Jingle, STUN, PEP), поддержкой кластеризации в платной версии, поддержкой плагинов. Может использовать как встроенную базу данных, так и внешнюю, такую как MySQL, PostgreSQL, Firebird и т.п.
OpenSIPS
OpenSIPS — мощный и гибкий SIP-прокси. Разработчики утверждают, что продукт способен обслуживать несколько сот тысяч одновременных подключений.
Источник
Корпоративный чатик на чем лучше поднять?
В общем требования просты:
- Клиенты под андроид, винду и линукс.
- Красивые клиенты.
- Удобные клиенты 🙂
- Сервер собственный в корпоративной сети.
- Возможность видео и аудио общения, так же передачи файлов.
- Управление группами и пользователями.
- Сервер на линуксе, желательно что бы просто в репах убунты лежал и ставился с них.
Почти под все пункты подходит телеграм 🙂
Если инфа не критична — будь как все, slack. Иначе только свой жабир на открытых сервере и клиентах.
slack(есть видео)/telegram(нет видео)
В корпоративной среде не бывает «удобных и красивых», бывает корпоративный стандарт, которому все следуют.
Если ты на мнение пользователей будешь ориентироваться — затея изначально провальная, независимо от инструментов, операционных систем и т.п.
Сервер собственный в корпоративной сети
Если это выкинуть, то Telegram 🙂 Чем у нас народ и пользуется (корпоративно, в смысле).
Если, вот, прям, критичное требование, то чем-то другим придётся жертвовать. Под все требования скопом не подходит сегодня ни одно решение.
jabber, конечно же.
Rocket Chat, Mattermost, etc.
Если уже есть гитлаб, то маттермост. Если нет, все равно маттермост 🙂
желательно что бы просто в репах убунты лежал и ставился с них.
Проект, правда, год как заморожен и лицензия там не очень корпоративная, но актуальности ещё не потерял.Что-то полезное веб-архив помнит https://web.archive.org/web/20161010104156/https://developer.actor.im/docs/we.
В телеграме квестом является промотать историю на неделю назад — занимает от получаса до двух часов. Нет поддержки форматирования кода, секретных чатов тоже нет.
Так оно же платное вроде, а надо на своем сервере и бесплатное.
Telegram для многопользовательских чатов — полное убожество. Особенно в mobile-версиях.
Тот же Slack содержит в пять раз больше полезной информации на единицу площади, причем в более читабельном виде, в виде нормального последовательного текста, а не надерганных кусков фраз спрятанных в промежутках между аватарами, стикерами и смайлами, которые сто лет никому не нужны.
Система тредов, реакций и нотификации опять же в Slack намного более продуманная, и т.д. и т.п.
Телеграм годится как замена смскам и не более того.
Плюсую Рокетчат. Неплохое решение, на убунте взлетает.
На работе (ынтырпрайз) идут в ход Skype for bussiness (говно, как и обычный)
Cisco spark (огонь штука, очень удобно. аудио, видео, демонстрация экрана, куча интеграций) — закрытый, возможно — дорогой, не знаю.
Сервер на линуксе, желательно что бы просто в репах убунты лежал и ставился с них.
поставляется в ova, разворачивается с полпинка.
для этого можно использовать бота, собирающего историю удобным образом
Источник
Установка и настройка сервера Rocket.Chat на Ubuntu
В данной инструкции мы рассмотрим установку и настройку сервиса Rocket.Chat на своем собственном сервере с Ubuntu.
Установка компонентов
Выполним установку компонентов, необходимых для работы Rocket.Chat в несколько этапов.
Установка необходимых пакетов
curl -sL https://deb.nodesource.com/setup_12.x | sudo bash —
apt-get install curl build-essential graphicsmagick nodejs
- curl — служебная программа для взаимодействия с сервисами по различным протоколам с синтаксисом URL. Нам понадобиться для скачивания файлов.
- build-essential — пакет, необходимый для сборки других пакетов.
- graphicsmagick — набор программ для чтения и редактирования файлов различных графических форматов.
- nodejs — программная платформа, которая делает код javascript в язык общего назначения.
Устанавливаем inherits и node версии 12.14.0:
npm install -g inherits n && sudo n 12.14.0
Установка MongoDB
Конфигурируем репозиторий для MongoDB:
deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse
Импортируем ключ из репозитория для проверки пакетов от подделки:
apt-key adv —keyserver hkp://keyserver.ubuntu.com:80 —recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Обновляем список пакетов:
И устанавливаем mongodb-org:
apt-get install mongodb-org
Вносим изменения в конфигурационный файл:
sed -i «s/^# engine:/ engine: mmapv1/» /etc/mongod.conf
sed -i «s/^#replication:/replication:\n replSetName: rs01/» /etc/mongod.conf
Разрешаем автозапуск mongodb и стартуем его:
systemctl enable mongod
systemctl start mongod
Инициализируем базу данных:
mongo —eval «printjson(rs.initiate())»
Установка и настройка Rocket.Chat
Установка
Для установки скачиваем пакет:
curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
* обязательно сохраняем архив в каталог /tmp.
Распаковываем скачанный пакет:
tar zxf /tmp/rocket.chat.tgz -C /tmp
Переходим в распакованный каталог:
Выполним установку rocket.chat:
. и переносим его в каталог /opt:
mv /tmp/bundle /opt/Rocket.Chat
Настройка
Создаем пользователя для rocketchat:
useradd -M rocketchat
usermod -L rocketchat
* где первая команда создаст пользователя rocketchat без домашнего каталога; вторая — блокирует пароль пользователя.
Задаем владельца для каталога с rocketchat:
chown -R rocketchat:rocketchat /opt/Rocket.Chat
Создаем файл для нового юнита в systemd:
[Unit]
Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target nginx.target mongod.target
[Service]
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocketchat
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 ROOT_URL=http://localhost:3000/ PORT=3000
* в данном примере сервис будет запущен на порту 3000.
Применяем изменения в systemd:
Разрешаем сервис для rocketchat и запускаем сервер для чата:
systemctl enable rocketchat
systemctl start rocketchat
Ждем около 20 секунд — запуск выполняется не сразу.
Если используется брандмауэр, открываем порт:
iptables -A INPUT -p tcp —dport 3000 -j ACCEPT
. и сохраняем настройки:
apt-get install iptables-persistent
Установка и настройка клиента
Переходим на страницу загрузки Rocket.Chat и скачиваем клиента для нужной операционной системы:
* клиент может быть установлен на Windows, Mac OS, Linux. В данном примере скачиваем для Windows.
Устанавливаем и запускаем программу — откроется окно для подключения. Вводим IP-адрес и порт нашего сервера:
. система проверит подключение к серверу и предложит подключиться к серверу.
При первом входе клиент потребует зарегистрировать учетную запись администратора. Заполняем поля и регистрируемся.
Создание нового пользователя
Переходим к администрированию сервера. Кликаем по иконки меню (с тремя точками) и выбираем Administration:
Переходим в раздел Users:
Кликаем по «плюсику» для создания нового пользователя:
Заполняем поля и кликаем по Save.
Настройка языка
Выбор языка в клиенте
Открываем клиентскую программу — кликаем по значку пользователя — выбираем My Account:
Кликаем по Preferences:
Выбираем язык и сохраняем настройки:
Настройка языка по умолчанию
Переходим к администрированию сервера. Кликаем по иконки меню (с тремя точками) и выбираем Administration:
Выбираем пункт меню General:
Выбираем язык по умолчанию:
. и сохраняем настройки.
Настройка SSL (Let’s Encrypt)
Настройка подключения по шифрованному каналу выполняется с помощью веб-прокси. Рассмотрим процесс его установки и настройки, а также получение бесплатного сертификата у Let’s Encrypt.
Установка NGINX и получение сертификата
В качестве веб-сервера удобнее всего использовать NGINX. Установим его командой:
apt-get install nginx
Сразу разрешим автозапуск nginx:
systemctl enable nginx
Если мы не планируем использовать сертификат от Let’s Encrypt, то переходим к настройке nginx для Rocket.Chat.
Игаче, создадим конфигурационный файл с настройками для домена:
server <
listen 80;
server_name rocket.dmosk.ru;
root /usr/share/nginx/html;
>
* в данном примере мы создали виртуальный домен для 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
apt-get install certbot
Получаем сертификат командой:
certbot certonly —webroot —agree-tos —email postmaster@dmosk.ru —webroot-path /usr/share/nginx/html/ -d rocket.dmosk.ru
* данной командой мы создаем запрос на получение сертификата для узла rocket.dmosk.ru, который вы должны заменить своим. Подробнее, процесс описан в инструкции Получение бесплатного SSL сертификата Let’s Encrypt.
Если все сделано правильно, мы увидим:
IMPORTANT NOTES:
— Congratulations! Your certificate and chain have been saved at:
.
Создаем задание для автоматического обновления сертификата:
И добавляем строку:
0 0 * * 1,4 /usr/bin/certbot renew && systemctl reload nginx
Настройка NGINX для Rocket.Chat
Открываем наш конфигурационный файл для nginx:
server <
listen 443;
server_name rocket.dmosk.ru;
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;
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;
* в данном примере мы добавляем настройку для прослушивания 443 порта; в качестве сертификата мы используем /etc/letsencrypt/live/rocket.dmosk.ru/fullchain.pem, которые вы должны заменить своими. Все запросы перенаправляются на локальный сервер порт 3000 (Rocket.Chat).
systemctl restart nginx
Пробуем подключиться к серверу по адресу https: .
Установка как snap пакета
Rocket.Chat поддерживает установку через пакеты snap. Ставим сам snap:
apt-get install snapd
snap install rocketchat-server
Сервер установлен и запрещен, статус можно посмотреть командой:
systemctl status snap.rocketchat-server.rocketchat-server
В каталог с установленным сервером можно перейти командой:
Источник