Установка и настройка mattermost — форк корпоративного мессенджера slack

Введение

Начну с того, что расскажу, о чем уже писал на сайте:

  • Форк слака – mattermost. В целом понравился, работает нормально, особых багов нет. Но в бесплатной версии много ограничений и мало функционала. В статье все это указано, плюс много полезных комментариев. Видел этот сервер в реальной эксплуатации. Пользоваться можно, если вас устраивает функционал.
  • Чат сервер matrix и клиент Riot к нему. Хороший функционал в бесплатной версии, но показался сырым. Все подробности и мое мнение про продукту представлено в статье, рекомендую ознакомиться.
  • Чат сервер MyChat. Обширный функционал и хорошая документация. Бесплатная версия на 20 пользователей с небольшими ограничениями. Невысокая цена за полную версию. Стабильный, легкий быстрый клиент как для PC, так и для смартфона.

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

Zulip в этом плане не сильно хуже или лучше, он в целом похож немного на mattermost и прочие клоны slack. Мне он понравился, так как не заметил существенных недостатков, но в целом они тоже есть и для кого-то будут критичными. Перечислю их:

  • Сервер только под Ubuntu. В плане установки и настройки каких-то серьезных проблем в связи с этим нет. Но если у вас вся инфраструктура на других дистрибутивах, не хочется использовать сторонние дистрибутивы. Как минимум, поддержку Centos и Debian можно было бы сделать. Лично я предпочитаю именно их. Есть возможность самому руками поставить все компоненты и связать друг с другом, но это очень хлопотно. Я в итоге взял убунту и поставил все автоматом на нее.
  • Плохая русификация. Когда выбираешь русский язык, тебе честно говорят, что переведено 97%, но на деле в настройках достаточно много пунктов на английском языке, перемешанных с русскими. Пользоваться в таком формате очень неудобно, поэтому остается только вариант использовать английский язык. Либо оставлять как есть, но лично я не люблю, когда что-то сделано коряво. Если переводить, то все, а не так, как сделано. Но тут важный момент. Когда я начинал писать статью, перевод был значительно хуже. С выходом последней версии 1.8.0 перевод улучшился значительно.
  • Некоторый функционал работает не очевидно и не очень понятно. Например, отправка уведомления в чаты через email. Если у вас русские названия чатов, то работать это не будет. Так же не очень понятно, как настроить авторизацию через ldap c AD. Информации в документации не достаточно.

Среди плюсов отмечу следующее:

  • Хорошая документация, за исключением отдельных моментов. Это редкость. В интернете нет никаких статей и примеров настройки, но я смог почти все сделать и во всем разобраться по документации. Можете сами оценить – pdf.
  • Простой и лаконичный интерфейс. Ничего лишнего, в основном все интуитивно понятно.
  • Отдельные ветки обсуждений в одной конференции. К примеру, можно создать конференцию ИТ отдел и в ней выделить несколько тем со своим ветвением диалогов. Например – закупки, поддержка пользователей, настройка серверов, заявки и т.д.
  • Возможность пересылки сообщений из email сразу в конференцию. Можно создать почтовый алиас, письма, отправленные в этот алиас, будут автоматом падать в конференцию в чате.
  • Хорошее логирование всех событий. Легко дебажить настройку.

Ниже схема работы серверной части мессенджера.

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

Установка сервера

Использование собранного релизного сервера

Скачайте и распакуйте сервер Rocket.Chat:

curl -L https://releases.rocket.chat/latest/download -o Rocket.Chat.tar.gz

tar xf Rocket.Chat.tar.gz

Установите необходимые библиотеки для NodeJS и завершите сеанс пользователя :

cd ~/bundle/programs/server

npm install && exit

Сборка сервера из исходного кода

Установите для пользователя web фреймворк Meteor:

curl https://install.meteor.com/ | sh

echo ‘PATH=»${PATH}:${HOME}/.meteor»‘ >>.bash_profile

