Home » Linux » CentOS » Установка и настройка mattermost - форк корпоративного мессенджера slack

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

В поисках хорошего корпоративного чата некоторое время назад я наткнулся на mattermost. При ближайшем знакомстве оказалось, что это бесплатная альтернатива Slack. Я знаком с разными бесплатными корпоративными мессенджерами, но mattermost понравился больше всего. В этой статье я хочу рассказать, как установить и настроить mattermost на Centos 7.

Углубленный онлайн-курс по MikroTik

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.

Введение

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

Mattermost не единственный бесплатный аналог Slack. Я лично тестировал еще один - rocket.chat. Сейчас не готов предметно и основательно их сравнивать, так как не помню подробностей, но рокет чат мне понравился значительно меньше. В целом, все менее качественно, локализация была не очень, ну и функционал победнее по сравнению с mm. Когда я их сравнивал вместе, установив одновременно, mattermost мне понравился больше, поэтому решил пользоваться им.

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

Рассмотрю еще один момент - зачем, собственно, нужны какие-то мессенджеры, когда есть skype, telegram, viber и другие бесплатные и популярные программы для общения. Тот, кто использовал указанные выше аналоги в реальной работе коллектива в 20-30 человек, думаю прекрасно себе представляет, в чем тут могут быть проблемы. Пройдусь по основным моментам:

  • Skype последнее время стал сильно глючить и потреблять много ресурсов. Реально он был когда-то хорошим инструментом для коллективной работы, но теперь перестал им быть. В любой момент с очередным обновлением он может перестать работать или начать жестко глючить. Исправления можно ждать неделю - две. Помню из недавнего - примерно две недели после обновления история путалась в окне чата по датам. Более старые сообщения были ниже, чем новые. К тому же skype постоянно крутит рекламу, пожирает ресурсы, причем непонятно на что. Он стал очень прожорлив. Иногда глючит передача файлов, приходится пересоздавать профиль.
  • Второй недостаток всех публичных мессенджеров - нет централизованного управления аккаунтами. Системному администратору неудобно управлять учетками - заводить новые, менять пароли и т.д. Плюс, они часто привязаны к мобильнику. Человек увольняется и забирает с собой свою учетку со всей историей. Это очень неудобно и в какой-то момент при росте коллектива становится проблемой.
  • Нет управления историей. Она вся хранится в учетных записях пользователя. Если он ее удалит, случайно или специально, нет возможности восстановить. В какой-то момент это становится важно при интенсивной и ответственной работе.

Этот список на основе моего опыта работы небольших коллективов с различными мессенджерами. Кстати, наиболее простым и функциональным решением для корпоративного чата мне долгое время казалось решение на основе openfire. И только после знакомства с mattermost я стал потихоньку его внедрять в работу. Кратко расскажу о его достоинствах и недостатках, которые заметил я. Сначала достоинства:

  1. Сервер mattermost представляет из себя приложение, которое вы устанавливаете на своем сервере. То есть это закрытое решение, которое полностью под вашим контролем. Вы можете как угодно ограничивать к нему доступ на уровне сервера.
  2. Централизованное управление учетными записями. Администратор без проблем управляет всеми учетками - создает, блокирует, меняет пароли, выдает доступы и т.д.
  3. Централизованное хранение истории на вашем личном сервере в базе данных mysql. Можете ее хранить сколько угодно долго, бэкапить, восстанавливать, читать при необходимости.
  4. Удобная передача файлов прямо в чате. При этом файлы хранятся у вас на сервере сколь угодно долго.
  5. Приятный и понятный дизайн. Чат выглядит абсолютно одинаково через отдельное приложение, либо через браузер. Где пользоваться чатом каждый выбирает на свое усмотрение.

Теперь недостатки mattermost:

  1. Нет возможности распределить людей по группам. Это очень неудобно. Если у вас человек 30 и вам нужно кому-то отправить личное сообщение, придется искать его в общем списке любо вручную, либо с помощью поиска. Мне не понятно, почему такой простой и очевидный функционал отсутствует. Частично можно выйти из положения, создав для каждой группы отдельный чат, а в списке пользователей конкретного чата выбирать нужного человека. Тем не менее это не так удобно, как просто отдельные группы в общем списке.
  2. Мобильное приложение ужасно, и пользоваться им невозможно. Оно глючит, виснет и ничем не отличается от мобильной версии в браузере. То есть по сути мобильное приложение это самодельный браузер для http версии. Пользоваться приложением нет никакого смысла. Частично исправляет ситуацию то, что в мобильной версии браузера чат выглядит неплохо, пользоваться удобно. Но через браузер не будет push уведомлений.
  3. Нет подтверждения прочтения сообщения, как, например, в telegram. Считаю это очень удобной фичей, привыкнув к которой, трудно смириться с ее отсутствием.
  4. Много полезных и необходимых настроек только в платной версии. Например, интеграция с AD или другим ldap сервером. Возможность ограничить создание каналов обычными пользователями тоже существует только в платной версии. В бесплатной же каждый волен насоздавать сколько угодно каналов и вы не можете запретить это делать.

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

Подготовка к установке

Устанавливать mattermost будем на сервер под управлением CentOS 7. Если у вас еще нет готового сервера, можете воспользоваться моими руководствами по установке и настройке centos.

Далее нам понадобится web сервер с mysql. Я предпочитаю управлять базой данной mysql с помощью phpmyadmin, поэтому рекомендую мою статью на эту тему - установка phpmyadmin на CentOS 7. Там я подробно рассмотрел момент подготовки web сервера и установки непосредственно phpmyadmin. Далее я кратко выполню необходимые команды, а вы сами можете более подробно ознакомиться с процессом настройки по указанной выше ссылке.

Устанавливаем http, php, mariadb (аналог mysql сервера).

# yum install httpd php mariadb mariadb-server

Запускаем все это хозяйство и добавляем в автозагрузку.

# systemctl start httpd
# systemctl start mariadb
# systemctl enable httpd
# systemctl enable mariadb

Устанавливаем пароль root для mariadb.

# /usr/bin/mysql_secure_installation

Пройдите по адресу http://ip-сервера/ и проверьте, что веб сервер нормально работает. Если вы не читали мою статью по настройке сервера, то убедитесь, что у вас либо настроен, либо отключен firewall. Подробнее об этом рассказано в моей статье - настройка iptables. Рассмотрение настройки фаервола выходит за рамки данной статьи, поэтому просто покажу, как быстро отключить firewalld. Если вы тестируете чат, вам нет смысла заморачиваться с настройкой.

# systemctl stop firewalld
# systemctl disable firewalld

Теперь установим phpmyadmin, предварительно подключив epel репозиторий. Подробнее о репозиториях читайте отдельно.

# yum install epel-release
# yum install phpmyadmin

Редактируем конфиг /etc/httpd/conf.d/phpMyAdmin.conf и разрешаем доступ с любого ip к phpmyadmin. Если вам это не надо, то откройте только для конкретного ip.

# mcedit /etc/httpd/conf.d/phpMyAdmin.conf

Заменяем параметры директории /usr/share/phpMyAdmin/ на следующие значения.

<Directory /usr/share/phpMyAdmin/>
  AddDefaultCharset UTF-8
  Require all granted
  AllowOverride All
</Directory>

Перезапускаем httpd:

# apachectl restart

Заходим по адресу http://ip-сервера/phpmyadmin/ и проверяем, что панель нормально работает.

Установка mattermost

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

Идем в phpmyadmin и создаем там пользователя mattermost, указав также создать одноименную базу и выставить новому пользователю полные права на нее.

Создание базы и пользователя mysql

Качаем исходники севрера. Для этого идем на страничку https://about.mattermost.com/download/ и копируем ссылку на последнюю версию. На момент написания этой статьи, последняя версия mattermost была 4.5.0.

# cd /usr/src
# wget https://releases.mattermost.com/4.5.0/mattermost-4.5.0-linux-amd64.tar.gz

Распаковываем архив и переносим его в директорию /opt.

# tar -xvzf *.gz
# mv mattermost /opt

Создаем директорию для хранения файлов, которые будут передавать пользователи через чат.

# mkdir /opt/mattermost/data

Создаем отдельного пользователя для запуска сервера и доступа к папкам.

# useradd --system --user-group mattermost
# chown -R mattermost:mattermost /opt/mattermost
# chmod -R g+w /opt/mattermost

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

# mcedit /opt/mattermost/config/config.json

