Mattermost を RHEL 7.1 にインストールする方法
導入
Mattermost は、Slack に代わるオープンソースのプライベート クラウドです。 MIT ライセンスに基づいてリリースされた、Web、PC、電話用の職場メッセージング システム。
前回のチュートリアルでは、Ubuntu 16.04 にインストールする方法について説明しました。
次に、データベースとして MySQL を使用して、RHEL 7.1 マシンに Mattermost をインストールして構成する方法を見てみましょう。
データベースのインストール
サーバー上で、次のコマンドを実行して MySQL 5.7 をダウンロードします。
wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
そして、次のコマンドを使用して、そのファイルから yum リポジトリをインストールします。
yum localinstall mysql57-community-release-el7-9.noarch.rpm
次に、MySQL をインストールします。
yum install mysql-community-server
そしてそれを開始します:
systemctl start mysqld
このコマンドを初めて実行すると、MySQL は root アカウントの一時パスワードを生成します。それを取得するには、次のようにします。
grep 'temporary password' /var/log/mysqld.log
このコマンドは次のような出力を出力します。
2017-03-02T08:21:27.969295Z 1 [Note] A temporary password is generated for root@localhost: Ed4SxpDyuH(y
rootのパスワードを変更します。まず、root としてログインします。
mysql -u root -p
仮パスワードを入力します。
次に、MySQL シェルで次のようにします。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'my_new_root_strong_password';
mysql> EXIT;
起動時に MySQL が自動的に起動するように設定します。
chkconfig mysqld on
MySQL シェルを再度起動します。
mysql -u root -p
新しい root パスワードを入力して、Mattermost のユーザーと新しいデータベースを作成します。
mysql> CREATE USER 'mmuser'@'localhost' IDENTIFIED BY 'mmuser_strong_password';
mysql> CREATE DATABASE mattermostdb;
mysql> GRANT ALL PRIVILEGES ON mattermostdb.* TO 'mmuser'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
Mattermost サーバーをインストールする
Mattermost Server の最新リリースをダウンロードします。たとえば、現時点で次のように書いています。
wget https://releases.mattermost.com/3.6.2/mattermost-3.6.2-linux-amd64.tar.gz
アーカイブを解凍し、「mattermost」フォルダーを次の場所に移動します。
/opt
tar xf *.gz
mv mattermost /opt/
ストレージ ファイル用のディレクトリを作成します。
mkdir /opt/mattermost/data
ドライブに、保存されるアップロードされるファイルと画像の予想される数を保持するのに十分な大きさがあることを確認してください。
data
。
次に、両方とも「mattermost」という名前のユーザーとグループを設定し、所有権と権限を設定します。
useradd --system --user-group mattermost
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost
次の方法でデータベース ドライバーをセットアップします。
/opt/mattermost/config/config.json
ファイル。その中で「DriverName」と「DataSource」の行を検索し、次のように変更します。
"DriverName": "mysql"
"DataSource": "mmuser:@tcp(localhost:3306)/mattermost?charset=utf8"
Save, exit, and test the Mattermost Server with the following command:
sudo -u mattermost /opt/mattermost/bin/platform
すべてが機能すると、出力されるはずです
Server is listening on :8065
。 CTRL+Cで中断します。
systemd ユニットを作成します。
Mattermost 用の systemd ファイルを作成します。
/etc/systemd/system/mattermost.service
そして、その中に次の構成を貼り付けます。
[Unit]
Description=Mattermost
After=syslog.target network.target postgresql-9.4.service
[Service]
Type=simple
WorkingDirectory=/opt/mattermost/bin
User=mattermost
ExecStart=/opt/mattermost/bin/platform
PIDFile=/var/spool/mattermost/pid/master.pid
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target
実行可能にします。
chmod 664 /etc/systemd/system/mattermost.service
そしてサービスをリロードします。
systemctl daemon-reload
Mattermost サービスを有効にします。
chkconfig mattermost on
そして systemd で起動します。
systemctl start mattermost
URL http://localhost:8065 にアクセスして、実行中かどうかを確認します。
NGINX のインストールと構成
インストール
運用システムでは、Mattermost Server の前にプロキシ サーバーを使用します。この場合、NGINX。
これを行うことの主な利点は次のとおりです。
- SSL終端
- ポートマッピング:80~:8065
- HTTP から HTTPS へのリダイレクト
- 標準リクエストログ
NGINX を RHEL 7.1 にインストールするには、yum リポジトリ ファイルを作成します。
/etc/yum.repos.d/nginx.repo
、次の内容:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/7.1/$basearch/
gpgcheck=0
enabled=1
保存して終了し、yum を使用して NGINX をインストールします。
yum install nginx.x86_64
NGINX を起動してテストします。
systemctl start nginx
構成
NGINX をプロキシ サーバーとして設定するには、次のファイルを作成します
/etc/nginx/sites-available/mattermost
そして過去:
upstream backend {
server localhost: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.mydomain.com;
location /api/v3/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;
}
}
次のコマンドを使用して、既存のデフォルトのサイト対応ファイルを削除します。
rm /etc/nginx/sites-enabled/default
そして Mattermost を有効にします。
ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/mattermost
NGINX を再起動します。
systemctl restart nginx
結論
このプロセスの最後には、サーバーが起動して実行されているはずです。 Web ブラウザで URL http://mattermost.mydomain.com にアクセスし、電子メール アドレスを入力してアカウントを作成して Mattermost の構成を続けます。
それだけです!サーバーはメッセージング システムとして機能する準備ができています。