PATH=»${PATH}:${HOME}/.meteor»

Скачайте исходный код сервера Rocket.Chat:

git clone https://github.com/RocketChat/Rocket.Chat.git Rocket.Chat.Source

Перейдите в каталог с исходным кодом и выполните сборку архива:

cd Rocket.Chat.Source

meteor npm install

meteor build —directory ~

Установите необходимые библиотеки для NodeJS и завершите сеанс пользователя :

cd ~/bundle/programs/server

npm install && exit

Назначение мессенджера для локальной сети

Обмен информацией и синхронизация действий с другими локальными пользователями — это понятное явление, которое не нуждается в обосновании. Знали это и специалисты из Microsoft, которые добавили средство обмена мгновенными сообщениями в свои операционные системы уже достаточно давно. Уже в Windows 2000/XP/2003 можно было совершать обмен мгновенными сообщениями с помощью командной строки. Для этого в консоль набирали, например, net send 162.178.100.5 «текст», где цифры — это IP-адрес компьютера, на который требуется послать сообщение, а «текст» — текст сообщения без кавычек.

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

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

  • Не нужно платить за установку шифрующего и перехватывающего ПО;
  • Чат для локальной сети можно бесплатно скачать из интернета и установить в ЛВС организации;
  • Никакая информация из него не попадет в сеть или к злоумышленникам, если подключение к интернету отсутствует.

Когда в практически любых процессах работы стали использоваться компьютеры, объединяющиеся в локальные сети для обмена данными, тогда и решили, что и обмен сообщениями бы не помешал, так как стандартная служба Виндовс делает это не очень понятно и удобно. Одними из первых стали мессенджеры MyChat, Jabber, G0Chat, Vypress Chat и другие.

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

Такие решения обладают множеством минусов, среди которых:

  • Требование установки на локальный сервер;
  • Наличие специальных знаний у сотрудника, устанавливающего ПО;
  • Отсутствие широкого функционала. У некоторых приложений нет истории, возможности пересылать файлы и прочих важных моментов.

Важно!Несмотря на все это, мессенджеры для ЛВС — это одно из самых надежных решений для безопасности данных от доступа к ним третьих лиц. Более того, они требуют малых ресурсов ПК и системных требований

Часть 1. установка и настройка zimbra collaboration suite Prune Messages

If you are a server admin, or your admin has given you the clean-channel-history permission, the prune messages option allows you to delete messages from a channel swiftly.

Note: Messages and files deleted with this option are deleted forever and cannot be recovered. Be careful and double-check your arguments before pressing Prune.

Use the following parameters to delete specific messages:

  • : Deletes all messages posted after a particular date.

  • : Deletes all messages posted before a particular date.

Fill dates for both the and fields to delete all messages.

Users: Allows you to specify any users to delete the content. When filled with a username, that user’s messages deleted.

Refine the parameters above with the following options. Check each to enable:

  • Inclusive: Deletes all messages that land on the exact start/end times you have specified in the and fields.

  • Exclude pinned messages: Do not delete pinned messages.

  • Only remove the attached files, keep messages: Removes files but not the messages themselves

Установка Rocket.Chat на CentOS 7

На Hypervisor-е был установлен минимальный пакет CentOS и собственно сам Rocket.Chat. При установке активно обращался к инструкции разработчиков. Следующим важным шагом была синхронизация с LDAP, ну куда же без него. AD у меня крутится на Windows Server 2016 и по прошлому опыту с Битрикс24 я создал группу, по которой в расписании будут добавляться пользователи. Это было удобно тогда и оказалось удобным и сейчас. Фильтр запроса будет расширен исключением отключенных учётных записей, сейчас он такой memberOf=cn=Rocket.Chat,ou=Groups,dc=DOMEN,dc=COM.

Поддержи автора статьи, просмотри рекламу ↓↓↓

Набор пакетов: CentOS+Rocket.Chat+MongoDB+Nginx+LetsEncrypt

