Как установить Mattermost на Alma Linux 8
На этой странице
- Предпосылки
- Установить сервер MySQL
- Создание базы данных для Mattermost
- Установите Mattermost на Alma Linux 8
- Создание служебного файла Systemd для Mattermost
- Настройка Nginx в качестве обратного прокси-сервера для Mattermost
- Настройка брандмауэра
- Доступ к веб-интерфейсу Mattermost
- Заключение
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 в своей организации и начать использовать ее в качестве внутреннего чата. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.