Находим строку с DataSource и изменяем параметры подключения.

"DataSource": "mattermost:12345678@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=20s&writeTimeout=20s",
mattermost Имя пользователя и базы данных mysql. В моем случае это одно и то же слово.
12345678 Пароль пользователя mysql mattermost.
localhost IP адрес mysql сервера. В данном случае это тот же сервер, где я выполняю установку.

По идее все готово. Пробуем запустить сервер.

# cd /opt/mattermost/bin
# sudo -u mattermost ./platform

Я стабильно в этот момент получаю ошибку:

Failed to create index Error 1214: The used table type doesn't support FULLTEXT indexes

При этом делаю все в соответствии с инструкцией на сайте. Ошибка понятна и легко исправляется. Mattermost при создании таблиц в базе данных создает их типа Innodb, а ему надо MyISAM. Я не вдавался в подробности, почему так происходит. Возможно это как-то связано с настройками базы данных по-умолчанию. Мы просто изменим тип уже созданных таблиц. Для этого идем в phpmyadmin, открываем там базу данных mattermost и выполняем sql запрос.

SELECT CONCAT('ALTER TABLE `', t.`TABLE_SCHEMA`, '`.`', t.`TABLE_NAME`, '` engine=MyISAM;') as sqlcode
FROM `information_schema`.`TABLES` t
WHERE 1
AND t.`TABLE_SCHEMA` = 'mattermost'
ORDER BY 1

Выполнение sql запроса

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

Изменение типа таблиц базы mattermost

Должен получиться такой набор SQL команд.

ALTER TABLE `mattermost`.`Audits` engine=MyISAM;
ALTER TABLE `mattermost`.`ChannelMembers` engine=MyISAM;
ALTER TABLE `mattermost`.`Channels` engine=MyISAM;
ALTER TABLE `mattermost`.`Commands` engine=MyISAM;
ALTER TABLE `mattermost`.`Compliances` engine=MyISAM;
ALTER TABLE `mattermost`.`Emoji` engine=MyISAM;
ALTER TABLE `mattermost`.`FileInfo` engine=MyISAM;
ALTER TABLE `mattermost`.`IncomingWebhooks` engine=MyISAM;
ALTER TABLE `mattermost`.`Licenses` engine=MyISAM;
ALTER TABLE `mattermost`.`OAuthAccessData` engine=MyISAM;
ALTER TABLE `mattermost`.`OAuthApps` engine=MyISAM;
ALTER TABLE `mattermost`.`OAuthAuthData` engine=MyISAM;
ALTER TABLE `mattermost`.`OutgoingWebhooks` engine=MyISAM;
ALTER TABLE `mattermost`.`PasswordRecovery` engine=MyISAM;
ALTER TABLE `mattermost`.`Posts` engine=MyISAM;
ALTER TABLE `mattermost`.`Preferences` engine=MyISAM;
ALTER TABLE `mattermost`.`Reactions` engine=MyISAM;
ALTER TABLE `mattermost`.`Sessions` engine=MyISAM;
ALTER TABLE `mattermost`.`Status` engine=MyISAM;
ALTER TABLE `mattermost`.`Systems` engine=MyISAM;
ALTER TABLE `mattermost`.`TeamMembers` engine=MyISAM;
ALTER TABLE `mattermost`.`Teams` engine=MyISAM;
ALTER TABLE `mattermost`.`Users` engine=MyISAM;

Выполняем их все сразу так же в базе mattermost. После этого все таблицы должны стать MyISAM.

Список таблиц

Снова запускаем сервер.

/opt/mattermost/bin/platform

Запуск сервера mattermost

Если все в порядке, то должны увидеть такой вывод. Сервер успешно стартовал на порту 8065. Создадим файл для управления и запуска сервера как службы через systemctl. Останавливаем сервер по ctrl+c в консоли и создаем файл.

# mcedit /etc/systemd/system/mattermost.service
[Unit]
Description=Mattermost
After=syslog.target network.target mariadb.service

[Service]
Type=simple
WorkingDirectory=/opt/mattermost/bin
User=mattermost
ExecStart=/opt/mattermost/bin/platform
PIDFile=/var/spool/mattermost/pid/master.pid
LimitNOFILE=49152

[Install]
WantedBy=multi-user.target

Делаем его исполняемым.

chmod 664 /etc/systemd/system/mattermost.service

Перезапускаем службу systemd.

# systemctl daemon-reload

Разрешаем запуск службы mattermost, добавляем ее в автозагрузку и запускаем.

# chkconfig mattermost on
# systemctl enable mattermost
# systemctl start mattermost

Проверяем, запустился ли сервер.

# netstat -tulnp | grep 8065
tcp6       0      0 :::8065                 :::*                    LISTEN      2547/platform

Все в порядке, сервер повис на порту 8065. Правда почему-то на ipv6, но по ipv4 тоже отвечает. Открываем в браузере страничку с чатом. В моем случае ее адрес такой - http://192.168.13.25:8065. На этом установка корпоративного мессенджера mattermost закончена. Приступаем к настройке.

Настройка mattermost

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

Настройка сервера mattermost

Здесь я рекомендую сразу настроить авторизацию на smtp сервере для отправки уведомлений. Без них полноценной работы чата не получится. Работать все будет, но без оповещений, а они иногда бывают полезны. Например, если пользователь в оффлайне, а ему пишут личное сообщение, он может быть уведомлен об этом по почте. Считаю это полезным функционалом.

Так что идем в раздел NOTIFICATIONS -> Email, указываем там Enable Email Notifications - true и дальше заполняем необходимые настройки, которые будут отличаться в зависимости от того, каким почтовым сервером вы будете пользоваться.

Далее укажите язык по-умолчанию для всех пользователей, чтобы не пришлось его потом менять у каждого по отдельности. Для этого идем в раздел GENERAL -> Localization и выбираем нужные языки.

Настройки локализации

Так же рекомендую обратить внимание на настройку подтверждения email адреса. Она по-умолчанию выключена. Лично мне так удобнее, я ее не включаю. Когда сервер закрытый и все учетные записи создает администратор, подтверждение email не нужно. Но если у вас пользователи сами создают свои учетки, то лучше включить подтверждение, иначе при ошибке в указании почтового адреса, уведомления приходить не будут.

Делается эта настройка в разделе SECURITY -> Signup, пункт Require Email Verification. Здесь же еще одна важная настройка - Enable Open Server. По умолчанию она стоит в режиме false. Это значит, что пользователь просто так не сможет зарегистрироваться, если перейдет по публичному адресу сервера, в данном случае http://192.168.13.25:8065. Там просто не будет ссылки на регистрацию. Для регистрации, ему необходимо получить ссылку от администратора сервера, у которого она будет отдельная для каждой team.

Не забудьте в разделе FILES-> Storage указать путь к каталогу хранения файлов - /opt/mattermost/data.

Теперь создадим одну team. Для этого нажимаем на ссылку Team Selection.

Создание команды

Нажимаем на ссылку Create a new team, указываем название и ссылку для входа в данную команду.

Добавление team URL

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

Получение ссылки для регистрации пользователей

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

Настройка языка пользователя

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

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

  1. В разделе Общие указываю реальные ФИО человека.
  2. В разделе Вид ставлю 24 часовой формат времени и отображение имени в команде в виде ФИО.
  3. Там же ставлю Вид отображения сообщений - компактный. Так больше информации умещается на экране. Настройка на любителя.
  4. Рекомендую заглянуть в раздел Уведомления. Возможно вам захочется изменить настройки по-умолчанию.

Вот в общем и все, что я обычно делаю. Настройка сервера и учетной записи закончена. Можно добавлять юзеров и начинать пользоваться.

Установка приложения mattermost на компьютер

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

Загрузка приложений mattermost

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

Настройка подключения к серверу

Дальше вводите логин и пароль и начинаете пользоваться.

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

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

Проксирование чата mattermost через nginx

Вы можете напрямую разместить сервер mattermost в интернете, указать ему использовать 80-й порт вместо 8065 и ничего не делать. Это будет простой, но плохой вариант. Сами разработчики не рекомендуют так делать, а предлагают настроить в качестве frontend веб сервер nginx. Сделаем это и мы. В итоге у нас получится аккуратный поддомен mm.serveradmin.ru, который будет работать по https. В таком виде сервер не стыдно и интернету показать.

