在Ubuntu 16.04 LTS安装Mattermost(二)

在Ubuntu 16.04 LTS安装Mattermost(一)

配置Mattermost

创建系统管理员用户,设置Mattermost的一般用途

.打开浏览器,导航到Mattermost实例.比如:Mattermost服务器IP地址为10.10.10.10,然后访问http://10.10.10.10:8065.

.创建第一个团队和用户,第一个用户是系统管理员(system_admin)角色,有权限访问系统控制台

.打开系统控制台.点击导航面板顶部的用户名,在打开的菜单中,点击系统控制台-System Console

.设置网站URL:

a.在System Console的GENERAL部分,点击Configuration.

b.在Site URL字段中,设置用户使用浏览器访问的URL.比如:https://mattermost.example.com.

如果你使用HTTPS,确保在Mattermost服务或者proxy服务设置了TLS

.设置邮件提醒

a.在System Console的NOTIFICATIONS部分,点击Email,然后执行下面几个步骤

设置 Enable Email Notification为 true

设置Notification Display Name为 No-Reply

设置Notification From Address为{域名},比如, [email protected]

设置SMTP Server Username为{SMTP-用户名},比如,[email protected]

设置SMTP Server Password为{SMTP-密码}

设置SMTP Server为{SMTP-服务器} 比如:smtp-mail.outlook.com

设置SMTP Server Port为465

设置Connection Security 为TLS或者STARTTLS

b.点击Test Connection.

c.连接成功后,点击Save

.设置文件和图片存储位置

提示:与消息相关的文件和图片并没有存储在数据库.他们存储在你所指定的路径.你可以存储在本地文件系统或者Amazon S3.

a.在System Console中的FILES部分,点击Storage

b.如果存储在本地,设置File Storage System为 Local File System,可以接受默认的Local Storage DIrectory或者输入指定路径.这个路径必须是存在的,并且Mattermost有写权限.可以是绝对路径或者相对路径.相对路径是相对于mattermost目录的.

c.如果存储在Amazon S3,设置File Storage System为Amazon S3并且输入你Amazon账号

d.点击Save保存

.重启Mattermost使配置生效

sudo systemctl restart mattermost

配置TLS

如果你想要使用HTTPS访问Mattermost,有两种选择

1.在Mattermost服务器上设置TLS

2.安装代理,例如NGINX,然后在代理上设置TLS

最简单的选择是在Mattermost服务器上设置TLS,但是,如果你想要支持200个以上的用户,使用proxy会有更好的性能和安全.代理服务器也提供了标准的HTTP请求日志.

在Mattermost服务器上配置TLS

.在System Consle > General > Configuration

a.设置Listem Address为:443

b.设置Connection Security为TLS

c. 设置Forward port 80 to 443为true

.激活CAP_NET_BIND_SERVICE能力,允许Mattermost绑定小数值端口.

cd  /opt/mattermost/bin

sudo setcap  cap_net_bind_service==+ep ./platform

.安装安全证书

你可以使用Let‘s Encrypt自动安装设置证书,或者指定你自己的证书

a.使用Let‘s Encrypt

设置User Let‘s Encrypt为true

重启Mattermost,使配置生效

b.使用自己的证书

设置User Let‘s Encrypt为false

设置TLS Certificate File 为证书文件的路径

设置TLS Key File为 私钥文件的路径

重启Mattermost使这些配置生效

   在NGINX 代理上设置TLS  

使用代理的好处:

SSL终端

HTTP到HTTPS重定向

端口映射 :80到:8065

标准请求日志

.安装NGINX

sudo apt-get install nginx

验证是否安装成功,可以执行下面命令

curl http://localhost

如果正常运行,会有下面打印显示

    <!DOCTYPE html>
    <html>
    <head>
         <title>Welcome to nginx!</title>.
        .
        .   
        <p><em>Thank you for using nginx.</em></p>
     </body>
     </html>

可以使用下面命令停止 启动 重启nginx

sudo service nginx stop
sudo service nginx start
sudo service nginx restart

