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 のメッセージング インフラストラクチャをインストールするために必要なのはこれだけです。