yum -y install epel-release nano && yum -y update
nano /etc/yum.repos.d/mongodb-org.repo


name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

yum install -y nodejs curl GraphicsMagick npm mongodb-org-server mongodb-org gcc-c++
npm install -g inherits n
n 8.9.3

cd /opt
curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tar.gz
tar zxvf rocket.chat.tar.gz
mv bundle Rocket.Chat
cd Rocket.Chat/programs/server
npm install
cd ../..

export PORT=3000
export ROOT_URL=http://your-host-name.com-as-accessed-from-internet:3000/
export MONGO_URL=mongodb://localhost:27017/rocketchat

chkconfig mongod on
systemctl start mongod
/etc/init.d/mongod start
node main.js

nano /usr/lib/systemd/system/rocketchat.service
  
  Description=The Rocket.Chat server
  After=network.target remote-fs.target nss-lookup.target nginx.target mongod.target
  
  ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js
  StandardOutput=syslog
  StandardError=syslog
  SyslogIdentifier=rocketchat
  User=root
  Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://your-host-name.com-as-accessed-from-internet:3000/ PORT=3000
  
  WantedBy=multi-user.target

systemctl enable rocketchat.service
systemctl start rocketchat.service

systemctl stop rocketchat.service
yum install nginx
yum install certbot-nginx
делаем backup конфигурации nginx
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
certbot --authenticator standalone --installer nginx -d domain.name
конфигурации виртуальных хостом будут работать через ссылку
mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled
адаптируем конфигурацию nginx
nano /etc/nginx/nginx.conf
добавляем в директиву http
include /etc/nginx/sites-enabled/*.conf;
и комментируем блок server, виртуальные хосты сохраним в отдельных папках.

Создаем конфигурацию виртуального хоста. Из основного она будет содержать переадресацию с портов 80,443 на 3000 и ссылки на сертификаты.
nano /etc/nginx/sites-available/domain.name.conf
server {
  listen 80;
  server_name domain.name;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443;
    server_name domain.name;

    error_log /var/log/nginx/rocketchat.access.log;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/domain.name
/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/domain.name
/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # don’t use SSLv3 ref: POODLE
    location / {
        proxy_pass http://domain.name: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-Forward-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forward-Proto http;
        proxy_set_header X-Nginx-Proxy true;
        proxy_redirect off;
    }
}
продолжаем
ln -s /etc/nginx/sites-available/domain.name.conf /etc/nginx/sites-enabled/domain.name.conf
обновляем конфигурацию RocketChat для доступа по https и 3000 порту
Environment="ROOT_URL=https://domain.name"
Environment="PORT=3000"
Environment="MONGO_URL=mongodb://localhost:27017/rocketchat"
firewall-cmd --add-service=https
firewall-cmd --runtime-to-permanent
systemctl daemon-reload
полезная привычна тестирования конфигурации nginx
nginx -t
systemctl start nginx
systemctl enable nginx
systemctl start rocketchat.service
cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx
semodule -i mynginx.pp

добавление расписания на обновление сертификата
nano /etc/crontab
0 0 15 * * /usr/bin/certbot renew --quiet

Настройки приложения чат i

OBS — Бесплатная, менее требовательна к ресурсам ПК

XSpilt — Платная, прожорливее чем OBS, имеются свои плюсы в функционале

TwoRatChat — бесплатный чат, поддерживается автором более двух лет, автор Oxlamon

RutonyChat — платный комбайн: и чат, и оповещения, и голосовалка; автор Rutony

StreamChat — единый чат для стрима, автор aids

TopStream — мультичат для вывода на стрим

Failchat — чат для стримеров. Ещё одна альтернатива

GoodGame Chat Bot — бот для чата гудгейма, автор Fadiko

GoodGame Alert — программа для вывода различных уведомлений GG, автор Fadiko

Плагин к OBS — подписчики / донат / премиум для GG и твитча, автор T72

Stream Event List — отображает на стриме список о последних подписках и донатах

FPS monitor — (платная) программа для вывода на экран FPS и различных сенсоров (CPU/GPU/RAM/NET/DRV) поверх игры

Оформления для стримов на заказ:

от Markizz1337 (возможна бесплатная помощь)

Инструкция по настройке рестрима через Nginx

Последнее обновление темы 16.07.2015

Если вы желаете добавить свою программу в данную тему, от вас требуется ссылка на тему на нашем форуме, оформленную. А так же краткое описание.

Если у вас есть интересная программа сторонних разработчиков, от вас требуется ссылка на приложение и краткое описание.

По наполнению темы обращайтесь к kifchan или ToCamoe в личные сообщения на сайте.

OBS — Бесплатная, менее требовательна к ресурсам ПК

XSpilt — Платная, прожорливее чем OBS, имеются свои плюсы в функционале

TwoRatChat — бесплатный чат, поддерживается автором более двух лет, автор Oxlamon

RutonyChat — платный комбайн: и чат, и оповещения, и голосовалка; автор Rutony

StreamChat — единый чат для стрима, автор aids

TopStream — мультичат для вывода на стрим

Failchat — чат для стримеров. Ещё одна альтернатива

GoodGame Chat Bot — бот для чата гудгейма, автор Fadiko

GoodGame Alert — программа для вывода различных уведомлений GG, автор Fadiko

Плагин к OBS — подписчики / донат / премиум для GG и твитча, автор T72

Stream Event List — отображает на стриме список о последних подписках и донатах

FPS monitor — (платная) программа для вывода на экран FPS и различных сенсоров (CPU/GPU/RAM/NET/DRV) поверх игры

Оформления для стримов на заказ:

от Markizz1337 (возможна бесплатная помощь)

Инструкция по настройке рестрима через Nginx

Последнее обновление темы 16.07.2015

Если вы желаете добавить свою программу в данную тему, от вас требуется ссылка на тему на нашем форуме, оформленную. А так же краткое описание.

Если у вас есть интересная программа сторонних разработчиков, от вас требуется ссылка на приложение и краткое описание.

По наполнению темы обращайтесь к kifchan или ToCamoe в личные сообщения на сайте.

источник

Configurable access control policies

  • Zulip supports private messages (to one or more individuals), private
    streams with any number of subscribers, as well as public streams
    available to all organization members. We also support guest accounts,
    which only have access to a fixed set of streams, and announcement
    streams, where only organization owners and administrators can post.
  • By default, users can maintain their own names and email addresses, but
    Zulip also supports
    restricting changes and
    synchronizing these data from another database (such as
    ).
  • Zulip provides many options for
    managing who can join the organization,
    supporting everything from open to the public (e.g. for open source
    projects), to requiring an invitation to join, to having an email from a
    list of domains, to being a member of a specific organization in
    LDAP/Active Directory.
  • Zulip can limit the features that new users have access to until their
    accounts are older than a configurable waiting period.
  • Zulip also supports customizing whether non-admins can
    create streams,
    invite to streams,
    add custom emoji,
    add integrations and bots,
    edit or delete messages,
    and more.

5. Configure Zulip

After the installation is complete edit the file and fill all mandatory values.

The following are the values that you need to fill out:

Initialize the postgresql database using command

$ sudo su zulip -c /home/zulip/deployments/current/scripts/setup/initialize-database

The script will generate an error if you did not fill in all the mandatory settings.

Once the installation process and database initialization are completed, you should visit your Zulip domain/URL and register a new account.

That’s it. You have successfully installed Zulip on your Ubuntu 14.04 VPS. For more information about how to manage your Zulip installation, please refer to the official Zulip documentation.

Please note that Zulip requires at least 10GB of free disk and 2GB of RAM memory, though 4 GB of RAM memory is recommended, .

Of course you don’t have to Install Zulip on Ubuntu if you use one of our Ultra-Fast SSD VPS Hosting services, in which case you can simply ask our expert Linux admins to install Zulip on Ubuntu for you. They are available 24×7 and will take care of your request immediately.

PS. If you liked this post, on how to Install Zulip on Ubuntu,  please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.

QChat — чат для локальной сети без сервера

Еще одна замечательная утилита, заслуживающая внимание — это Qchat. Она позволяет организовать чат для локальной сети без сервера, что иногда просто необходимо в некоторых случаях

Программа имеет следующие возможности:

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

QChat не требует установки и может быть запущена как портативная даже со съемного носителя. Единственным недостатком является то, что логи сообщений не ведутся, поэтому после выхода вся переписка будет стерта. Это решается если использовать серверную версию QChat, а такую возможность разработчики также предусмотрели.

Хотелось ли Вам «поднять» у себя в сети компании собственный Скайп или «Аську»? Чтобы не быть привязанным к внешним сервисам Microsoft или Mail.ru? Со своим сервером, чтобы можно было объединить сотрудников «под одним крылом» и не волноваться, что конфиденциальную информацию может кто-то прочитать или нелегально получить закрытые документы фирмы.

Такая программа есть, и речь пойдёт о внутреннем корпоративном мессенджере MyChat

В статье будем говорить о русской бесплатной версии, которая практически ничем не отличается от её старшего собрата, коммерческой.

Представьте, что сервер, к которому Вы подключаетесь, работает внутри вашей компании, в локальной сети, на каком-то компьютере. Все сотрудники подключаются к нему по IP адресу или по имени компьютера

Какая операционная система у Вас: Windows, Linux, macOS или Android-смартфон — не важно, приложения есть почти под все операционные системы. MyChat работает даже просто в браузере…

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

Есть всё, что требуется от современного чата: личные сообщения и конференции, голосовые и видео звонки, быстрый обмен картинками, документами и файлами любого размера, списки контактов и общая работа над проектами (канбан-доска). Админка для управления работает в браузере:

Все сообщения, справка и интерфейс программы — на русском языке.

2: Установка Rocket.Chat

Загрузите последнюю доступную версию Rocket.Chat с помощью curl:

Распакуйте архив:

Эта команда извлечет архив в каталог bundle. Переместите содержимое этого каталога в каталог с более описательным названием:

Перейдите в каталог, в который нужно становить Rocket.Chat при помощи NPM:

Установите Rocket.Chat

Вернитесь в родительский каталог Rocket.Chat:

Установите переменные среды, чтобы приложение Rocket.Chat могло отслеживать порты, URL-адреса и т.п.

В переменной ROOT_URL нужно указать свой URL-адрес:

Затем нужно задать URL-адрес MongoDB в переменной MONGO_URL:

Задайте порт 3000:

Теперь запустите Rocket.Chat:

Остановите Rocket.Chat при помощи клавиш CTRL-C.

Управление

Обновление Rocket.Chat

Snaps обновляются автоматически — как правило, в течение 6 часов с момента выпуска обновления. Однако при желании вы можете выполнить обновление вручную с помощью команды:

sudo snap refresh rocketchat-server

Как узнать, запущен ли Rocket.Chat?

Вы можете проверить статус Rocket.Chat с помощью:

sudo service snap.rocketchat-server.rocketchat-server status

Аналогичным образом можно проверить статус служб rocketchat-mongo и rocketchat-caddy:

sudo service snap.rocketchat-server.rocketchat-mongo status
sudo service snap.rocketchat-server.rocketchat-caddy status

Как перезапустить Rocket.Chat?

Для перезапуска службы выполните:

sudo service snap.rocketchat-server.rocketchat-server restart

Аналогичным образом перезапускаются службы mongo и caddy:

sudo service snap.rocketchat-server.rocketchat-mongo restart
sudo service snap.rocketchat-server.rocketchat-caddy restart

Резервные копии

Чтобы сделать резервную копию данных, выполните следующие действия:

1. Остановите rocketchat-сервер:

sudo service snap.rocketchat-server.rocketchat-server stop

Обратите внимание, что служба rocketchat-mongo должна быть по-прежнему запущена. Проверить ее состояние можно командой:

sudo service snap.rocketchat-server.rocketchat-mongo status | grep Active

2. Запустите процесс резервного копирования:

sudo snap run rocketchat-server.backupdb

Если процесс прошел успешно, в консоли будет похожий вывод:

 A backup of your data can be found at /var/snap/rocketchat-server/common/backup/rocketchat_backup_<timestamp>.tar.gz

3. Запустите rocketchat-сервер:

sudo service snap.rocketchat-server.rocketchat-server start

Чтобы обезопасить свои данные, скопируйте файл бэкапа в удаленное хранилище.

Восстановление данных из резервной копии

1. Остановите rocketchat-сервер:

sudo service snap.rocketchat-server.rocketchat-server stop

Обратите внимание, что служба rocketchat-mongo должна быть по-прежнему запущена. Проверить ее состояние можно командой:

sudo service snap.rocketchat-server.rocketchat-mongo status | grep Active

2. Скопируйте архив с бэкапом в директорию common:

sudo cp rocketchat_backup.tgz /var/snap/rocketchat-server/common/

3. Запустите процесс восстановлен данных следующей командой:

sudo snap run rocketchat-server.restoredb /var/snap/rocketchat-server/common/rocketchat_backup.tgz

4. Если вы заменяете существующую базу данных, будет выведено предупреждение:

*** ATTENTION ***
* Your current database WILL BE DROPPED prior to the restore!
* Would you like to make a backup of the current database before proceeding?
* (y/n/Q)>
  • Нажмите y и Enter, чтобы сделать бэкап базы данных в ее текущем состоянии.
  • Нажмите n и Enter, чтобы продолжить без создания бэкапа базы.
  • Нажмите любую клавишу и/или Enter, чтобы остановить процесс восстановления без сохранения каких-либо изменений.

5. Если процесс восстановления прошел успешно, будет выведена подобная информация:

 Extracting backup file...
 Restoring data...
 Preparing database...
 Restore completed! Please restart the snap.rocketchat services to verify.

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

6. Запустите rocketchat-сервер:

sudo service snap.rocketchat-server.rocketchat-server start

Логи

Чтобы просмотреть логи Rocket.Chat, выполните:

sudo journalctl -f -u snap.rocketchat-server.rocketchat-server

Чтобы просмотреть журналы rocketchat-mongo и rocketchat-caddy:

sudo journalctl -f -u snap.rocketchat-server.rocketchat-mongo
sudo journalctl -f -u snap.rocketchat-server.rocketchat-caddy

REST API

  • Overview
  • Installation instructions
  • API keys
  • Configuring the Python bindings
  • Error handling
  • Client libraries
  • API Changelog

Messages

  • Send a message
  • Upload a file
  • Edit a message
  • Delete a message
  • Get messages
  • Construct a narrow
  • Add an emoji reaction
  • Remove an emoji reaction
  • Render a message
  • Get a message’s raw Markdown
  • Check if messages match narrow
  • Get a message’s edit history
  • Update personal message flags
  • Mark messages as read in bulk

Streams

  • Get subscribed streams
  • Subscribe to a stream
  • Unsubscribe from a stream
  • Get subscription status
  • Get all subscribers
  • Update subscription settings
  • Get all streams
  • Get stream ID
  • Create a stream
  • Update a stream
  • Archive a stream
  • Get topics in a stream
  • Topic muting
  • Delete a topic

Users

  • Get all users
  • Get own user
  • Get a user
  • Get a user by email
  • Update a user
  • Update your status
  • Create a user
  • Deactivate a user
  • Reactivate a user
  • Deactivate own user
  • Set «typing» status
  • Get user presence
  • Get attachments
  • Update settings
  • Get user groups
  • Create a user group
  • Update a user group
  • Delete a user group
  • Update user group members
  • Mute a user
  • Unmute a user

Server & organizations

  • Get server settings
  • Get linkifiers
  • Add a linkifier
  • Update a linkifier
  • Remove a linkifier
  • Add a code playground
  • Remove a code playground
  • Get all custom emoji
  • Upload custom emoji
  • Get all custom profile fields
  • Reorder custom profile fields
  • Create a custom profile field

Установка Zulip

Как я уже говорил, у Zulip хорошая документация, так что устанавливать сервер мессенджера будем строго по ней. Вот прямая ссылка, можете воспользоваться ей — https://zulip.readthedocs.io/en/latest/production/install.html#step-2-install-zulip Так даже будет правильнее, потому что документация, скорее всего, будет более актуальной, чем моя статья. А если вам не хочется разбираться с документацией, то смотрите краткую выжимку из нее далее.

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.4 LTS
Release: 16.04
Codename: xenial

Я сразу буду работать под root, без sudo.

Скачиваем сервер zulip:

# cd ~
# wget https://www.zulip.org/dist/releases/zulip-server-latest.tar.gz
# tar -xf zulip-server-latest.tar.gz

Установка zulip:

./zulip-server-*/scripts/setup/install --certbot [email protected] --hostname=zulip.zeroxzed.ru
[email protected] почтовый ящик администратора чата
zulip.zeroxzed.ru доменное имя будущего сервера

Обращаю внимание на доменное имя. Для него нужен будет валидный сертификат

Либо уже существующий, либо получим бесплатный от let’s encrypt. Без нормального сертификата использовать zulip неудобно, так как пользоваться им будем в основном через браузер.

Я получил ошибку установки.

Zulip installation failed! 
The install process is designed to be idempotent, so you can retry after resolving whatever issue caused the failure (there should be a traceback above). A log of this installation is available in /var/log/zulip/install.log

Досадно. Я рассчитывал, что для тестовой версии, работающей без нагрузки, мне будет достаточно гигабайта памяти. Но увы, сервер даже не захотел установиться на виртуалку, где меньше 2gb оперативной памяти.

Я для тестов использую виртуальные машины ihor, которые можно заказывать на сутки. Минимальная конфигурация стоит 10р. в день, с 2 гигабайтами памяти 14р. Очень удобно. Раньше свои сервера использовал, но со временем понял, что проще и дешевле пользоваться услугами хостеров. В итоге просто добавил к виртуалке еще один гигабайт оперативной памяти и перезагрузил ее. Продолжаем установку.

./zulip-server-*/scripts/setup/install --certbot [email protected] --hostname=zulip.zeroxzed.ru

Установщик сразу попробует получить сертификат от let’s encrypt с помощью certbot. Для этого нужно будет подтвердить лицензионное соглашение.

