设为首页 收藏本站
查看: 1102|回复: 0

[经验分享] 在Ubuntu 16.04 LTS安装Mattermost(二)

[复制链接]

尚未签到

发表于 2018-4-29 12:49:05 | 显示全部楼层 |阅读模式
  在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为{域名},比如, kenmyzhang@outlook.com

  设置SMTP Server Username为{SMTP-用户名},比如,kenmyzhang@outlook.com

  设置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,更新 下面加粗的几行,确保域名已经切换成

  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 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











运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-453563-1-1.html 上篇帖子: Centos7配置ubuntu本地仓库 下篇帖子: ubuntu 14.04添加光盘源
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表