本文介绍如何使用PostgreSQL数据库服务器在Debian 10(Buster)/Ubuntu 18.04上安装Mattermost。Mattermost是一个自托管和开源的在线聊天服务,旨在用作公司和组织的内部聊天平台,它是Slack Chat平台的主要替代品之一。我们将使用PostgreSQL数据库和Nginx Web服务器。
第1步:更新系统和安装PostgreSQL数据库服务器 1、更新系统 让我们首先确保我们的系统更新: sudo apt update sudo apt -y upgrade sudo apt -y install wget curl vim 建议在升级后重新启动系统: sudo reboot 设置正确的服务器主机名: sudo hostnamectl set-hostname chat.computingforgeeks.com --static 参考:在Debian 10系统上更改Hostname(主机名)的方法。 2、安装PostgreSQL数据库服务器 下一步是安装PostgreSQL数据库服务器: sudo apt -y install postgresql postgresql-contrib 参考:在Ubuntu系统上安装和配置PostgreSQL的方法。 PostgreSQL服务器将在安装后自动启动,登录postgres帐户: sudo --login --user postgres 启动PostgreSQL交互式终端并创建Mattermost数据库/用户'mmuser': psql CREATE DATABASE mattermost; CREATE USER mmuser WITH PASSWORD 'StrongDBPassWord'; GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser; \q 退出postgres帐户: exit
第2步:创建mattermost系统用户和组、下载并安装Mattermost服务器 1、创建mattermost系统用户和组 我们需要设置一个名为mattermost的系统用户和组来运行服务: sudo useradd --system --user-group mattermost 你可以确认它是系统用户,因为其ID小于1000: $ id mattermost uid=998(mattermost) gid=998(mattermost) groups=998(mattermost) 2、下载并安装Mattermost服务器 配置数据库服务器后,你现在可以下载并安装Mattermost,首先,访问Mattermost下载页面以获取最新版本,地址是:https://mattermost.com/download/,可下载mattermost-5.13.2-linux-amd64.tar.gz软件包。 然后提取下载的存档: tar xvf mattermost-5.13.2-linux-amd64.tar.gz 将解压缩的文件移动到/opt目录: sudo mv mattermost /opt 创建存储目录,其中包含用户发布到Mattermost的所有文件和图像: sudo mkdir /opt/mattermost/data 设置正确的所有权和权限: sudo chown -R mattermost:mattermost /opt/mattermost 授予mattermost组写入权限: sudo chmod -R g+w /opt/mattermost
第3步:配置Mattermost服务器和配置Systemd服务 1、配置Mattermost服务器 在文件/opt/mattermost/config/config.json中设置数据库驱动程序: sudo nano /opt/mattermost/config/config.json 将PostgreSQL数据库设置配置如下所示“SqlSettings”部分:
2、配置Systemd服务 创建Mattermost Systemd服务单元: $ sudo vim /etc/systemd/system/mattermost.service 将下面的数据填充到文件中: [Unit] Description=Mattermost After=network.target After=postgresql.service Requires=postgresql.service [Service] Type=notify ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost User=mattermost Group=mattermost LimitNOFILE=49152 [Install] WantedBy=multi-user.target 使systemd加载新单元: sudo systemctl daemon-reload 启动并启用mattermost服务: sudo systemctl start mattermost.service sudo systemctl enable mattermost.service 检查服务状态以确保它正在运行: $ systemctl status mattermost.service
验证Mattermost是否正在运行: curl http://localhost:8065 这时你应该看到Mattermost服务器返回的HTML。
第4步:完成Mattermost Web配置 打开浏览器并导航到8065上的Mattermost实例,例如192.168.10.10:8085,如下所示:
访问系统控制台:
然后根据配置设置文档配置服务器,地址是 http://docs.mattermost.com/administration/config-settings.html:
不要忘记在进行更改后重新启动mattermost服务: sudo systemctl restart mattermost
第5步:配置Nginx代理服务器 在生产环境中,使用代理服务器可以提高Mattermost的安全性和性能: 安装nginx:$ sudo apt -y install nginx(参考:在Debian 10 Linux上安装Nginx的方法) 为Mattermost创建新的配置文件: sudo nano /etc/nginx/conf.d/mattermost.conf 添加配置设置: upstream backend { server 192.168.10.10: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 chat.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; } } 重启Nginx: sudo rm /etc/nginx/sites-enabled/default sudo systemctl restart nginx 至此,配置完成。
相关主题 |