Так как работать дальше будем с nginx, httpd нужно будет отключить. Он нам нужен был только для быстрой настройки phpmyadmin. Больше нам настраивать нечего, так что отключаем его.

# systemctl stop httpd
# systemctl disable httpd

Вместо него установим nginx. По большому счету, это можно было сделать сразу, но я поленился, так как phpmyadmin под апачем настроить проще и быстрее. Добавляем репозиторий nginx.

# mcedit /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/7/$basearch/
gpgcheck=0
enabled=1

Устанавливаем nginx.

# yum install nginx.x86_64

Запускаем и добавляем в автозагрузку.

# systemctl start nginx
# systemctl enable nginx

Убеждаемся, что он работает, перейдя по ip адресу сервера в браузере. Рисуем файл конфигурации для проксирования mattermost.

# mcedit /etc/nginx/conf.d/mattermost.conf
upstream backend {
 server 127.0.0.1:8065;
}

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;

server {
 listen 80 default_server;
 server_name mm.serveradmin.ru;
 return 301 https://$server_name$request_uri;
}

server {
 listen 443 ssl http2;
 server_name mm.serveradmin.ru;
 ssl on;
 ssl_certificate /etc/letsencrypt/live/mm.serveradmin.ru/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/mm.serveradmin.ru/privkey.pem;
 ssl_session_timeout 5m;
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 ssl_dhparam /etc/ssl/certs/dhparam.pem;
 ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
 ssl_prefer_server_ciphers on;
 ssl_session_cache shared:SSL:10m;

 location /api/v3/users/websocket {
 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection "upgrade";
 client_max_body_size 50M;
 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-Forwarded-Proto $scheme;
 proxy_set_header X-Frame-Options SAMEORIGIN;
 proxy_buffers 256 16k;
 proxy_buffer_size 16k;
 proxy_read_timeout 600s;
 proxy_pass http://backend;
 }

 location / {
 client_max_body_size 50M;
 proxy_set_header Connection "";
 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-Forwarded-Proto $scheme;
 proxy_set_header X-Frame-Options SAMEORIGIN;
 proxy_buffers 256 16k;
 proxy_buffer_size 16k;
 proxy_read_timeout 600s;
 proxy_cache mattermost_cache;
 proxy_cache_revalidate on;
 proxy_cache_min_uses 2;
 proxy_cache_use_stale timeout;
 proxy_cache_lock on;
 proxy_pass http://backend;
 }
}

Сохраняем конфигурацию в файле. В данном случае я использую бесплатный сертификат от популярного сервиса Let's encrypt. Я не буду сейчас рассказывать, как получить от них сертификат. В интернете очень много статей на эту тему. Можете воспользоваться, к примеру, вот этим руководством моего знакомого - https://sevo44.ru/ssl-besplatnyj-dlja-sajta-nginx.

Удалим стандартную конфигурацию nginx. Вместо нее будет использоваться наша.

# rm /etc/nginx/conf.d/default.conf

Проверяем конфигурацию nginx и перезапускаем его.

# nginx -t
# systemctl restart nginx

Теперь чат будет доступен по адресу https://mm.serveradmin.ru, при этом будет работать переадресация с http на https. В данном случае имя домена вымышленное, так что по ссылке ничего открываться не будет.

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

Обновление mattermost

С момента написания статьи прошло некоторое время, и вышла новая 4-я версия сервера. Я расскажу, как обновить сервер 3-й версии до последней на текущий момент версии mattermost 4.5.0. При обновлении любого продукта необходимо делать резервные копии. Сделаем и мы, отдельно директорию с самим сервером и базу данных.

Останавливаем сервер.

# systemctl stop mattermost

Копируем директорию с файлами.

# cp -R /opt/mattermost /backup

Бэкапим mysql базу.

# /usr/bin/mysqldump --opt -v --databases mattermost -umattermost -ppassword | /usr/bin/gzip -c > /backup/mattermost.sql.gz

Теперь можно смело обновляться. Если что-то пойдет не так, можем быстро откатиться на старую версию. Скачиваем и распаковываем свежую версию сервера.

# cd ~
# wget https://releases.mattermost.com/4.5.0/mattermost-4.3.0-linux-amd64.tar.gz
# tar xzvf mattermost-4.5.0-linux-amd64.tar.gz

Удаляем старую папку с сервером и копируем на ее место новую.

# rm -Rf /opt/mattermost
# cp -R ~/mattermost /opt

Копируем из бэкапа конфиг, загруженные файлы и логи.

cp -r /backup/mattermost/config /opt/mattermost
cp -r /backup/mattermost/data /opt/mattermost
cp -r /backup/mattermost/logs /opt/mattermost

Делаем владельцем директории с новой версией системного пользователя mattermost.

# chown -R mattermost:mattermost /opt/mattermost

Запускаем сервер и проверяем работу.

# systemctl start mattermost

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

Заключение

Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

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

Углубленный онлайн-курс по MikroTik.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

