ウェブサイト検索

Ubuntu 16.04 に PostgreSQL を使用して Mattermost をインストールする


導入

Mattermost は、Web、PC、電話用の職場メッセージング システムです。これは、Slack に代わるオープンソースです。
Mattermost の完全なインストールは、Mattermost サーバー、プロキシ サーバー、データベース サーバーの 3 つのコンポーネントで構成されます。各コンポーネントは、同じマシンにインストールすることも、ローカル ネットワーク上の 3 つの異なるマシンにインストールすることもできます。
このチュートリアルでは、Nginx をプロキシ サーバーとして、PostgreSQL をデータベースとして使用して、Mattermost Team Edition を Ubuntu 16.04 にインストールする方法について説明します。

PostgreSQLのインストール

データベースをホストするサーバー上で、次のコマンドを実行します。

apt install postgresql postgresql-contrib

インストールプロセス中に、新しいユーザー「postgres」が作成されます。したがって、最後に次のコマンドを使用してログインします。

sudo --login --user postgres

PostgreSQL シェルを起動します。

psql

新しいデータベースを作成します。

postgres=# CREATE DATABASE mattermost_db;
postgres=# CREATE USER mmuser WITH PASSWORD 'my_strong_password';
postgres=# GRANT ALL PRIVILEGES ON DATABASE mattermost_db to mmuser;
postgres=# \q

このアカウントからログアウトし、PostgresSQL が割り当てられたすべての IP をリッスンしてファイルを編集できるようにします。

/etc/postgresql/9.3/main/postgresql.conf

そこで、行を見つけてください

#listen_addresses = 'localhost'

コメントを解除し、「localhost」を「*」に変更します。したがって、編集後:

listen_addresses = *

次のコマンドを使用してデータベースをリロードします。

systemctl reload postgresql

データベースがインストールされたので、次は Mattermost Server をインストールします。

Mattermost サーバーをインストールする

wget を使用して Mattermost Server の最新バージョンをダウンロードします。現時点では、これは 3.6.2 です。

wget https://releases.mattermost.com/3.6.2/mattermost-3.6.2-linux-amd64.tar.gz

アーカイブを抽出し、別のフォルダーに移動します。たとえば、この例では、Mattermost は次の場所に保存されます。

/opt

:

mv mattermost /opt

このフォルダーに「data」という名前の保存ディレクトリを作成します。

mkdir /opt/mattermost/data

ストレージ ディレクトリには、ユーザーが Mattermost に投稿するすべてのファイルと画像が含まれるため、それを含むドライブに十分な容量が必要です。

次に、新しいユーザーと新しいグループを作成し、両方とも次の名前を付けます。

mattermost

:

useradd --system --user-group mattermost

次のコマンドを使用して、ユーザーとグループの mattermost を Mattermost ファイルの所有者として設定します。

sudo chown -R mattermost:mattermost /opt/mattermost

Mattermost グループに権限を与えます。

sudo chmod -R g+w /opt/mattermost

次に、データベース ドライバーをセットアップします。

$EDITOR /opt/mattermost/config/config.json

そのファイルの「SqlSettings」セクションで、「DriverName」行と「DataSource」行を次のように変更します。

"DriverName": "postgres"
"DataSource": "postgres://mmuser:[email :5432/mattermost_db?sslmode=disable&connect_timeout=10",

保存して終了。 「mattermost」ユーザーを使用して構成をテストします。

sudo -u mattermost /opt/mattermost/bin/platform

Mattermost が 127.0.0.1:8065 で実行されていることがわかります。でやめてください

CTRL+c

次に、systemd 用の新しい mattermost サービス ファイルを作成します。

$EDITOR /etc/systemd/system/mattermost.service

そして、このファイルに次のテキストを貼り付けます。

[Unit]
Description=Mattermost, an open source alternative to Slack
After=network.target
After=postgresql.service
Requires=postgresql.service

[Service]
Type=simple
ExecStart=/opt/mattermost/bin/platform
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
User=mattermost
Group=mattermost

[Install]
WantedBy=multi-user.target

保存して終了。それから:

systemd daemon-reload

次に、サービスを開始します。

systemctl start mattermost

Nginxをインストールする

Nginx をインストールし、Nginx を Mattermost のリバース プロキシとして構成します。初め:

apt install nginx

次 :

mkdir /etc/nginx/ssl
cd /etc/nginx/ssl

新しい自己署名 SSL 証明書ファイルを生成します。

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/mattermost.crt -keyout /etc/nginx/ssl/mattermost.key
chmod 400 mattermost.key

これらにより、新しい証明書が作成され、その権限が変更されます。
次に、mattermost の新しい構成ファイルを作成します。

/etc/nginx/sites-available

:

$EDITOR /etc/nginx/sites-available/mattermost

そこに貼り付けます:

server {
   listen         80;
   server_name    mattermost.example.com;
   return         301 https://$server_name$request_uri;
}
 
server {
   listen 443 ssl;
   server_name mattermost.example.com;
 
   ssl on;
   ssl_certificate /etc/nginx/ssl/mattermost.crt;
   ssl_certificate_key /etc/nginx/ssl/mattermost.key;
   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 / {
      gzip off;
      proxy_set_header X-Forwarded-Ssl on;
      client_max_body_size 50M;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      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_pass http://127.0.0.1:8065;
   }
}

Mattermost サーバーの IP アドレスと FQDN の値を必ずカスタマイズしてください。

server_name

仮想ホストを保存して終了し、アクティブ化します。

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

以下を使用して構成をテストします。

nginx -t

次のように再起動します。

systemctl restart nginx

テストと結論

最後に行うことは、「グラフィカル」構成です。 Web ブラウザを使用して、URL mattermost.example.com にアクセスします。
そこで、新しいアカウントを作成します。ダッシュボードが表示され、新しいチームを作成したり、管理コンソール/システム コンソールにアクセスしたりできます。
Mattermost のメッセージング インフラストラクチャをインストールするために必要なのはこれだけです。

関連記事: