ローカルサーバに Mattermost をインストールしてみます。
環境、構築ポリシー
- Ubuntu 22.04 LTS Desktop Ja および Ubuntu 20.04 LTS Desktop Ja
- 80番ポートを別用途で使用済(Apache)
- Mattermost Team 版を使用する
- Mattermost は Docker 経由でインストールする
- プライベートIPアドレスをぶらうざに入力してアクセスする
- 証明書は使用しない
インストール方法の選択
ここに、いくつもインストール方法が紹介されています。
https://docs.mattermost.com/guides/deployment.html
今回は Docker を使うことにしました。
Docker セットアップ
まず、Dockerをインストールします。
「Ubuntu20.04 に Docker を導入する (Also Ubuntu 22.04)」
https://qiita.com/nanbuwks/items/0ba1d13b3cd27e5c6426
の通り作業、Docker公式レポジトリから最新版をインストールします。
Mattermost ダウンロード、設定
以下のドキュメントのとおりにやってみます。
https://docs.mattermost.com/guides/deployment.html
$ git clone https://github.com/mattermost/docker
$ cd docker
サンプル設定ファイルをコピーし、編集します。
$ cp env.example .env
以下のように編集します。
# Domain of service
DOMAIN=mm.example.com
↓
# Domain of service
DOMAIN=192.168.42.12
MATTERMOST_IMAGE=mattermost-enterprise-edition
MATTERMOST_IMAGE_TAG=7.1
↓
MATTERMOST_IMAGE=mattermost-team-edition
MATTERMOST_IMAGE_TAG=7.1
また、Timezoneを以下のように設定します。
TZ=Asia/Tokyo
以下のように必要なファイル、ディレクトリを設定します。
$ mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes}
$ sudo chown -R 2000:2000 ./volumes/app/mattermost
Mattermost を起動
以下のように起動しました。
$ docker-compose -f docker-compose.yml -f docker-compose.without-nginx.yml up -d
ここで、 nginx を使わない場合は docker-compose.without-nginx.yml
、 nginx を使う場合は docker-compose.nginx.yml
と指定して起動します。今回は、 nginx を使わずに起動しました。
Creating network "docker_default" with the default driver
Pulling postgres (postgres:13-alpine)...
13-alpine: Pulling from library/postgres
213ec9aee27d: Pull complete
85c3ef7cf9a6: Pull complete
ac29cc04759a: Pull complete
6b14d22dbf64: Pull complete
2d8ab7259e6e: Pull complete
51f6defbaf81: Pull complete
ede0ecb57b78: Pull complete
06aa039a894a: Pull complete
Digest: sha256:fc3670fa23119159394dfdb98eee89b30ef5a506791aea6ff7d8a4e73a8cd4a4
Status: Downloaded newer image for postgres:13-alpine
Pulling mattermost (mattermost/mattermost-enterprise-edition:7.1)...
7.1: Pulling from mattermost/mattermost-enterprise-edition
751ef25978b2: Pull complete
6058830c33a8: Pull complete
f9580aa23981: Pull complete
c7989beb8f48: Pull complete
Digest: sha256:2fe9f455549a489a9007bff0a6da89fca4551ca6565844a6744a2c353e0a0554
Status: Downloaded newer image for mattermost/mattermost-enterprise-edition:7.1
Creating docker_postgres_1 ... done
Creating docker_mattermost_1 ... done
となり以下のように起動しました。
この画面で、最初の管理者ユーザを登録し、その後 チーム名を登録します。
問題点
メニューからメンバー招待ができません。
この問題は、nginx を使わないときに発生するらしいです。
cf.,
- https://github.com/mattermost/mattermost-server/issues/20432
- https://mattermost.atlassian.net/browse/MM-45024
解決策その1 nginx を使った Docker インストールを行う
以下のように起動すると問題解決するのかな?
$ docker-compose -f docker-compose.yml -f docker-compose.nginx.yml up -d
しかしながら今回の環境では、別用途に Apache が動作していて ポート80 が塞がっているのでこの方法は使えませんでした。
.env
の HTTP_PORT=80
を変更したりしてみましたがそれだけではダメなようです。
解決策その2 Docker以外のインストール方法を行う
もともと Mattermost は Docker を使わなくともインストールできますし細かな設定をするにはそちらを用いるべきですが、今回はデータベース設定を簡略化したかったため Docker を使った方法で解決する方法を採りました。
解決策その3 mmctl を使用する
cf.,https://docs.mattermost.com/manage/mmctl-command-line-tool.html
こちらの mmctl コマンドを使用してアカウントが作成できるようです。今回は別方法を用いて解決したので試していません。
解決策その4 Open Server 設定を使う
システムコンソールから AUTHENTICATION - Signup を選びます。
「Enable Open Server」の設定を変更します。
ログアウトするか、別ブラウザでアクセスすると右上に「Create an account」が表示されるので別アカウントを登録します。
設定
管理者権限で、Configuration-SITE-CONFIGURATION -Localization で日本語の設定をします。