Mattermost е корпоративна комуникационна платформа с отворен код, предназначена за вътрешна комуникация за екипи и организации. Тя поддържа текстови чатове, споделяне на файлове, видеоразговори и интеграция с различни услуги на трети страни. Mattermost може да бъде внедрен на вашите собствени сървъри за пълен контрол и сигурност на данните. Тя е алтернатива на решения като Slack, с възможност за персонализиране, автоматизиране и интегриране с DevOps процесите.
Първо, трябва да се свържете със сървъра си чрез SSH под потребителя root. Изпълнете следната команда, като замените IP_Address с IP адреса на вашия сървър и Port_number с номера на SSH порта:
ssh root@IP_Address -p Port_number
За да се уверите, че имате инсталирана правилната версия на Ubuntu, изпълнете командата:
lsb_release -a
Очакваният резултат:
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Codename: noble
Актуализирайте операционната система:
apt update
apt upgrade
Сега нека да създадем база данни PostgreSQL за използване от сървъра Mattermost. Въведете командата (тази команда ще инсталира postgresql):
apt install postgresql
Влезте в PostgreSQL:
sudo -u postgres psql
Създайте база данни Mattermost:
CREATE DATABASE mattermost;
Създайте потребител mmuser (използвайте по-сигурна парола вместо mmuser-password
):
CREATE USER mmuser WITH PASSWORD 'mmuser-password';
Дайте права на потребителя mmuser:
GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
GRANT ALL ON DATABASE mattermost TO mmuser;
ALTER DATABASE mattermost OWNER TO mmuser;
GRANT USAGE, CREATE ON SCHEMA PUBLIC TO mmuser;
Излезте от PostgreSQL
q
Направете промени във файла pg_hba.conf, които дават достъп на Mattermost сървъра до базата данни PostgreSQL.
Отворете файла:
nano /etc/postgresql/16/main/pg_hba.conf
Намерете редовете:
local all all peer
host all all 127.0.0.1/32 scram-sha-256
host all all ::1/128 scram-sha-256
Заменете с:
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
Запишете промените, затворете файла и актуализирайте конфигурацията на PostgreSQL:
systemctl reload postgresql
Проверете дали можем да се свързваме с базата данни от потребителя mmuser:
psql --dbname=mattermost --username=mmuser --password
Въведете паролата, която създадохме, вместо mmuser-password
Ако сме направили всичко правилно - ще се появи конзолата на PostgreSQL.
Излезте:
q
Изтеглете последната версия на Mattermost server:
wget https://releases.mattermost.com/10.0.1/mattermost-10.0.1-linux-amd64.tar.gz
Разпарчетосайте:
tar -xvzf mattermost*.gz
Прехвърлете в директорията /opt:
mv mattermost /opt
По подразбиране сървърът Mattermost използва директорията /opt/mattermost/data
Създайте я:
mkdir /opt/mattermost/data
Сега създайте група и потребител mattermost:
useradd --system --user-group mattermost
Предоставете разрешения:
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost
За да управляваме сървъра Mattermost, нека създадем системна услуга.
Отворете редактора, за да създадете файл на услугата:
nano /lib/systemd/system/mattermost.service
Отвореният, празен файл - попълнете го със следното съдържание:
[Unit]
Description=Mattermost
After=network.target
After=postgresql.service
BindsTo=postgresql.service
[Service]
Type=notify
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
KillMode=mixed
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
User=mattermost
Group=mattermost
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target
Актуализирайте конфигурацията на systemd:
systemctl daemon-reload
Преди да стартирате сървъра Mattermost, трябва да го конфигурирате.
Създайте резервно копие на конфигурационния файл:
cp /opt/mattermost/config/config.json /opt/mattermost/config/config.defaults.json
Отворете конфигурационния файл на сървъра Mattermost в текстов редактор:
nano /opt/mattermost/config/config.json
Трябва да направим промените.
Намерете:
"DataSource": "postgres://mmuser:@localhost/mattermost_test?sslmode=disableu0026connect_timeout=10u0026binary_parameters=yes"
Заменете с:
"DataSource to "postgres://mmuser: <mmuser-password>@<host-name-or-IP>:5432/<mattermost>?sslmode=disable&connect_timeout=10"
Къде.
<mmuser-password>
- парола на mmuser за PostgreSQL.
<host-name-or-IP>
- IP адрес на сървъра или неговото име на хост.
<mattermost>
- база данни на PostgreSQL.
Запазете файла и излезте от редактора.
Активирайте услугата да се изпълнява при стартиране на системата и я стартирайте сега:
systemctl enable --now mattermost
Използвайте командата, за да проверите състоянието на сървъра:
systemctl status mattermost
Отворете <IP адреса на вашия сървър или името на хоста му>
в браузъра си : 8065
Следвайте инструкциите на страницата, която се отваря.
Сървърът Mattermost вече е инсталиран и работи на вашия сървър Ubuntu 24.04.