Поиск по сайту:

Как установить Mattermost на Alma Linux 8


На этой странице

  1. Предпосылки
  2. Установить сервер MySQL
  3. Создание базы данных для Mattermost
  4. Установите Mattermost на Alma Linux 8
  5. Создание служебного файла Systemd для Mattermost
  6. Настройка Nginx в качестве обратного прокси-сервера для Mattermost
  7. Настройка брандмауэра
  8. Доступ к веб-интерфейсу Mattermost
  9. Заключение

Mattermost — это бесплатная и безопасная платформа с открытым исходным кодом для общения, совместной работы и организации рабочих процессов с использованием инструментов и команд. Это собственная служба чата, разработанная для организаций и компаний для внедрения службы внутреннего чата. Он предлагает несколько полезных функций, включая обмен сообщениями один на один, неограниченную историю поиска, обмен файлами, двухфакторную аутентификацию, уведомления и многое другое. Если вы ищете альтернативное решение для Slack, тогда Mattermost — лучший выбор для вас. ;var slotId=div-gpt-ad-howtoforge_com-box-3-0;var ffid=1;var alS=1002%1000;var container=document.getElementById(slotId);container.style.width=100%;var ins=document.createElement(ins);ins.id=slotId+-asloaded;ins.className=adsbygoogle ezasloaded;ins.dataset.adClient=pid;ins.dataset.adChannel=cid;if(ffid==2){ins. набор данных.fullWidthResponsive=true;}

В этом руководстве мы покажем вам, как установить Mattermost с Nginx на Alma Linux 8.

Предпосылки

  • Сервер под управлением Alma Linux 8.
  • Действительное доменное имя, указанное с IP-адресом вашего сервера.
  • На сервере настроен пароль root.

Установить сервер MySQL

Mattermost использует MySQL в качестве базы данных. Поэтому MySQL должен быть установлен на вашем сервере. Вы можете установить его, выполнив следующую команду:

dnf install mysql-server -y

После установки сервера MySQL запустите и включите службу MySQL с помощью следующей команды:

systemctl start mysqld
systemctl enable mysqld

Теперь вы можете защитить установку MySQL, запустив следующий скрипт:

mysql_secure_installation

Ответьте на все вопросы, как показано ниже, чтобы установить пароль root для MySQL и защитить установку:

Press y|Y for Yes, any other key for No: N
Please set the password for root here.
New password: 
Re-enter new password: 
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

Создайте базу данных для Mattermost

Далее вам нужно будет создать базу данных и пользователя для Mattermost. Сначала войдите в MySQL с помощью следующей команды:

mysql -u root -p

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

mysql> CREATE DATABASE matterdb;
mysql> CREATE USER 'matteruser'@'localhost' IDENTIFIED BY 'password';

Далее предоставьте все привилегии базе данных Mattermost:

mysql> GRANT ALL PRIVILEGES ON matterdb.* TO ;

Затем сбросьте привилегии и выйдите из MySQL с помощью следующей команды:

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Как только вы закончите, вы можете перейти к следующему шагу.

Установите Mattermost на Alma Linux 8

Сначала создайте выделенного пользователя для запуска Mattermost с помощью следующей команды:

useradd --system --user-group mattermost

Затем загрузите последнюю версию Mattermost, используя следующую команду:

wget https://releases.mattermost.com/6.0.2/mattermost-6.0.2-linux-amd64.tar.gz

После завершения загрузки извлеките загруженный файл с помощью следующей команды:

tar -xf mattermost-6.0.2-linux-amd64.tar.gz

Затем переместите извлеченный каталог в /opt:

mv mattermost /opt

Затем создайте каталог данных для Mattermost и измените владельца и разрешение Mattermost:

mkdir /opt/mattermost/data
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost

Затем отредактируйте файл конфигурации Mattermost:

nano /opt/mattermost/config/config.json

Определите URL-адрес вашего веб-сайта Mattermost, как показано ниже:

    "SiteURL": "http://mattermost.example.com",

Далее найдите следующие строки:

    "DriverName": "postgres",
    "DataSource": "postgres://mmuser:/mattermost_test?sslmode=disable&connect_timeout=10",

И заменил их следующими строками:

    "DriverName": "mysql",
    "DataSource": "matteruser:(localhost:3306)/matterdb?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",

Сохраните и закройте файл, когда закончите.

Создайте служебный файл Systemd для Mattermost

Далее вам нужно будет создать файл службы systemd для управления службой Mattermost. Вы можете создать его, выполнив следующую команду:

nano /etc/systemd/system/mattermost.service

Добавьте следующие строки:

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

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

[Install]
WantedBy=multi-user.target

Сохраните и закройте файл, затем перезагрузите демон systemd с помощью следующей команды:

systemctl daemon-reload

Затем запустите службу Mattermost и включите ее запуск при перезагрузке системы:

systemctl start mattermost
systemctl enable mattermost

Теперь вы можете проверить статус службы Mattermost с помощью следующей команды:

systemctl status mattermost

Вы получите следующий вывод:

? mattermost.service - Mattermost
   Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-01-15 14:12:29 UTC; 7s ago
 Main PID: 15201 (mattermost)
    Tasks: 32 (limit: 11411)
   Memory: 265.2M
   CGroup: /system.slice/mattermost.service
           ??15201 /opt/mattermost/bin/mattermost
           ??15298 plugins/com.mattermost.plugin-channel-export/server/dist/plugin-linux-amd64
           ??15299 plugins/com.mattermost.nps/server/dist/plugin-linux-amd64
           ??15308 plugins/playbooks/server/dist/plugin-linux-amd64
           ??15313 plugins/focalboard/server/dist/plugin-linux-amd64

Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.344 Z","level":"info","msg":"Sent notification of next survey>
Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.402 Z","level":"info","msg":"Post.Message has size restrictio>
Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.499 Z","level":"info","msg":"info [2022-01-15 14:12:26.497 Z]>
Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.537 Z","level":"info","msg":"\n    -- collation of mattermost>
Jan 15 14:12:28 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:28.297 Z","level":"info","msg":"debug [2022-01-15 14:12:28.295 Z>
Jan 15 14:12:28 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:28.804 Z","level":"info","msg":"info [2022-01-15 14:12:28.803 Z]>
Jan 15 14:12:29 almalinux8 systemd[1]: Started Mattermost.
Jan 15 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.149 Z","level":"info","msg":"Starting Server...","caller":"ap>
Jan 15 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.150 Z","level":"info","msg":"Server is listening on [::]:8065>
Jan 15 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.150 Z","level":"info","msg":"Sending systemd READY notificati>

На данный момент Mattermost запущен и работает на порту 8065. Вы можете проверить это с помощью следующей команды:

ss -antpl | grep 8065

Вы получите следующий вывод:

LISTEN 0      128                *:8065             *:*    users:(("mattermost",pid=15201,fd=35))                   

Как только вы закончите, вы можете перейти к следующему шагу.

Настройте Nginx в качестве обратного прокси-сервера для Mattermost

Рекомендуется установить и настроить Nginx в качестве обратного прокси для Mattermost. Для этого вам необходимо установить сервер Nginx на свой сервер. Вы можете установить его, выполнив следующую команду:

dnf install nginx -y

После установки Nginx создайте файл конфигурации виртуального хоста Nginx с помощью следующей команды:

nano /etc/nginx/conf.d/mattermost.conf

Добавьте следующие строки:

 server {
        listen       80;
        server_name  mattermost.example.com;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
	proxy_pass http://localhost:8065/;
            index  index.html index.htm;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

Сохраните и закройте файл, затем проверьте Nginx на наличие ошибок конфигурации:

nginx -t

Если все в порядке, вы получите следующий вывод:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Теперь запустите и включите службу Nginx для запуска при перезагрузке системы:

systemctl start nginx
systemctl enable nginx

Вы можете проверить статус Nginx, используя следующую команду:

systemctl status nginx

Вы получите следующий вывод:

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-01-15 14:14:05 UTC; 7s ago
  Process: 15356 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 15354 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 15351 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 15358 (nginx)
    Tasks: 2 (limit: 11411)
   Memory: 3.8M
   CGroup: /system.slice/nginx.service
           ??15358 nginx: master process /usr/sbin/nginx
           ??15359 nginx: worker process

Jan 15 14:14:05 almalinux8 systemd[1]: nginx.service: Succeeded.
Jan 15 14:14:05 almalinux8 systemd[1]: Stopped The nginx HTTP and reverse proxy server.
Jan 15 14:14:05 almalinux8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jan 15 14:14:05 almalinux8 nginx[15354]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jan 15 14:14:05 almalinux8 nginx[15354]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jan 15 14:14:05 almalinux8 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Jan 15 14:14:05 almalinux8 systemd[1]: Started The nginx HTTP and reverse proxy server.

На данный момент Nginx установлен и настроен для обслуживания Mattermost. Теперь вы можете перейти к следующему шагу.

Настроить брандмауэр

Затем вам нужно будет разрешить порт 80 через брандмауэр. Вы можете разрешить это, выполнив следующую команду:

firewall-cmd --add-service=http --permanent

Затем перезагрузите брандмауэр, чтобы применить изменения:

firewall-cmd --reload

Как только вы закончите, вы можете перейти к следующему шагу.

Доступ к веб-интерфейсу Mattermost

Теперь откройте веб-браузер и войдите в веб-интерфейс Mattermost, используя URL-адрес http://mattermost.example.com. Вы будете перенаправлены на следующий экран:

Укажите свой адрес электронной почты, имя пользователя администратора, пароль и нажмите кнопку «Создать учетную запись». Вы получите следующий экран:

Нажмите «Создать команду». Вы получите следующий экран:

Укажите название вашей команды и нажмите кнопку «Далее». Вы получите следующий экран:

Укажите URL-адрес своей команды Mattermost и нажмите кнопку «Готово». Вы получите панель инструментов Mattermost на следующем экране:

Заключение

В приведенном выше руководстве вы узнали, как установить службу чата Mattermost с помощью Nginx на Alma Linux 8. Теперь вы можете внедрить Mattermost в своей организации и начать использовать ее в качестве внутреннего чата. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.