接下来要做的是

将完全限定域名(FQDN),例如mattermost.example.com,映射到NGINX服务器

配置从互联网到Mattermost服务器的NGINX代理连接

.配置NGINX为代理

sudo touch /etc/nginx/sites-available/mattermost

.以root用户打开/etc/nginx/sites-available/mattermost,输入以下内容,并将里边的IP地址和完全限定域名FQDN你自己服务对应的值

upstream backend {
   server 10.10.10.2:8065;
}

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;
       proxy_read_timeout 600s;
       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_pass http://backend;
   }
}

.删除已存在的默认sites-enabled文件

sudo  rm /etc/nginx/sites-enabled/default

.启用mattermost配置

sudo ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/mattermost

. 重启nginx使配置生效

sudo systemctl restart nginx

.  配置生效后,执行下面命令会看到Mattermost   signup页面

curl http://localhost ,

.限制8065端口的访问权限

默认情况下,Mattermost服务器的8065端口接收来自网络上所有机器的连接.现使用防火墙拒绝所有机器连接8065端口,除了NGINX服务器以及管理Mattermost的服务器.如果你安装在Amazon Web Services,可以使用安全组来限制访问

. 配置SSL和HTTP/2

你可以使用你想要的任何证书,但在这里只展示如何从Let‘s Encrypt下载和安装证书,免费的证书授权

a.安装git

sudo apt-get install git

b.下载

git clone https://github.com/letsencrypt/letsencrypt

c.切换目录

cd letsencryp

d.停止NGINX

sudo service nginx stop 或者 sudo systemctl stop nginx

e,确保没有监听80端口

netstat -na | grep ‘:80.*LISTEN‘

f.安装letscrypt

./letsencrypt-auto certonly --standalone

提示时,输入你的域名.安装完成后,你可以在/etc/letsencrypt/live目录下找到证书

g.以root用户打开/etc/nginx/sites-available/mattermost,更新 下面加粗的几行,确保域名已经切换成

server {

listen 80 default_server;

   server_name   {domain-name} ;

return 301 https://$server_name$request_uri;

}

