本文章使用的是 CentOS 7.0 64位+宝塔7.9.7+Mysql5.7.4.0+Mattermost7.7.0+PHP7.4+Nginx 1.18.0 如有版本不同导致兼容性问题,请在网上或官方文档查阅相关资料
步骤
- Mysql数据库
- 安装
- 添加数据库
- Mattermost Server
- 安装
- 配置config.json设置
- 连接数据库
- 安装systemd init守护
- 允许注册
- 配置邮件服务smtp
- 邮箱端设置
- 聊天室设置
- 配置域名
- 域名解析
- ssl证书申请
- 宝塔域名配置
- 绑定ssl证书
- 设置反向代理
- 聊天室设置域名
宝塔在此我就不教大家如何安装了,它也就是一行代码的事情,建议去另找教程!
Mysql数据库
安装
首先我们打开宝塔界面,点击软件商店
其次找到并安装MySQL
注意:如果你是选择原码安装的话,相对会慢一些,但是相对快速安装会更好
添加数据库
安装好数据库Mysql后,点击左侧的数据库,并且点击添加数据库
添加数据库时可以按照我的模板来设置,我的建议是根据网站来命名,这样好区分;写完名字、用户名以及密码后,记得选择utf-8编码形式,完成后提交,如图所示
数据库名:mattermost
用户名:mmuser
密码:
出现如图所示,代表你的Mysql数据库安装并添加成功!
Mattermost Server
安装
以下命令要在服务器命令行执行,如想知道最新版本可前往Mattermost Server安装官方网站
#首先可前往官网寻找版本号,然后在命令行输入下列命令安装(用你需要的版本号来代替X.X.X)(2023.1.18时最新版为7.7.0)
wget https://releases.mattermost.com/X.X.X/mattermost-X.X.X-linux-amd64.tar.gz
#下载完成后,解压
tar -xvzf *.gz
#把解压的文件移动到根目录下opt文件夹
mv mattermost /opt
#创建存储数据文件夹
mkdir /opt/mattermost/data
#设置一个名为"mestmost"的系统用户和组,将利用该用户和组运行此服务,并设置所有权和权限
useradd --system --user-group mattermost
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost
配置config.json设置
连接数据库
#在/opt/mattermost/config/config.json中设置数据库驱动程序。在宝塔左侧文件选项中修改文件config中三个地方
#分别在config文件中第3行、138行、139行
SiteURL: https://mattermost.example.com,
DriverName: mysql
DataSource: mmuser:aGHsbG5tGaDNJpS8@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s
最后面"DataSource"的值中mmuser就是你数据库的用户名;password就是你设置的密码,mattermost就是你数据库的名字,如果用的是我的模板,只需要把密码更改即可
注意:此项一定不能漏一个符号,该数值将影响mattermost连接数据库,直接影响使用!
紧接着我们测试一下是否正常
#进入mattermost文件夹
cd /opt/mattermost
#以mattermost的用户启动Mattermost服务器
sudo -u mattermost ./bin/mattermost
#当出现 Server is listening on [::]:8065 即说明成功
安装systemd init守护
#使用systemd init守护程序来处理对Mattermost进程的监督
#创建Mattermost配置文件
touch /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
#使服务可执行
chmod 664 /etc/systemd/system/mattermost.service
#重新加载系统服务
systemctl daemon-reload
#将Mattermost设置为在启动时启动
sudo systemctl enable mattermost
#启动Mattermost服务器
systemctl start mattermost
#验证Mattermost是否正在运行,直接打开http://ip:8065
注意:如果输入systemctl start mattermost后显示错误,有可能是因为你在Mattermost中的”网页服务器“设置中监听了443端口,这会导致系统在启动Mattermost时检测到443端口已被占用,最终导致无法启动;所以在配置域名之前不能随意乱动设置-网页服务器的配置,有可能会导致无法打开网页;已经打不开也不用怕,可以在宝塔文件中,在/opt/mattermost/config/config.json中第6行更改,更改为"ListenAddress": ":8065"(此问题在后面配置是还会提起)
允许注册
#找到config文件中第110行,将false改为true
EnableUserCreation: true
注意:Mattermost7.7.0版本是需要第一个在登陆界面注册才是系统管理员
配置邮件服务smtp
邮箱端设置
打开能够提供smtp服务的邮箱,这里我拿QQ邮箱作为介绍
首先进入邮箱,点击上方的设置
点击账户,然后往下划就看的到SMTP设置
然后开启IMAP/SMTP服务,然后通过密保验证,你会得到一串授权码(用记事本先保存此授权码,到后面配置时需要用到),这个授权码务必不要被别人知道!
注意:这串授权码可以在此界面申请多个,并且已存在的密码是可以一起使用的,但注意保管
邮件端SMTP服务就设置成功了!
聊天室设置
进入系统控制台,翻到“站点配置”,点击“通知”,然后按照红色箭头以及每栏底下灰字要求填写
注意:“来自地址的通知”这栏务必要和你开启SMTP的邮箱地址一模一样,如果填写不一样将出现错误
然后接着在系统控制台翻到“环境”,点击“SMTP”,然后按照图内要求填写
当你全部完成后,最后点击“测试连接”,Mattermost就会发一封邮件给系统管理员发一封测试邮件,代表SMTP设置成功!
配置域名
域名解析
注意:本栏目图片较小,请认真阅读!!
注意2:本栏目用test.lanxige.club作为例子,请不要无脑填写!!
这里我注册的是腾讯云的域名,具体注册方法自行寻找网上教程,我这里仅展示已经注册好的域名做DNS解析服务
打开腾讯云中“我的域名”找到域名,并且点击“解析”
进去后点击“添加记录”,并按照图内要求填写
注意:网址前缀可自定义,服务器ip注意不要写错!
填写完后如图所示
ssl证书申请
以上张图片为例,点击右边SSL
进去后点击“申请免费证书”,然后选择免费版,再根据图内要求填写
点击提交申请,进行域名验证,然后你就会收到一封邮件,返回我的SSL证书,结果如下,显示已签发代表申请成功,如果没有等大概5分钟内就会审核成功
注意:此界面不要关闭,接下来还需要下载文件!!
宝塔域名设置
绑定ssl证书
进入宝塔,点击“网站”,点击“PHP项目”,再点击“添加站点”(如PHP没安装,根据网站提示安装)
然后根据图片提示添加
提交后,在那栏网站最右边点击设置
在设置中点击“SSL”,然后点击“当前证书”
然后再回到腾讯云我的SSL证书那里,找到你申请的ssl证书,点击下载,并将压缩包另存到桌面,然后把压缩包解压到桌面,文件夹会显示四个文件
用记事本打开“test.lanxige.club.key”、“test.lanxige.club_bundle.pem”,然后返回到网站的SSL设置中,将两个文件里的所有内容分别复制粘贴到里面,效果如图,注意分清楚key和pem的位置,不要粘贴错了!
注意:记得勾选强制HTTPS!!!
点击保存并启用证书,网站的ssl证书就配置完毕!
设置反向代理
设置完ssl证书后,点击“反向代理”,再点击“添加反向代理”,根据图片进行配置,写完后点击提交
提交后会显示一行开启反向代理的网站,然后点击“配置文件”
再将下面的配置全部覆盖整个配置文件,记得将显示ip的地方,替换成你服务器的ip
注意:一共要修改两处ip,如果未修改会显示错误!
#PROXY-START/
location /
{
client_max_body_size 50M;
proxy_set_header Connection "";
proxy_pass http://ip:8065;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
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_http_version 1.1;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
add_header Cache-Control no-cache;
expires 12h;
}
location ~ /api/v[0-9]+/(users/)?websocket$ {
proxy_pass http://ip:8065;
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-END/
覆盖整个配置文件后,点击保存,设置反向代理成功!
聊天室设置域名
进入Mattermost系统控制台,翻到“环境”,点击“网页服务器”,然后按照图内要求填写
注意:填写时只需要更改站点网址,剩下的配置保持默认,无需乱动,否则会导致systemd init守护加载应用显示端口占用
填写正确后,点击测试网址,出现如图所示即代表你的Mattermost Server域名配置成功了!
Comments 1 条评论
博主 小航
噢,我的泥,我的泥实在是太棒了,喔耶,喔