Mattermost 是一个自托管的开源在线聊天服务,旨在用作公司的内部聊天平台和组织。它提供了团队之间的安全通信以及个人和团体之间的更轻松的协作。Mattermost 在开发人员之间提供数据,允许他们访问源代码并在不同位置直接为其贡献代码,因为它是基于云的。
在 Debian 11 Bullseye 上安装 Mattermost
apt
第 1 步。在我们安装任何软件之前,通过在终端中运行以下命令来确保您的系统是最新的,这一点很重要:
sudo apt update
sudo apt upgrade
步骤 2. 安装 LEMP 堆栈。
需要 Debian 11 LEMP 服务器。如果您没有安装 LAMP,请阅读我们之前的教程以在 Debian 11 上安装 LEMP 服务器。
步骤 3. 为 Mattermost 配置 MariaDB。
默认情况下,MariaDB 未加固。mysql_secure_installation
您可以使用脚本保护 MariaDB 。您应该仔细阅读以下每个步骤,这些步骤将设置 root 密码、删除匿名用户、禁止远程 root 登录、删除测试数据库和访问安全 MariaDB:
mysql_secure_installation
像这样配置它:
- Set root password? [Y/n] y - Remove anonymous users? [Y/n] y - Disallow root login remotely? [Y/n] y - Remove test database and access to it? [Y/n] y - Reload privilege tables now? [Y/n] y
接下来,我们需要登录 MariaDB 控制台并为 Mattermost 创建一个数据库。运行以下命令:
mysql -u root -p
这将提示您输入密码,因此请输入您的 MariaDB 根密码并按 Enter。登录到数据库服务器后,您需要为 Mattermost 安装创建一个数据库:
MariaDB [(none)]> CREATE DATABASE mattermost_db; MariaDB [(none)]> CREATE USER 'mattermost_user' IDENTIFIED BY 'your-strong-password'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON mattermost_db.* TO 'mattermost_user'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
步骤 4. 在 Debian 11 上安装 Mattermost。
在安装 Mattermost 之前,创建一个新的用户和组来运行我们的 Mattermost 服务器:
sudo useradd --system --user-group mattermost
默认情况下,Mattermost 在 Debian 11 基础存储库中不可用。所以,现在我们从官方页面下载最新的稳定版 Mattermost:
wget wget https://releases.mattermost.com/6.0.2/mattermost-6.0.2-linux-amd64.tar.gz
接下来,解压下载的文件:
tar xvzf mattermost-6.0.2-linux-amd64.tar.gz -C /opt/ sudo mkdir /opt/mattermost/data
我们将需要更改一些文件夹权限:
chown -R mattermost:mattermost /opt/mattermost chmod -R g+w /opt/mattermost
步骤 5. 配置 Mattermost。
现在我们必须在 Mattermost 配置中定义某些参数。编辑 Mattermost 配置文件并定义您的站点 URL 和数据库设置:
nano /opt/mattermost/config/config.json
更改以下行:
"SiteURL": "http://mattermost.your-domian.com", "DriverName": "MySQL", "DataSource": "mmuser:your-strong-passwdD@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",
步骤 6. 为 Mattermost 创建一个 Systemd 服务文件。
我们将设置systemd
一个服务来启动和停止 Mattermost 服务:
nano /lib/systemd/system/mattermost.service
添加以下行:
[Unit] Description=Mattermost After=network.target After=mysql.service Requires=mysql.service [Service] Type=notify User=mattermost Group=mattermost ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost LimitNOFILE=49152 [Install] WantedBy=mariadb.service
保存并关闭文件,然后重新加载systemd
守护程序以应用配置更改:
sudo systemctl daemon-reload sudo systemctl start mattermost sudo systemctl enable mattermost
步骤 6. 将 Nginx 配置为反向代理。
现在使用以下命令创建一个 Nginx 虚拟主机配置文件:
nano /etc/nginx/sites-available/mattermost.conf
添加以下行:
upstream mattermost { server localhost: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.your-domain; 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 65; send_timeout 200; lingering_timeout 5; proxy_connect_timeout 80; proxy_send_timeout 300; proxy_read_timeout 80s; proxy_pass http://mattermost; } 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://mattermost; } }
保存并关闭文件,然后使用以下命令激活虚拟主机配置:
ln -s /etc/nginx/sites-available/mattermost.conf /etc/nginx/sites-enabled/mattermost.conf sudo systemctl restart nginx
步骤 7. 使用 Let’s Encrypt SSL 保护 Mattermost。
首先,使用以下命令将 Certbot 安装到您的 Debian 系统:
sudo apt install certbot python3-certbot-nginx
然后,使用以下命令生成证书:
certbot --nginx -d mattermost.your-domian.com
然后将提示您输入证书的电子邮件地址。输入后,您必须同意 T&C 并决定是否要与电子前沿基金会共享您的电子邮件地址。最后一步是可选的。成功后,再次重新加载 Apache 以加载所有新配置。
步骤 8. 访问 Mattermost Web 界面。
成功安装后,打开您的 Web 浏览器并输入 URL以访问 Mattermost Web UI。您应该看到以下屏幕:https://mattermost.your-domian.com
感谢您使用本教程安装最新版本的 Mattermost 开源平台,以便在 Debian 11 Bullseye 上进行开发人员协作。如需其他帮助或有用信息,我们建议您查看Mattermost 官方网站。