本文介绍在使用Nginx作为反向代理的CentOS 8服务器上安装Mattermost。Mattermost是一个免费的开源在线团队协作和聊天平台,具有来自Mattermost和社区的数百种现有集成,这使您可以构建可扩展到成千上万并发用户的自定义工作流。您可以轻松地与大多数流行的DevOps工具安全地集成。建议在操作以下步骤之前,更新系统,运行sudo yum -y update命令即可,升级后运行sudo reboot命令重新启动,然后按以下步骤操作。
步骤1:安装数据库 我们的Mattermost服务器将需要一个数据库来存储其数据,为此,我们将使用MariaDB数据库: sudo yum -y install @mariadb sudo systemctl enable --now mariadb sudo mysql_secure_installation 参考:在CentOS 8/RHEL 8服务器上安装MariaDB 10.4版本的具体步骤。 安装数据库后,登录到MariaDB shell,并为Mattermost创建数据库和用户: $ mysql -u root -p
步骤2:在CentOS 8上安装Mattermost服务器 添加系统用户以管理Mattermost服务: sudo useradd -d /opt/mattermost -U -M mattermost 然后在CentOS 8 Linux上安装Mattermost Server,最新版本的Mattermost可在Mattermost下载页面上找到,地址:https://mattermost.com/download/,本文以下载安装5.20.2版本为例: wget https://releases.mattermost.com/5.20.2/mattermost-5.20.2-linux-amd64.tar.gz 下载完成后解压缩档案: tar xvf mattermost-5.20.2-linux-amd64.tar.gz 将提取的文件移动到/opt目录: sudo mv mattermost /opt 为用户发布到Mattermost的文件和图像创建存储目录: sudo mkdir /opt/mattermost/data 设置目录权限: sudo chown -R mattermost:mattermost /opt/mattermost sudo chmod -R g+w /opt/mattermost 配置数据库驱动程序: sudo vim /opt/mattermost/config/config.json 我们需要设置: 将“DriverName”设置为“mysql”。 将“DataSource”设置为:
对我来说,如下图所示:
更改为whatmost目录,以测试Mattermost服务器: cd /opt/mattermost 最重要的是启动Mattermost服务器: $ sudo -u mattermost ./bin/mattermost
其他Linux请参考:在Debian 10/Ubuntu 18.04上使用PostgreSQL安装Mattermost的步骤。
步骤3:配置Mattermost systemd单位文件 为Mattermost创建一个系统化的单位文件: sudo tee /etc/systemd/system/mattermost.service<<EOF [Unit] Description=Mattermost After=syslog.target network.target mariadb.service [Service] Type=notify WorkingDirectory=/opt/mattermost User=mattermost ExecStart=/opt/mattermost/bin/mattermost PIDFile=/var/run/mattermost.pid TimeoutStartSec=3600 LimitNOFILE=49152 [Install] WantedBy=multi-user.target EOF 禁用SELinux或将其设置为许可模式: sudo setenforce 0 sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config 参考:在CentOS 8上检查SELinux模式、将模式更改为Permissive及禁用的方法。 使服务可执行: sudo systemctl daemon-reload sudo systemctl enable --now mattermost 确认服务状态: $ systemctl status mattermost.service
验证Mattermost是否正在运行: $ curl http://localhost:8065 您应该会看到Mattermost服务器返回的HTML。
步骤4:安装和配置Nginx 在生产环境中运行Mattermost时,请使用代理服务器以提高Mattermost的安全性和性能。 在CentOS Linux机器上安装Nginx: sudo dnf -y install epel-release sudo dnf -y install nginx 启动并启用Nginx服务: sudo systemctl enable --now nginx 然后将Nginx Web服务器配置为Mattermost Server的代理: sudo vi /etc/nginx/conf.d/mattermost.conf 将以下代码段粘贴并编辑到文件中,以最基本地配置Nginx: upstream backend { server 127.0.0.1:8065; keepalive 32; } 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; server_name mattermost.example.com; location ~ /api/v[0-9]+/(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; client_body_timeout 60; send_timeout 300; lingering_timeout 5; proxy_connect_timeout 90; proxy_send_timeout 300; proxy_read_timeout 90s; 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_http_version 1.1; proxy_pass http://backend; } } 修改mattermost.example.com,为您的Mattermost域设置正确的值。 验证您的Nginx配置文件: $ sudo nginx -t 成功的话,会返回以下信息: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful 如果一切正常,请重新启动Nginx: sudo systemctl restart nginx 在Firewalld上打开http和https端口: sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload 确认状态为运行中(running): $ sudo systemctl status nginx
您应该能够访问在Nginx上配置的Mattermost域: $ curl mattermost.example.com
步骤5:配置Mattermost服务器 现在,我们可以通过打开Nginx上配置的域来开始配置Mattermost服务器: http://mattermost.example.com 在首页上创建管理员用户,该用户将可以创建或邀请其他新用户:
选择创建团队或直接进入控制台:
如果选择创建团队,请提供团队名称,然后单击下一步:
设置团队URL,然后单击完成:
Mattermost的仪表板控制台应如下所示:
然后,您可以邀请成员加入创建的团队,另外,请考虑安装适用于PC、Mac、iOS和Android的应用程序,以便随时随地访问和通知。如果需要配置SSL证书,请使用certbot脚本,这是获取Let’s Encrypt SSL证书部署成https最简单的方式。
相关主题 |