У меня сервер имеет выделенный ip адрес, доменное имя zulip.zeroxzed.ru настроено и нормально резолвится. Так что я сразу автоматически получил валидный сертификат для zulip сервера. Удобно сделан установщик — экономит наше время на настройку.

Установка будет длиться значительное время. У меня минут 15 прошло, пока не появилась информация о том, что сервер установлен.

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

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

Не буду подробно на этом останавливаться. Там все очевидно и просто.

После создания организации, вы сразу же попадаете в веб интерфейс мессенджера.

На этом непосредственно установка корпоративного чата zulip закончена. Перейдем к его настройке.

Configure Caddy yourself or use another http proxy

In case you plan to use another https proxy or you prefer other options in Caddy configuration, you can disable caddy:

sudo snap set rocketchat-server caddy=disable

Then, edit the Caddyfile found at and write your configuration.

Replace and with your site information. For instance, let’s say I have example-domain.com pointing at my server.

First, be sure that your DNS has finished resolving before before attempting to enable SSL. If your DNS is not working yet, you could be instantly for up to a week. To test your DNS you can use http:

http://example-domain.comproxy / localhost:3000 {  websocket  transparent}

and restart caddy:

sudo systemctl restart snap.rocketchat-server.rocketchat-caddy

You can check that the Caddy service started correctly by running:

sudo systemctl status snap.rocketchat-server.rocketchat-caddy

Once that is tested and resolved, to get secured communications, you can remove the

example-domain.comproxy / localhost:3000 {  websocket  transparent}

Please note: using an IP address will not work for automatically enabling SSL. You must use a valid hostname (here’s why).

Now you can restart the Caddy service by running:

sudo systemctl restart snap.rocketchat-server.rocketchat-caddy

You can check that the Caddy service started correctly by running:

sudo systemctl status snap.rocketchat-server.rocketchat-caddy

If everything went well, the site will be accessible at .

5: Настройка Rocket.Chat

Теперь попробуйте добавить первого пользователя – администратора Rocket.Chat.

Откройте Rocket.Chat в браузере. На экране появится форма входа.

Выберите Register a new account и введите данные о новом пользователе. Нажмите Submit, а затем выберите имя пользователя. Нажмите Use this username. На экране появится домашняя страница приложения.

По умолчанию приложение создаёт канал #general.

Rocket.Chat предлагает множество удобных вариантов форматирования (курсив, полужирный, зачеркнутый и т.п.). Ниже вы найдёте советы по работе с Rocket.Chat:

  • Чтобы выделить текст полужирным, поместите его между звёздочками: *this is bold!*
  • Чтобы написать текст курсивом, используйте символы подчёркивания:

Чтобы зачеркнуть текст, используйте тильду:

Чтобы использовать блоки встроенного кода, введите обратные кавычки:

Чтобы добавить цитату, используйте знак “больше”:

Теперь рассмотрим интерфейс приложения. Попробуйте создать новый канал. Для этого нажмите кнопку с плюсом возле Channels.

Выберите название канала. Нажмите Save. Приложение откроет новый канал.

Чтобы получить доступ к интерфейсу администратора, нажмите кнопку со стрелочкой рядом с именем пользователя. Это переведёт вас в новое меню. Выберите Administration. На экране появится меню администратора.

При помощи этого меню можно управлять всеми параметрами Rocket.Chat. В разделе Users можно изменять привилегии отдельных пользователей. Чтобы добавить новые функции для приложения, используйте Integrations.

Заключение

Я рассмотрел, как мне показалось, основные моменты, на которые стоит обратить внимание при установке и настройке zulip мессенджера. Такие моменты, как создание каналов, отправку сообщений, картинок и т.д

не стал описывать. Тут и так все понятно, надо самому зайти и посмотреть.

В целом, этот мессенджер подходит на роль корпоративного. Сделан добротно, каких-то существенных багов я не заметил. Правда, в эксплуатацию чат еще не вводил, пока только готовлюсь. Думаю, буду его использовать. Из бесплатного, он мне понравился больше, чем все, что я видел до него. Конечно, не без недостатков, но мне они показались не критичными.

Я забыл рассказать про десктопную и мобильную версию клиента. Десктопная практически ничем не отличается от того, что вы видите в браузере. Как я понимаю, это просто обертка, которая работает так же как и браузер по http. Там все идентично web версии, так что рассказывать не о чем. Мобильная версия ставится через google play. Мне в целом понравилась. Работает быстро, ничего лишнего, общаться удобно, уведомления есть.

На правах рекламы даю ссылку на виртуальные серверы в Германии с полным администрированием, с русской тех поддержкой. Вы можете заказать виртуальный сервер и попросить техподдержку настроить там zulip. Можно ссылку на мою статью дать. Они вам это сделают. Это для тех, кто не хочет заморачиваться. Главное не ошибиться и заказать именно с администрированием, включенным в стоимость.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: