Mattermostでチャットシステムを構築してみた(引っ越し編)

Mattermost(マターモースト)という、オープンソースのチャットサービスをVPS上に構築しました。
これをそのままそっくり別のVPSに移したのでその際の手順を記事にしたいと思います。

大まかな作業の流れ

基本的にはこちらのインストール編と同じ流れになります。
前提条件なども同じです。

関連記事

Mattermost(マターモースト)という、オープンソースのチャットサービスがあると聞き、面白そうだったのでVPS上に構築してみました。 [blogcard url=https://mattermost.com] 非常に分かり[…]

新規にインストールするとデータフォルダやDBにはデータが何もないんですが、そこに既存のデータを流し込む形になります。

引っ越し手順

前述のインストール編と一緒に見ていただくと違いが分かりやすいかと思います。

  1. MariaDB上にユーザーを作成します。
    尚、「mmuser-password」はセキュアなものに変更することをオススメします。
    (既存のユーザー/パスワードと同一にすると設定を変える必要がないので楽だと思います)

    create user 'mmuser'@'%' identified by 'mmuser-password';
  2. MariaDB上にデータベースを作成し、上記ユーザーに権限を付与します。
    create database mattermost;
    grant all privileges on mattermost.* to 'mmuser'@'%';
  3. 既存のDBからMattermostのデータベース(今回はmattermost)をダンプし、引っ越し先にインポートします。
  4. ファイル転送ソフトやscpコマンドを使って、既存のMattermostのディレクトリを丸ごと引っ越し先にコピーします。
    (同じディレクトリ配置にした方が楽だと思います)
  5. Mattermost用のユーザーとグループを作成し、パーミッションを変更します。
    sudo useradd --system --user-group mattermost
    sudo chown -R mattermost:mattermost /opt/mattermost
    sudo chmod -R g+w /opt/mattermost
  6. いったんテストします。
    cd /opt/mattermost
    sudo -u mattermost ./bin/mattermost

    「Server is listening on :8065」のような文字列がMattermostのログ(/opt/mattermost/logs/mattermost.log)に出力されていればMattermostは起動しています。
    「Ctrl」+「C」を押して停止します。

  7. Mattermostをサービス登録します。
    sudo touch /etc/systemd/system/mattermost.service

    上記ファイルを以下のように編集します。

    [Unit]
    Description=Mattermost
    After=syslog.target network.target mysqld.service
    
    [Service]
    Type=notify
    WorkingDirectory=/opt/mattermost
    User=mattermost
    ExecStart=/opt/mattermost/bin/mattermost
    PIDFile=/var/spool/mattermost/pid/master.pid
    TimeoutStartSec=3600
    LimitNOFILE=49152
    
    [Install]
    WantedBy=multi-user.target

    上記ファイルのパーミッションを変更します。

    sudo chmod 664 /etc/systemd/system/mattermost.service
  8. Mattermostをシステム起動時に起動するように設定し、起動します。
    sudo systemctl daemon-reload
    sudo systemctl enable mattermost
    sudo systemctl start mattermost
  9. レスポンスの確認をします。
    curl http://localhost:8065

    HTMLが返ってくれば正常に起動しています。

  10. Mattermostを停止します。
    sudo systemctl stop mattermost
  11. 既存のサーバーの設定を引っ越し先にも適用し、サーバーとMattermostを起動します。
    sudo systemctl start nginx
    sudo systemctl start mattermost

まとめ

思っていたよりもすんなりと引っ越しを行うことができました。

上記手順の3番と4番で取得したデータはそのままバックアップになります。
定期的に取得しておけば万が一壊れてしまった場合でも復旧ができるのでタスク化しておくのもいいかもしれません。

この記事がMattermostの引っ越しを考えている方の参考になれば幸いです。

よろしければこちらの記事もご覧ください。

関連記事

前回はMattermostのシステムをサーバーにインストールするところまでを記事にまとめました。 [sitecard subtitle=関連記事 url=https://twinturbo-power.com/2021/02/matt[…]

アップデートの手順についてはこちらの記事をご覧ください。

関連記事

Mattermost(マターモースト)という、オープンソースのチャットサービスをVPS上に構築して運用しています。 今まではv5系で運用していたのですが、2021年10月13日にv6系がリリースされました。 早速アップデートしてみた[…]

Dockerで動かす場合の手順についてはこちらの記事をご覧ください。

関連記事

Mattermost(マターモースト)という、オープンソースのチャットサービスがあります。 私はVPS上に構築して運用しているのですが、Docker上で動かすこともできるとのことで試してみました。 環境情報 サーバー A[…]