server {

listen 443 ssl http2;

  server_name    {domain-name} ;

ssl on;

ssl_certificate /etc/letsencrypt/live/{domain-name}/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/{domain-name}/privkey.pem;

ssl_session_timeout 5m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_ciphers ‘EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH‘;

ssl_prefer_server_ciphers on;

ssl_session_cache shared:SSL:10m;

location ~ /api/v[0-9]+/(users/)?websocket$ {

proxy_set_header Upgrade $http_upgrade;

h.重启NGINX

sudo systemctl restart NGINX

i.检查SSL证书是否安装正确

通过访问https://www.ssllabs.com/ssltest/index.html来测试SSL证书

如果丢失链或证书路径有错误,则可能需要缺少中间证书。

j .配置cron,每个月自动更新证书

crontab -e

用你的域名替换掉{domain-name}

@monthly /home/ubuntu/letsencrypt/letsencrypt-auto certonly --reinstall --nginx -d {domain-name} && sudo service nginx reload

时间: 2024-12-26 10:37:44

在Ubuntu 16.04 LTS安装Mattermost(二)的相关文章

在Ubuntu 16.04 LTS安装Mattermost

可以在一台到三台机器上安装产品级别的Mattermost系统;主要有三个重要组件:proxy.数据库.Mattermost;可以把它们安装在一台机器上或者各自一台,如果只有两台机器,那么可以把proxy和Mattermost安装在一台机器上,数据库安装在另外一台机器上; 数据库的选择,这里可以使用MySql或者PostgreSQL(我习惯使用MySQL,后续主要基于MySQL来讲).代理可以使用NGINX 安装Ubuntu系统在各个组件的机器上,首先安装Ubunut 16.04LTS系统,确保更

Ubuntu 16.04 LTS 安装libvips出现”Package vips was not found in the pkg-config search path”

使用libvips来操作图像,libvips的部署参考一个Node.js工程:https://github.com/lovell/sharp 在MAC下安装很顺利,到Linux环境下(Ubuntu 16.04 LTS)出现了如下问题: # pkg-config --cflags vips vips vips vips Package vips was not found in the pkg-config search path. Perhaps you should add the direc

Ubuntu 16.04 LTS安装好之后需要做的15件事

看到这篇文章说明你已经从老版本升级到 Ubuntu 16.04 或进行了全新安装,在安装好 Ubuntu 16.04 LTS 之后建议大家先做如下 15 件事.无论你是刚加入 Ubuntu 行列的新用户,还是有经验的老用户,你都会发现一些非常有用的调整和建议. 1.了解Ubuntu 16.04 LTS新特性 新选项!新应用程序!新内核!新的…… 所有东西都是新的! Ubuntu 16.04 LTS 带来了一些让人兴奋的新功能和变化,所以在开始使用之前建议各位一定要花几分钟熟悉一下新的改进. 如果

Ubuntu 16.04 LTS 安装 Nginx/PHP 5.6/MySQL 5.7 (LNMP) 与Laravel

1.MySQL安装[安装 MariaDB]MariaDB是MySQL的一个分支首先,更新升级系统$ sudo apt update$ sudo apt upgrade安装MariaDB:$ sudo apt install mariadb-server启动MariaDB服务:$ sudo systemctl start mysql$ sudo systemctl enable mysql查看状态:$ sudo systemctl status mysql 为例提高MariaDB的安全,我们可以执

ubuntu 16.04 LTS安装jenkins服务器

官方网站:https://jenkins.io/ 这里我们的系统是Ubuntu 16.04,所以选择Ubuntu的版本,另外,为什么选择2.60.3,而不是新的2.77?因为2.60.3是LTS版本,更稳定 第一步: sudo wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - 第二步: 第三步: sudo apt-get update sudo apt-get install

Ubuntu 16.04 LTS安装Docker最新版

一.安装Docker的先决条件 1.运行64位CPU构架的计算机(目前只能是x86_64和amd64),请注意,Docker目前不支持32位CPU.2.运行Linux 3.8或更高版本内核.一些老版本的2.6.x或其后的内核也能够运行Docker,但运行结果会有很大的不同.而且,如果你需要就老版本内核寻求帮助时,通常大家会建议你升级到更高版本的内核.3.内核必须支持一种适合的存储驱动(storage driver),例如:Device Manage:AUFS:vfs:btrfs:ZFS默认存储驱

Ubuntu 16.04 LTS 安装R及RStudio Server

1.R的安装 1.1首先添加镜像源 # Ctrl+Alt+T打开终端 $ sudo gedit /etc/apt/sources.list # 加入新镜像源 回车之后会自动跳出一个文本框,然后在相似的地方输入 deb http://cran.rstudio.com/bin/linux/ubuntu trusty/ 加载镜像源还可以使用以下方法: deb https://<my.favorite.cran.mirror>/bin/linux/ubuntu xenial/ deb https://

Ubuntu 16.04 LTS安装sogou输入法详解

最近开始学习linux 在安装输入法中遇到的一些问题,最终成功安装,也得益于网络上的前辈写的文章,现在将全部安装步骤以及遇到的一些问题总结如下: 基本上分三步走 1,添加fcitx的键盘输入法系统,因为sogou是基于fcitx的,而系统默认的是iBus: 2,安装sogou输入法: 3,设置系统参数及一些注意点. 第一步.添加fcitx键盘输入法系统 ①先添加以下源 sudo add-apt-repository ppa:fcitx-team/nightly ②添加源之后需要更新一下系统 ③开

ubuntu 16.04 LTS 安装 php5.6

卸载所有安装的 PHP: sudo apt-get purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "` 添加源: sudo add-apt-repository ppa:ondrej/php 安装php5.6: sudo apt-get updatesudo apt-get install php5.6 安装php组件:sudo apt-get install php5.6-mbstring php5.