174 комментария

  1. Доброго дня!
    Решил я поставить по вашему мануалу, в итоге у меня зависло все на Failed to create index error 1214.
    По статье зашел в SQL все как описали сделал, после чего снова запускаю команду, та же ошибка, куда копать в таком случае?

  2. Добрый день.

    Были ли кейсы интеграции "Яндекс 360" и Mattermost? Интересует возможность пересылки писем в каналы Mattermost.

  3. Для приложения нужны толдько веб-порты? Или ещё что-то?

  4. Dear Friends,

    Anybody can share new cracked version? I need enterprise version for to use ldap function. Please help me.

    Best Regards!

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

    • А бэкап то вы как делали? Не проверяли его работу?

      • Как в статье бэкап приложения сделал, просто я его не запускал и не проверял(Бэкап)… не нахожу как бэкап развернуть вместо текущей нерабочей версии…

        • Надо вернуть обратно старые файлы и восстановить дамп базы данных. Это в общем случае. Но статья давно писалась, возможно сейчас это и не сработает.

          • Аноним

            Команды отдельной нет как бэкап накатить?)

            • Сначала надо распаковать архив базы:
              # gunzip /backup/mattermost.sql.gz
              Зайти в консоль mysql:
              # mysql -u root -p
              Выбрать базу данных mattermost:
              # use mattermost;
              Распаковать в неё базу:
              # source /backup/mattermost.sql;

              Возможно перед восстановлением надо будет полностью очистить базу данных.

  6. Нурбек

    я вот получается обновил маттермост, у меня теперь запускается только через эту комманду /opt/mattermost/bin/platform, но если я ее закрываю то все перестает работать, как сделать так чтобы он автоматом работал, а не в режиме мониторинга

  7. Максим

    А кто хорошо знает mattermost? Ситуация такая, работаю в конторе, от админа бывшего достался Rocket.Chat, но он сейчас ограничен в 10000 уведомлений в месяц, а у меня их съедают за 4-5 дней. Решил заменить на mattermost. Проблема в интеграции с сайтом. На сайте есть всплывающее окно, сообщения из которого летят в Rocket.Chat, как реализовать тоже самое на Mattermost??? И форма заказать звонок, подобное же.

    • Это никто не подскажет. Надо смотреть, как это в принципе реализовано сейчас. По идее, должно быть запрограммировано на языке сайта и работает через api сервера чата. Это надо заказывать у кого-то разработку или плотно погружаться. Такие вопросы с пол тычка не делаются.

      • Максим

        Спасибо! А то ищу информацию по mattermost, и что-то очень мало полезного нахожу.

    • Это в MyChat с полтычка решается и количество уведомлений не ограничено :)
      https://nsoft-s.com/mychatarticles/1176-kak-ustanovit-chat-na-sayt.html

  8. Евгений

    КАК ОБЫЧНО!!! ОТВЕТА НЕ ДОЖДАЛСЯ! РЕШИЛ ПРОБЛЕМУ САМ!

  9. Dear Friends,

    I need crack that works with ldap function. Can anybody help me ?

  10. Евгений

    Или как обновить с 4.5 до 5.26 Делаю все четко по вашей статье, обновление не проходит

  11. Евгений

    При установке версии MATTERMOST 5.26 установка не проходит. Просьба обновить статью

  12. Anybody can solve LDAP/ AD license problem

  13. Dear Alex,

    Thank you for sharing links.I installed again with new files you shared. I installed also Version 5.16. and also changed 2 files in bin folder with new ones. System Console it says " Mattermost Enterprise Edition. Enterprise features on this server have been unlocked with a license key and a valid subscription." but when I want to setup AD/LDAP it says " AD/LDAP Test Failure: AD/LDAP disabled or licence does not support AD/LDAP. - undefined" . I need to setup AD/LDAP. Please can you help me ?

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

  15. Доброго времени суток.
    Проблема удаления любого чата любым пользователем не дает возможность использовать бесплатную версию в большинстве случаев.
    Ну что же, давайте это исправим. Тем более лицензия MIT это позволяет.
    Все манипуляции производились на Ubuntu Server 16.04. Нам понадобится GoLang, NodeJS, Docker. Можно еще установить MySQL. Желательно использовать версии поновее.
    Скачиваем MatterMost из репозитория "sudo go get -v github.com/mattermost/mattermost-server/..." Переходим в папку проекта и скачиваем зависимости "sudo go get -d ./..."
    Открываем файл GOPATH/src/github.com/mattermost/mattermost-server/app/license.go (GOPATH в моем случае папка go в домашнем каталоге)
    Ищем функцию "func (a *App) LoadLicense()". Комментируем или удаляем все кроме первой и последней строки (фигурные скобки не удалять). Последняя строка по желанию. В первой строке вместо a.SetLicense(nil) пишем a.SetLicense(model.NewTestLicense()) (В коде есть функция, которая дает тестовую лицензию. Спасибо разработчикам). Сохраняем. Собираем из папки проекта mattermost-server "sudo make build". Перед этим нужно создать папку enterprise в каталоге mattermost чтобы собралась именно Enterprise версия. В папке GOPATH/bin будут лежать ваши скомпилированные бинарники (mattermost и platform). Заменяем ими оригинальные в каталоге /opt/mattermost/bin. Не забудьте заново раздать права как написано в инструкции.
    Ссылка на последнюю сборку с изменениями: https://yadi.sk/d/8bLwkQyN0UcbSw

    Тестовая лицензия на 90 дней. Но после перезагрузки она начинается заново. Изменить срок действия тестовой лицензиии можно в файле /mattermost-server/model/license.go

    • Евгений

      Добрый день! Уже пытаюсь пару дней собрать самостоятельно, но ничего не выходит. Может у вас есть более подробная инструкция?

      • не знаю куда уж подробнее. В чем загвоздка, на каком этапе?
        Если нужно, то можете скачать скомпилированную мнойверсию 5.16.0 на торрент-треккер http://nnmclub.to/forum/viewtopic.php?t=1332229

        • Евгений

          На этапе сборки, просто ничего не собираетя. Вот такой вывод команды:

          sudo make build
          cp: cannot stat '../enterprise/imports/imports.go': No such file or directory
          fatal: not a git repository (or any of the parent directories): .git
          Build Linux amd64
          env GOOS=linux GOARCH=amd64 go build -o /bin -mod=vendor -trimpath -ldflags '-X "github.com/mattermost/mattermost-server/v5/model.BuildNumber=dev" -X "github.com/mattermost/mattermost-server/v5/model.BuildDate=Thu Feb 27 10:11:59 UTC 2020" -X "github.com/mattermost/mattermost-server/v5/model.BuildHash=376ec9e0e30c8215196f957441213a4ad295cd7d" -X "github.com/mattermost/mattermost-server/v5/model.BuildHashEnterprise=" -X "github.com/mattermost/mattermost-server/v5/model.BuildEnterpriseReady=true"' ./...

          После идет таких же две для Mac и Windows, потом команда завершает выполнение, а в GOPATH каталога bin вообще нет.
          Я так понимаю первая ошибка не критичная, а вот ошибка о том, что это не гит репозиторий? Пробовал делать git init не помогло.

        • Евгений

          Прошу прощения разобрался, почему то бинарики он положил в корневой каталог /bin

        • Дмитрий

          Добрый день.
          Может есть в наличии скомпилированная более новая версия?

          Заранее спасибо.

    • Dear Alex;

      Link : https://yadi.sk/d/8bLwkQyN0UcbSw not working. Can you share with me mattermost and platform files.

      Best Regards

  16. МайскийЖук

    Не подскажете, как запретить обычным пользователям уровня Member создавать приватные каналы? В config.json в соответствующих строчках прописал system_admin, но обычным пользователям всё равно доступно управление как общим каналом (переименование и даже удаление), так и создание приватных каналов.

    • По-моему, в бесплатной версии нет такой возможности. Это одна из причин, почему я не использую mattermost. Там есть какие-то критичные ограничения, которые не позволяют большому коллективу работать с mattermost в бесплатной редакции.

      • МайскийЖук

        Хорошо. Тогда что из описанного вами в ваших статьях вы всё-таки посоветуете для использования в коллективе из 25-ти человек? MyChat, пожалуйста, не предлагайте, интересует именно бесплатный вариант серверной частью под Linux (конкретно CentOS, Zulip уже не подходит).

  17. А кто-то может посоветовать кого-то для настройки и в идеале поддержания сервера mattermost?
    Не уверен, что стоит развивать в эту сторону собственных спецов, т.к. потом вряд ли пригодится

  18. Подскажите, если можете еще такой момент. С какого-то времени стали пропадать сообщения в чатах. Личных и публичных. Снизу чата расположена кнопка "Больше сообщений" при нажатии на которую ничего не происходит и чат полностью чист от сообщений, хотя там было их очень много до этого. Сообщения исчезают из чатов рендомно. Не понятна закономерность. Не подскажите, куда вообще рыть в этом случае? Сервер на Cent OS, в виртуалке, которая крутится на WinServ2008 R2 Enterprise. Спасибо.

    • Даже не знаю. Продукт этот достаточно зрелый, странно видеть такие ошибки. Надо смотреть либо лог серверной части, если он есть, либо идти на форум разработчиков и там задавать вопрос. Сам я не использую нигде mattermost.

      • Добрый день еще раз.
        Уже, пожалуй три сервера mattermost установил по вашей инструкции и они уже как год работают. Но вот опять ставлю и после запуска получаю вот такой вывод:

        {"level":"info","ts":1553426325.7105906,"caller":"utils/i18n.go:83","msg":"Loaded system translations for 'en' from '/opt/mattermost/i18n/en.json'"}
        {"level":"info","ts":1553426325.71098,"caller":"app/server_app_adapters.go:58","msg":"Server is initializing..."}
        {"level":"info","ts":1553426325.7225804,"caller":"sqlstore/supplier.go:215","msg":"Pinging SQL master database"}
        {"level":"error","ts":1553426325.7914166,"caller":"sqlstore/supplier.go:807","msg":"Failed to create index Error 1071: Specified key was too long; max key length is 1000 bytes"}

        Не могу понять, в чем дело. Не может подсказать куда рыть.

  19. Добрый день. Подскажите пожалуйста. Есть рабочий сервер mattermost. Есть задача по переносу его на другой сервер, в облако. Необходимо, собственно сохранить базу пользователей и всю переписку с чатами, приватными и публичными группами, настройками доступа и т.д. Что для этого необходимо сделать? Спасибо.

    • Я подробно не изучал этот вопрос, но подозреваю, что вся основная информация находится в базе данных. Соответственно, перенести надо ее и веб интерфейс.

  20. Александр

    Доброго дня! После выполнения "sudo -u mattermost ./platform" получаю такой результат:
    {"level":"info","ts":1552493733.3972054,"caller":"utils/i18n.go:79","msg":"Loaded system translations for 'en' from '/opt/mattermost/i18n/en.json'"}
    {"level":"info","ts":1552493733.397451,"caller":"app/server_app_adapters.go:58","msg":"Server is initializing..."}
    {"level":"info","ts":1552493733.4061995,"caller":"sqlstore/supplier.go:215","msg":"Pinging SQL master database"}
    {"level":"error","ts":1552493733.51112,"caller":"sqlstore/supplier.go:807","msg":"Failed to create index Error 1071: Specified key was too long; max key length is 1000 bytes"}
    Заранее, огромное спасибо за помощь....

  21. Евгений

    И еще одна ошибка [EROR] failed to start up plugins: mkdir ./client/plugins: no such file or directory Смотрел в комментариях создал сам папку, но результат тот же - ошибка!

  22. Евгений

    Здравствуйте. Делал все строго по вашей инструкции. В локалке все работает. При подключении из вне в журнале ошибки [EROR] /api/v4/websocket:connect code=500 rid=bg7x61saoidhuk5baa69srabnh uid=mtkte1cpg7gxber4dm68hfac6y ip=111.111.11.11 Failed to upgrade websocket connection [details: ] [EROR] websocket соединение err: websocket: not a websocket handshake: 'upgrade' token not found in 'Connection' header не могу понять в чем дело. Можно подробнее?

    • Как у вас настроен доступ извне к серверу с чатом?

      • Евгений

        через доменное имя. все как у вас.

      • Евгений

        проброс портов на шлюзе сделал. Через https подключается. Но в вебпанели все время сообщение выскакивает Проверьте соединение, Mattermost недоступен. Если проблема не устранена, попросите администратора проверить порт WebSocket. Хотя сообщения отправляются и принимаются.

    • Евгений

      Спасибо за Ваши быстрые и полноценные ответы. Все решил уже сам.) Нашел ошибку в конфиге nginx

  23. {"level":"info","ts":1541767918.9064572,"caller":"utils/i18n.go:78","msg":"Loaded system translations for 'en' from '/opt/mattermost/i18n/en.json'"}
    {"level":"info","ts":1541767918.9065456,"caller":"app/app.go:204","msg":"Server is initializing..."}
    {"level":"info","ts":1541767918.9091284,"caller":"sqlstore/supplier.go:209","msg":"Pinging SQL master database"}
    {"level":"error","ts":1541767918.9220264,"caller":"sqlstore/supplier.go:221","msg":"Failed to ping DB retrying in 10 seconds err=Error 1045: Access denied for user 'mattermost'@'localhost' (using password: YES)"}
    {"level":"info","ts":1541767928.9231699,"caller":"sqlstore/supplier.go:209","msg":"Pinging SQL master database"}
    {"level":"error","ts":1541767928.9242368,"caller":"sqlstore/supplier.go:221","msg":"Failed to ping DB retrying in 10 seconds err=Error 1045: Access denied for user 'mattermost'@'localhost' (using password: YES)"}
    13{"level":"info","ts":1541767938.9247413,"caller":"sqlstore/supplier.go:209","msg":"Pinging SQL master database"}
    {"level":"error","ts":1541767938.9258218,"caller":"sqlstore/supplier.go:221","msg":"Failed to ping DB retrying in 10 seconds err=Error 1045: Access denied for user 'mattermost'@'localhost' (using password: YES)"}
    1366
    {"level":"info","ts":1541767948.9270053,"caller":"sqlstore/supplier.go:209","msg":"Pinging SQL master database"}
    {"level":"error","ts":1541767948.9280791,"caller":"sqlstore/supplier.go:221","msg":"Failed to ping DB retrying in 10 seconds err=Error 1045: Access denied for user 'mattermost'@'localhost' (using password: YES)"}
    {"level":"info","ts":1541767958.9291863,"caller":"sqlstore/supplier.go:209","msg":"Pinging SQL master database"}
    {"level":"error","ts":1541767958.930233,"caller":"sqlstore/supplier.go:221","msg":"Failed to ping DB retrying in 10 seconds err=Error 1045: Access denied for user 'mattermost'@'localhost' (using password: YES)"}
    {"level":"info","ts":1541767968.932856,"caller":"sqlstore/supplier.go:209","msg":"Pinging SQL master database"}
    {"level":"error","ts":1541767968.934054,"caller":"sqlstore/supplier.go:221","msg":"Failed to ping DB retrying in 10 seconds err=Error 1045: Access denied for user 'mattermost'@'localhost' (using password: YES)"}

    есть мысли как с этим справиться?

    • В ошибке четко указано, что нет доступа к базе данных:
      Access denied for user 'mattermost'@'localhost' (using password: YES)

      • накосячил с iptables и логином от базы.

        Спасибо за статью все работает.

        Буду признателен, если укажите дорогу.
        Вопрос такой: чат-сервер будет за сервером на котором nat, iptables, squid. Как выпустить mattermost в интернет? Я так понимаю настройка nginx как в статье будет недостаточно?

        • Надо пробросить 80-й или 443-й порт на сервер с mattermost. По сути он работает как обычный веб сервер, ему нужно http и https порты.

  24. sudo -u mattermost ./platform

    получаю:
    ------------------------------------ ERROR ------------------------------------------------
    The platform binary has been deprecated, please switch to using the new mattermost binary.
    The platform binary will be removed in a future version.
    -------------------------------------------------------------------------------------------

    ставил https://releases.mattermost.com/5.4.0/mattermost-5.4.0-linux-amd64.tar.gz

  25. Подскажите, что-то я не понял.
    при наличии статического белого ip, но без привязки доменного имени, можно запустить у себя mattermost и подключаться к нему?

  26. На работе отлично прижилась связка OpenFire + Spark с импортом пользователей из AD, причем не последней версии - в версиях Spark выше 2.7.7 сломан поиск пользователей при импорте из AD, и чинить, похоже, не собираются, по крайней мере, недавно смотрел - ситуация не изменилась. Из минусов - нет клиента для мобильных устройств, как и для всех jabber-мессенджеров, но на работе он используется только на десктопах.
    В коментариях упоминали MyChat - раньше им пробовали пользоваться, после OpenFire на него смотреть невозможно.

    • Алексей

      Вы серьёзно? :) А чем именно так плох MyChat, что OpenFire сильно лучше? Хотя бы два-три факта.

      • Я после тестов всех современных чатов, заочно полюбил MyChat за его легковесный нативный клиент. И вообще в целом стал очень хорошо относиться к старой Миранде, которую изначально решил заменить за ее древность. Но поюзав современные поделки на Electron (slack, zulip, mattermost и т.д.) резко негативно к ним отношусь за неотзывчивый, пожирающий ресурсы интерфейс. Эта тенденция просто удручает. Какой-то обычный чат начинает отжирать со временем 1-2 гигабайта оперативной памяти. Так быть не должно. В погоне за скоростью разработки, никто не думает об оптимизации.

        • Аноним

          Вы 100% правы. К сожалению, люди этого не видят сразу, а когда понимают - то уже поздно что-то менять. Сотрудники обучены, софт настроен, худо-бедно как-то работает.

  27. Алексей

    День добрый. Есть желание посмотреть и написать про MyChat?

    • Я хорошо знаком с этим чатом, так как внимательно его тестировал и готовил к внедрению, но потом передумал. В целом, продукт понравился, функциональный и удобный. Настраивается достаточно легко, есть хорошая документация. Не понравилось, что нет подтверждения о прочтении, как во всех современных массовых мессенджерах, дистрибутив только под винду. А еще больше не понравился дизайн, аля привет из 2000-х. Сам клиент внешним видом классическую миранду напомнил. Не захотелось внедрять такой архаизм, в итоге отказался и внедрил zulip. Не сказать, что он сильно лучше, но внешне выглядит более современно.

      • Алексей

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

        • Инструмент "оповещения" я видел и он мне понравился, но речь не о нем. Я имел ввиду аналог одной или двух (когда прочитано) галочек, которые есть, к примеру, в telegram или watsapp. Я так понимаю, вы как-то связаны с разработкой mychat и пришли его популяризировать.

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

          Далее версия сервера только под винду. Да, кому-то может это показаться плюсом, но лично для меня это минус. Я привык к серверным решениям на linux.

          Веб интерфейс управления какой-то тормознутый. На фоне нескучные обои с видом на море. Зачем они там? Чтобы по rdp картинка тормозила? Или предполагается, что администратор поставит сервер чата локально на свой компьютер?

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

          • Алексей

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

          • Алексей

            Напишу ещё раз. Скрины есть в последней новости о выходе версии 7.0, гляньте, там "карусель".

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

            Сервер под Windows. Это не хорошо и не плохо, есть как есть. Дело вкуса и привычек. Никто не запрещает поднять виртуальную машину на Linux и юзать сервер MyChat там.

            Касаемо WEB-интерфейса. Использовать его через RDP - это дикость какая-то. Это же удалённая админка, открываете в своём браузере на любом компьютере адрес сервера MyChat, логинитесь и админите. Зачем в терминалке-то мучить себя? И работает админка очень быстро, мы специально делаем на этом упор.

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

  28. Константин

    Добрый день! Кто нибудь сталкивался с такой ситуацией, когда подключение клиента через браузер осуществляется, а через приложение на Android выводиться сообщение "Не удалось подключиться к серверу. Проверьте адрес сервера и подключение к интернету"

  29. Доброго дня суток! Хочу поднять примерно для 80 юзеров. Необходимо нужен параметры для сервека. Или поднять другой чат-сервер?
    Заранее благодарю за совет :)

    • Я бы начал с виртуалки 2 ядра, 4 гига оперативы, диск 50 гб с возможностью расширения.

    • 140 человек
      Виртуалка на 1 ядро и 1 гиг
      Серверная версия CentOs ест очень мало :)

  30. Привет всем, никто не пробовал соеденить 2 серевера матермоста?

    • Каким образом они соединяются? Я не слышал об этом.

      • есть 2 филиала одной организации в разных городах у каждой свой сервер болталки, возможноли заиметь общий рум какойто, т.е. создать общий канал? Возможно ли такое в принципе?

        • Евгений

          Общий канал делаете и все, но должен быть доступ из вне можно по ip лучше через домен

  31. Приветствую!
    А как решали проблему с websocket? Связка такая: MM на одной виртуалке, nginx на другой, вроде через nginx MM проходит, но какой то урезанный и без доступа к консоли. Если исследовать страницу то там куча ошибок websocket ws://mattermost.mydomain.com/api/v4/websocket (400 BAD Request)

    • Нашел проблему
      в /etc/nginx/sites-available/mattermost (это расположение конфига в Ubuntu)
      заменил
      location /api/v3/users/websocket$ {
      на
      location ~ /api/v[0-9]+/(users/)?websocket$ {

      • proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        Это обязательно впиши, решает пргоблему с WS

  32. server {
    listen 80 default_server;
    server_name mkz.asia;
    return 301 http://$server_name$request_uri; - убери этот костыль
    }

  33. Привет при настройке nginx я похоже сделал что то не так и теперь при переходе на мой домен mkz.asia выдает ошибку ERR_TOO_MANY_REDIRECTS.
    Можете помочь пожалуйста. Если перейти на http://айпи моего vps:8065 то mattermost нормально открывается.
    Кстати при попытке прикрепить картинку mattermost ругается на ошибку JAVA я подключил AmazonS3(подключение прошло успешно и IAM имеются права на запись, в самом баскете создаются файлы которые отправлял по чату)

    • И чем я тут могу помочь? Уж конфиг nginx сами составляйте, если мой не подходит. Если не получается, можно просто не использовать nginx.

      • Не я не хочу сказать что ваш не подходит просто пытаюсь понять что я в нем написал не так.
        А как тут текстовый файл можно прикрепить с конфигой?
        закоментировал ssl чтобы не ругался на тест nginx так как получить сертификат как то не получается

        1: Spin up a temporary webserver (standalone)
        2: Place files in webroot directory (webroot)
        -------------------------------------------------------------------------------
        Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
        Plugins selected: Authenticator webroot, Installer None
        Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
        Please enter in your domain name(s) (comma and/or space separated) (Enter 'c'
        to cancel): mkz.asia
        Obtaining a new certificate
        Performing the following challenges:
        http-01 challenge for mkz.asia
        Input the webroot for mkz.asia: (Enter 'c' to cancel): /etc/letsencrypt/live/mkz.asia/
        Waiting for verification...
        Cleaning up challenges
        Failed authorization procedure. mkz.asia (http-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Fetching http://mkz.asia/.well-known/acme-challenge/A6EdTWHoAH2MK-1Wxphc3h1hAYn6KY1J-ZhLspmhM6E: Error getting validation data

        IMPORTANT NOTES:
        - The following errors were reported by the server:

        Domain: mkz.asia
        Type: connection
        Detail: Fetching
        http://mkz.asia/.well-known/acme-challenge/A6EdTWHoAH2MK-1Wxphc3h1hAYn6KY1J-ZhLspmhM6E:
        Error getting validation data

        To fix these errors, please make sure that your domain name was
        entered correctly and the DNS A/AAAA record(s) for that domain
        contain(s) the right IP address. Additionally, please check that
        your computer has a publicly routable IP address and that no
        firewalls are preventing the server from communicating with the
        client. If you're using the webroot plugin, you should also verify
        that you are serving files from the webroot path you provided.

        • забыл конфигу
          upstream backend {
          server 127.0.0.1:8065;
          }

          proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;

          server {
          listen 80 default_server;
          server_name mkz.asia;
          return 301 http://$server_name$request_uri;
          }

          server {
          # listen 443 ssl http2;
          # server_name mkz.asia;
          # ssl off;
          # ssl_certificate /etc/letsencrypt/live/chat.mkz.asia/*.pem;
          # ssl_certificate_key /etc/letsencrypt/live/chat.mkz.asia/*.pem;
          # ssl_session_timeout 5m;
          # ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
          # ssl_dhparam /etc/ssl/certs/*.pem;
          # ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
          # ssl_prefer_server_ciphers on;
          # ssl_session_cache shared:SSL:10m;

          location /api/v3/users/websocket$ {
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "upgrade";
          client_max_body_size 50M;
          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-Forwarded-Proto $scheme;
          proxy_set_header X-Frame-Options SAMEORIGIN;
          proxy_buffers 256 16k;
          proxy_buffer_size 16k;
          proxy_read_timeout 600s;
          proxy_pass http://backend;
          }

          location / {
          client_max_body_size 50M;
          proxy_set_header Connection "";
          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-Forwarded-Proto $scheme;
          proxy_set_header X-Frame-Options SAMEORIGIN;
          proxy_buffers 256 16k;
          proxy_buffer_size 16k;
          proxy_read_timeout 600s;
          proxy_cache mattermost_cache;
          proxy_cache_revalidate on;
          proxy_cache_min_uses 2;
          proxy_cache_use_stale timeout;
          proxy_cache_lock on;
          proxy_pass http://backend;
          }
          }

  34. Алексей

    Кто то побывал прикрутить к ldap? Вижу есть такое https://github.com/Crivaledaz/Mattermost-LDAP

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

  35. Дмитрий

    Приветствую. Вопрос по локализации, точнее ее отсутствие, несмотря на выбор русского. В логе - Загружен перевод системы на 'ru' из '/opt/mattermost/i18n/ru.json'. Причем смены языка в аккаунте юзера у меня нет,что самое интересное, только в System Console.
    Еще смущает /api/v4/users/waridkk8m7yumxwzoe1xf1oh1a/image:WriteFimbeozozdg1yh uid=waridkk8m7yumxwzoe1xf1oh1a ip=10.xx.xx.xx Encountered an error crea file [details: directory=/opt/mattermost/bin/data/users/waridkk8m7yumxwzoe1xf1oh1a, er denied], в ip адрес моей машинки,с которой я захожу на виртуалку mattermost-а.

    • Дмитрий

      Отвечаю сам себе же) Был уверен,что сменил права на нужные и не проверил.

  36. Вопрос снят с повестки дня!

  37. Привет! Нужно помощь выручайте пожалуйста! Поставил MM все отлично работает. Но когда пропускаю через прокси пользователям ругается "Проверьте соединение, Mattermost недоступен. Если проблема не устранена, попросите администратора проверить порт WebSocket." при том сообщение доход но без popup уведомление, это не удобно и даже не знаешь если кто нибудь отправить тебе сообщение.
    Прокси Сервер - IP 192.168.1.56 (Squid+AD+Sams2)
    MM Сервер - IP 192.168.1.75

  38. > Skype последнее время стал сильно глючить и потреблять много ресурсов
    Как правило, глючит не скайп, а маршрутизатор. Виноват может быть как скайп (MS любит менять протокол), так и роутер. VOIP, особенно коллективный и тем более корректно, отрабатывать могут не только лишь все
    На счёт ресурсов - ПК 15 летней давности, 3 выработавшие ресурс? Ну да жрёт, особенно если не убрать ручками хост рекламы. Но если для ПК 150 Мб в ОЗУ нагрузка - его пора менять, так как браузеры жрут на порядок и более
    > теперь перестал им быть.
    Не замечал, вот чтобы прямо так категорично
    > В любой момент с очередным обновлением он может перестать работать или начать жестко глючить.
    Не ставить бездумно обновления, да? ))
    > Исправления можно ждать неделю — две.
    Если тупо вкатывать обновления и так же тупо пялиться в экран после подачи тикета в ожидании решения - конечно )
    > К тому же skype постоянно крутит рекламу, пожирает ресурсы, причем непонятно на что. Он стал очень прожорлив.
    драйвер hands.dvr ;-)) Хотя справедливость замечания имеет место быть
    > Иногда глючит передача файлов, приходится пересоздавать профиль.
    См выше про роутер, это один из первых и типичных признаков. А вообще, для бизнес коммуникаций есть skype for business/lync
    Не бесплатно, конечно. Во всяком случае, халявщикам надо поработать ручками

    > Второй недостаток всех публичных мессенджеров — нет централизованного управления аккаунтами. > Нет управления историей.
    *рукалицо* Вы определитесь - шашечки вам или ехать )) Откройте гугл сьюит кроме бизнес-скайп,
    там такая централизация - КГБ и концлагерь отдыхает. Опять же не бесплатно, нищебродам там не рады

    Вообще, общее замечание: в коммуникациях есть два состояния
    первый: стартап-фриланс, с использованием SOHO железа и опенсырцовых/фриварных решений.
    Разрешено всё и под свою ответственность, без каких либо гарантий -as is
    Второй: групповые коммуникации для бизнеса. Компании, выпускающие решения, тоже хотят кушать и зарабатывать много на VoIP
    Следует помнить и понимать, что есть вероятности и риски. Так как VoIP крайне чувствителен, развитая групповая работа может потребовать обеспечения такой же групповой работы специалистов, начиная с хорошего сетевика и заканчивая программистом(-ами)
    Особенно, если к коммуникациями предъявляются требования первого и бизнес класса, которые подразумевают отдельные бюджеты

  39. "К тому же skype постоянно крутит рекламу"

    Не выгораживаю скайп, но о какой версии речь и на какой платформе?

  40. Спасибо большое Вам, ошибка было из-за не внимательности.

  41. Доброго дня! Имеется вопрос: У меня стоит Proxy Server (настроил по Вашим рекомендациям, конечно Большое спасибо). и вот Proxy не пропускает Mattermost, искал в настройках не нашел где можно было прописать proxy. Как быть? Спасибо заранее.

    • Вообще, он работает через прокси нормально. У меня работал в офисе на прокси с авторизацией в домене по керберосу. Никаких особенных настроек для mm не делал.

  42. Спасибо решил :)

  43. Привет! Нужен помощь. При добавления в автозапуск systemctl enable mattermost:

    Failed to execute operation: Bad message

    • Похоже ошибка в конфиге systemd. Сейчас разбираюсь. Напишу как исправлю.

    • С таким конфигом у меня нормально работает:

      [Unit]
      Description=Mattermost
      After=syslog.target network.target mariadb.service

      [Service]
      Type=simple
      WorkingDirectory=/opt/mattermost/bin
      User=mattermost
      ExecStart=/opt/mattermost/bin/platform
      PIDFile=/var/spool/mattermost/pid/master.pid
      LimitNOFILE=49152

      [Install]
      WantedBy=multi-user.target

      Надо еще не забять исполняемым сделать файл.

  44. Доброго дня суток. Нужен помощь. При старте /opt/mattermost/bin/platform ругается:

    [2017/12/20 15:21:03 +05] [INFO] Loaded system translations for 'en' from '/opt/mattermost/i18n/en.json'
    [2017/12/20 15:21:03 +05] [INFO] Current version is 4.5.0 (4.5.0/Fri Dec 15 23:15:33 UTC 2017/03f5c939deb4a6ab2fd01639b5570799e4118bab/dc1a5c62b18d87b9effd4ec249f29c77d1ffdde0)
    [2017/12/20 15:21:03 +05] [INFO] Enterprise Enabled: true
    [2017/12/20 15:21:03 +05] [INFO] Current working directory is /opt/mattermost/bin
    [2017/12/20 15:21:03 +05] [INFO] Loaded config file from /opt/mattermost/config/config.json
    [2017/12/20 15:21:03 +05] [INFO] Loaded system translations for 'en' from '/opt/mattermost/i18n/en.json'
    [2017/12/20 15:21:03 +05] [INFO] Server is initializing...
    [2017/12/20 15:21:04 +05] [INFO] Pinging SQL master database
    [2017/12/20 15:21:04 +05] [INFO] Initializing plugin: ldapextras
    [2017/12/20 15:21:04 +05] [INFO] Able to write files to local storage.
    [2017/12/20 15:21:04 +05] [INFO] License key from https://mattermost.com required to unlock enterprise features.
    [2017/12/20 15:21:04 +05] [INFO] Starting up plugins
    [2017/12/20 15:21:04 +05] [EROR] failed to start up plugins: mkdir ./client/plugins: no such file or directory
    [2017/12/20 15:21:04 +05] [INFO] Starting Server...
    [2017/12/20 15:21:04 +05] [INFO] Server is listening on [::]:8065
    [2017/12/20 15:21:04 +05] [INFO] Initializing job API routes
    [2017/12/20 15:21:04 +05] [INFO] API version 3 is scheduled for deprecation. Please see https://api.mattermost.com for details.
    [2017/12/20 15:21:04 +05] [INFO] Starting 2 websocket hubs
    [2017/12/20 15:21:04 +05] [INFO] Starting up plugins
    [2017/12/20 15:21:04 +05] [EROR] failed to start up plugins: mkdir ./client/plugins: no such file or directory
    [2017/12/20 15:21:04 +05] [INFO] Starting up plugins
    [2017/12/20 15:21:04 +05] [EROR] failed to start up plugins: mkdir ./client/plugins: no such file or directory
    [2017/12/20 15:21:04 +05] [INFO] Starting workers
    [2017/12/20 15:21:04 +05] [INFO] Starting schedulers.

    • Кажется, у меня такие же ошибки были. Ругался на создание директории, но при этом сам сервер работал. Проверьте, запустилась ли служба на указанном порту - 8065.

      При повторном запуске эта директория уже была создана. На крайний случай можно создать руками:
      mkdir /opt/mattermost/client/plugins

      • Спасибо за статью и за ресурс в целом. 2 вопроса, если позволите. 1) Такая же ошибка как юзверя выше. Сервер запускается, но выдает [EROR] failed to start up plugins: mkdir ./client/plugins: no such file or directory
        При этом уже и папку руками создал (с соответствующими разрешениями), все равно в упор ее не видит. ЧТо можно предпринять?
        2) Есть ли вариант сделать из матермоста сервис, если ставлю ее на centos 6-ой ветки, не наблюдаю тут systemctl

        • В centos 6 нету systemctl, там нужно писать скрипт запуска в /etc/init.d. В принципе, это даже проще, надо только готовый пример найти или по аналогии сделать.

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

          • Насчет /etc/init.d разобрался, у них на сайте есть статья по настройке на CentOS 6, там все есть. По поводу ошибки директории плагинов. Как уже говорил: создал папку, добавил в автозагрузку. Возможно после ребута Mattermost увидел ее. В итоге всё уперлось в проксирование. Купил домен, купил серт. Несколько дней ковырял свой Apache 2.2.15. Уже и отдельно модуль proxy_wstunnel_module компилил - подсовывал, и отдельно сорцы качал, патчил, заменял все модули, которые к прокси относятся, но так и не смог WebSocket'ы запустить. Похоже придется NginX осваивать...

  45. Спасибо за хорошую и содержательную статью! Вопрос такой. Есть корпоративный портал на sharepoint 2013, там надо реализовать чат между сотрудниками. Что посоветуете? Какой мессенджер можно интегрировать и с АД, и с Sharepoint?

    • По-моему тот же mattermost имеет платный плагин для интеграции с AD. Бесплатных решений я не встречал для этого.

      • Алексей

        в 2012 запустил у себя
        openfire (на убунте) + ad через kerberos
        в качестве клиента сборка миранды. sso работает даже на windows 10
        пользователей около 150. управление через группы в AD.
        все бесплатно уже в течении 5 лет :)

        • Openfire + Miranda у меня сейчас работает. Претензий к этой штуке у меня нет. Но когда я смотрю на миранду, мне становится грустно :) Это уже прошлый век. Даже не хочется перечислять, чего не хватает.

          • Здравствуйте.

            1. Скажите, о какой Miranda-e вы говорите: Maranda-I'm or miranda-ng?
            И..., о ванильной или о какой-то сборке?

            2. Из перечисленных вами плюсов M.most его выгодно отличает от xmpp возм.хранения вложений на сервере (а след., возм.отправки файлов офлайн пользователям).
            Скажите, какие вы для себя видите преимущества M.Most в сравнении с xmpp?

            • 1. Так а какая разница? Они все похожи друг на друга. Я обычно использовал сборку hotcoffee.
              2. Сейчас у меня стоит задача внедрить современный чат сервер на базе xmpp. Как сделаю и посмотрю все современные возможности и решения, возможно напишу статью на эту тему и сравню.

              • Аноним

                Про XMPP:
                Насколько я могу судить, этот протокол продолжает развиваться в основном за счёт XEP-ов. Новые RFC на сам XMPP, вроде бы, не пишутся.
                Правда, я не оч.внимательно слежу за развитием этого протокола.
                Как вам видится будущее этого протокола? Есть ощущение, что HTTP/HTTPS в скорости его вытеснит.

              • И как успехи по 2 пункту?есть ли статья?интересует тоже эта тема,чтобы и клиенты под ведро и огрызки нормально работали с таким сервером,пересылка файлов,аудио хотя бы,спасибо.

                • Так и не внедрил, но задача стоит. Думаю, что на следующей недели буду настраивать. Когда статья выйдет - не знаю.

  46. Здравствуйте.

    Лег винт на сервере, образ отказался восстанавливаться, Акронис вылетает.
    Вообщем такой вопрос, иду по инструкции и вот дохожу до этапа запроса SQL выполняю его, после выполнения SQL запроса, получаю сообщение что возвращен пустой ответ, и вот не могу найти пункт меню в котором можно отобразить полные тексты.
    Как на картинке сверху:
    https://serveradmin.ru/wp-content/uploads/2017/04/centos-mattermost-03.png
    Не подскажите где искать этот подпункт?

    • Если вернула пустой ответ, значит код выполнен либо в пустой базе данных, либо не в той, которой нужно. Запрос должен выводить некий ответ, с которым потом уже работаем. У вас ответа вообще нет.

      • Такой вопрос.
        Ранее у меня с этой задачей проблемы не было SQL запрос и все последующее по инструкции проходило на ура, и после была наращена база и сделана копия.
        Если у меня есть копия базы, и ее просто импортирую, эта операция со SQL запросом, нужна?

        • Отвечаю на свой вопрос.

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

          Спасибо, тебе админ)
          Твой сайт очень помогает.

          На основании твоих статей и нескольких других сайтов, я наконец сделал полный сценарий по настройке своего Centos 7 сервера. На котором превосходно работает mattemost и owncloud.

          Респект и уважуха, тебе!

  47. Володя

    Я заметил что этот чатик может портироваться с Active Directory. На данный момент сам гуглю настройки, но был бы благодарен примеру))

    • Если не ошибаюсь, то это платный функционал.

      • Володя

        "https" для него тоже платный функционал? А то ли я где-то не понимаю толи он так работает. Перевести nextcloud на "https" с самоподписанными сертификатами смог, а с чатом воюю. Хотя "воюю" только часа 2 как))

  48. А как Вы настроили PUSH?

    • Владимир

      Когда выбираешь опцию указать свой push-сервер появляется текст содержащий ссылки(или ссылку не помню их там две или одна) на страницу где на английском описано что мы можем использовать их бесплатный сервер. Я скопировал адрес - вставил в нужное поле и вуаля))

  49. Володя

    Вопрос по теме push-уведомлений. Пока тестил на виртуалке они включились и работали. Только развернул на живом пк не могу включить push-уведомлений. Как быть кто подскажит?

  50. Валентин

    Напиши пожалуйста как правильно сделать обновление на свежую версию.

  51. Тоже столкнулся с выбором корпоративного мессенджера и, глубоко проанализировав текущие решения, нашел для себя отличный вариант - Riot.IM который работает на базе протокола [matrix] - офсайт клиента http://riot.im/

    Огромный плюс Matrix - это федерация, т.е. разные сервера могут отправлять сообщения друг другу (как в XMPP Jabber), но в отличии от жаббера - есть все новомодные фишки в виде веб-клиента, истории на сервере, комнаты, боты и т.п.

    И в протоколе [matrix] вы не привязаны к одному мессенджеру, есть широкий выбор альтернатив: https://matrix.org/docs/projects/try-matrix-now.html#clients (правда большинство пока в бета-версиях).

    Также можно настроить шлюзы в большинство других сетей, в том числе Skype, Telegram, Mattermost, и т.п. - https://matrix.org/docs/projects/try-matrix-now.html#application-services - т.е. клиенты и внешние сотрудники могут общаться с сотрудниками компании в их любимом мессенджере, а ваши сотрудники получать и отправлять им сообщения через один мессенджер.

    • Спасибо за информацию, посмотрю на Matrix.

    • хотел бы уточнить
      надо поднять matrix "home server"
      а riot.im это уже как клиет к нему будет так?
      что-то заблудился в гайдах

      • Да, все так. В целом, matrix с riot не связан, это просто один из клиентов, но на вид самый удобный.

    • Не нашел как на матриксе управлять пользователями, кроме как напрямую в БД. Печалька.

    • Потестил я этот matrix с riot. Никак статью не допишу, так как много разбирался с темой. Но в целом мой вывод такой - этот продукт для продакшена совершенно не готов. Очень много непонятного, какие-то глюки время от времени: то оповещения не работают, то в установке файлы пропущены, то версии модулей питона не совпадают, то еще что-нибудь. Каждая установка на новой системе танцы с бубном. Я их попробовал несколько, так как в каждой системе что-нибудь глючило и я надеялся, что в другой будет нормально. Но нет :)

      Оповещения на почту работают как-то странно. Руками добавляешь условия через настройки - работают. Но как сделать, чтобы сразу приходили уведомления о личных сообщениях, если ты в офлайне, я не понял.

      Сам riot работает немного странно и непривычно, подтормаживает и подтупливает временами. Иногда верстка разъезжается, особенно на странице логина (выпадающий список).

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

  52. вот это сокровище вообще!
    спасибо большое

  53. Спасибо, Вам за подробные инструкции.

    • Получилось mattermost настроить? Как он, понравился?

      • Да, но с без https. Также не нашёл как обойти ограничение по одновременной загрузки 5 изображений. Спасибо за подробные инструкции, благодаря им, я запустил и частично настроил у себя Centos 7. Спасибо)

  54. Со всем уважением, но мне кажется несколько часов вашей работы, будут стоить как покупка платного но удобнейшего и многофункционального MyChat. До 20 пользователей - бесплатно!

    • Посмотрел описание. Функционал понравился, внешний вид не очень. Старовато выглядит. Надо будет потестировать.

      • Всенепременно попробуйте! Крутецкая штуковина.
        А что до внешнего вида... ну тут вспоминается анекдот про шашечки и ехать + разработчик очень внимательно прислушиваются к своим пользователям, так что, как знать, может и поддержку скинов внедрят.
        Ах, да, чуть не забыл!
        За блог - спасибо! :-)

    • GtaSaKompanion

      Ни к чему ваш этот MyChat с закрытым исходником. Другое дело, если бы был платный, но с открытым исходником.

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

  55. А почему OpenFire + Spark не рассматривали? Там даже интеграция с АД есть насколько я помню

  56. А как на счет привязки пользователей к почте как в ejabberd можно реализовать?

    • Не понял, о какой привязке идет речь?

      • Примерно ejabberd можно привязать к postfix. пользователи у которых есть почта, могут используя свой почтовый адрес и пароль авторизовываться в ejabberd чате. Как бы один логин и пароль ко двум системам.
        Такое возможно в mattermost?

  57. Не увидел преимуществ перед OpenFire + MySQL.

    • Mattermost - это вебня, т.е. красивый гуй

      Skype - это жалкое подобие Slack,
      да ещё и с кривым поиском.

      А Mattermost - это лучше чем slack, потому что работает на собственном сервере
      (а не в чьём-то облаке) и поиск по истории бесплатный

      • По функционалу Mattermost Слаку явно проигрывает. Ну а то, что он на своем сервере крутится, для меня определяющее преимущество.

    • Аноним

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

      • Discord немного использовал. Качество связи хорошее, лучше, чем в скайп. Но я так понял, он конкурент скайпу, а не корпоративным мессенджерам, типа слака или мм.

  58. Василий

    А можно про rocket.chat подробнее? Я так понял, в нём есть видеоконференции, в отличие от MM. В MM есть отдельная enterprise версия, то есть опять все интересные плюшки типа AD интеграции вынесены за плату?

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

  59. А если сервер будет выключен, клиенты будут работать?

    • Нет, они же к серверу подключаются. Это только клиент-серверная реализация.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar