お金をかけずにサーバーの勉強をしよう

Mattermostインストール(Windows)

2025年5月30日

メニューへ戻る

Windows Server 2025に Mattermost Team Editionをインストールします。

ここのホームページでは Linuxを主としてやっているんですが、仕事という面で言うと思いの外オンプレの環境が多く、更には Windowsサーバーが結構多いのです。

Linux(Ubuntu Server)での Mattermostについては「Mattermostインストール」に書いていますが、Windows版は非公式ゆえ、どハマりしながらインストールした手順を備忘録として記しておこうと思います。

決してネタ切れのために同じネタでおかわりをしようというものではありません。

鼻息('oo`)も荒くなったところで、早速インストールしましょう。


1.Team Edition

Mattermostの本家サイトはこちら。
Mattermost

上記のホームページで扱われているのは有償の Enterprise版なんですが、ここで扱うのは無償の Team版というやつです。

ホームページを彷徨っても中々ダウンロードのリンクを見つけられず、一応 Linux版の tar形式のファイルについては以下に書いてあるのを見つけられました。
Mattermost Team Edition

見つけ辛いですがこのタブです。
Team editionタブ

こちらの記載では「ライセンスを必要としない(お金を払いたくない)場合でも Enterprise Editionを使うことをお勧めする」とあります。

Enterprise Editionは、お金を払うことで機能のロックを外していくスタイルのようで、ロックを外さなければ Free版扱いになるようです。

Team Editionは全てオープンソースであることに拘る人用みたいです。


2.Windows版ダウンロード

以前は開発者ドキュメントに Windows用サーバーのインストール手順があったような気がするんですが、とうとう見つけられませんでした。

ただ、以下の URLでダウンロードすることができます。
https://releases.mattermost.com/X.X.X/mattermost-team-X.X.X-windows-amd64.zip

[X.X.X] の箇所はダウンロードしたいバージョンにします。
2025年5月30日時点の最新バージョンは 10.8.1ですが、これを手に入れる場合 URLは以下のようになります。
https://releases.mattermost.com/10.8.1/mattermost-team-10.8.1-windows-amd64.zip

しかし常に Windows用の最新版が用意されているのではなさげでして、丹念にバージョン番号を変えながらダウンロードを試みる事数回、やっと Windows版の一番新しいものをダウンロードできるのでした。

2025年5月30日時点では 10.4.5を得ることができました。
URLは以下です。
Windows版の 10.4.5

理由は後述しますが Linux版のダンロードファイルも必要になるので以下も一緒にダウンロードをしておいて下さい。
Linux版の 10.4.5


3.環境

使用する環境は以下となります。

Windows Server 2025については「Windows Server 2025 インストール」に、
PostgreSQLインストールについては「PostgreSQLインストール(Windows)」に、
それぞれ書いています。

Windows Serverに PostgreSQL 17.5がインストールされている状態からスタートします。


4.データベース準備

PostgreSQLの中に専用のデータベースを作ります。
手順は Linuxでのものですが、以下に書いてあります。
Prepare your Mattermost Server environment

これに従ってやってみます。

Windows Server で、PostgreSQLの psqlコマンドを使います。
スタートメニューから [PostgreSQL 17] → [SQL Shell (psql)] を選択します。
PostgreSQLの SQL Shell(psql)

黒い画面が立ち上がりますので以下のようにやっていきます。

管理者ユーザー [postgres] でログインします。

Server [localhost]:Enterキー
Database [postgres]:Enterキー
Port [5432]:Enterキー
Username [postgres]:Enterキー
Client Encoding [SJIS]:Enterキー
ユーザー postgres のパスワード:管理者ユーザー[postgres]のパスワード

psql (17.5)
"help"でヘルプを表示します。

postgres=#

ログインできました。

手順に従って [mattermost]データベースを作ります。

postgres=# CREATE DATABASE mattermost WITH ENCODING 'UTF8' LC_COLLATE='en_US.UTF-8' LC_CTYPE='en_US.UTF-8' TEMPLATE=template0;
CREATE DATABASE

Mattermost専用の [mmuser]ユーザーを作ります。

postgres=# CREATE USER mmuser WITH PASSWORD 'mmuser-password'; ← 本気で作る時はパスワードは変えましょう。
CREATE ROLE

[mattermost]データベースに対する全権を [mmuser]ユーザーに与えます。

postgres=# GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
GRANT

[mattermost]データベースのオーナーを [mmuser]ユーザーにします。

postgres=# ALTER DATABASE mattermost OWNER TO mmuser;
ALTER DATABASE

[public]スキーマに対する操作権限を [mmuser]ユーザーに与えます。

postgres=# GRANT USAGE, CREATE ON SCHEMA public TO mmuser;
GRANT

これでデータベースの準備は完了です。
SQL Shellを終わらせます。

postgres=# \q ← \はバックスラッシュ(キーボード右下)です。



5.Mattermostインストール

[C:¥work]フォルダをインストール作業用の一時フォルダとして使っています。
実際にダウンロードしたファイルはこれらです。
Mattermost Team Editionのダウンロードファイル

まずは Windows用の圧縮ファイル [mattermost-team-10.4.5-windows-amd64.zip] をエクスプローラー上で解凍します。
[mattermost-team-10.4.5-windows-amd64]フォルダができて、その下に [mattermost]フォルダができました。
Mattermostインストール 1

その下の [bin]フォルダの中味はこれらなんですが、この圧縮ファイルで展開されたファイルはこれだけです。
Mattermostインストール 2

しかし [mattermost]フォルダの下のもの、これだけでは Mattermostのセットとしては全然足りません。

少なくとも使用するデータベースに接続する設定をしなければならないはずで、[config.json]ファイルがあるべきなんじゃないかと。

この圧縮ファイルは何かとの差分なのか?

という推測の下、古いバージョンをダウンロードして調べてみますと、Ver.5の圧縮ファイルの中には他のフォルダ・ファイルが一杯ありました。

あくまで推測ですが、Ver.6からは Linux版と同じものは Windows版の圧縮ファイルには入れなくなったのではないかと思います。

「ということは Linux版のセットとファイルをマージしたフォルダを作れば上手く行くのでは?」との思いから、Linux版のファイルもダウンロードしたのでした。

そちらも解凍してみましょう。
[tar.gz]形式ですので、エクスプローラーからは解凍できません。
これを解凍するには tarコマンドが必要ですが、最近の WindowsOSには [tar.exe]が最初から入っています。

スタートメニューより [ターミナル] を選択します。

解凍します。

PS C:\Users\Administrator>cd c:\work

PS C:\work>tar -xzvf mattermost-team-10.4.5-linux-amd64.tar.gz
x mattermost/
x mattermost/bin/
x mattermost/bin/mattermost
x mattermost/bin/mmctl
x mattermost/logs/

〜〜〜 省略 〜〜〜

x mattermost/MIT-COMPILED-LICENSE.md
x mattermost/NOTICE.txt
x mattermost/README.md
x mattermost/manifest.txt

解凍できました。

こちらの [mattermost]フォルダには、こんなに沢山のものがあります。
Mattermostインストール 3

Windows版の実行ファイルを、Linux版のフォルダにコピってしまいます。
Mattermostインストール 4

その結果、Linux版とWindows版のプログラムが混在するフォルダになりました。
Mattermostインストール 5

次は PostgreSQLへ接続する設定を書きます。
[c:¥work¥mattermost¥config¥config.json]ファイルをメモ帳で編集します。
Mattermostインストール 6

この箇所を書き換えて下さい。
具体的には、[mmuser]ユーザーのパスワードを正しくするのと、アクセス先データベース名を [mattermost]にしています。

  "SqlSettings": {
    "DriverName": "postgres",
    "DataSource": "postgres://mmuser:mostest@localhost/mattermost_test?sslmode=disable\u0026connect_timeout=10\u0026binary_parameters=yes",

  ↓

  "SqlSettings": {
    "DriverName": "postgres",
    "DataSource": "postgres://mmuser:mmuser-password@localhost/mattermost?sslmode=disable\u0026connect_timeout=10\u0026binary_parameters=yes",

書き換えができたら、いよいよ実行です。


6.Mattermost実行

またターミナルを使います。
ワーキングフォルダを [C:¥work¥mattermost]フォルダにしていることに注意して下さい。

PS C:\Users\Administrator>cd c:\work\mattermost

PS C:\work\mattermost>.\bin\mattermost.exe server
{"timestamp":"2025-05-30 19:52:39.874 +09:00","level":"info","msg":"Successfully connected to cache backend","caller":"platform/service.go:189","backend":"lru","result":"OK"}
{"timestamp":"2025-05-30 19:52:39.874 +09:00","level":"info","msg":"Server is initializing...","caller":"platform/service.go:192","go_version":"go1.22.6"}
{"timestamp":"2025-05-30 19:52:39.874 +09:00","level":"info","msg":"Pinging SQL","caller":"sql/sql_utils.go:68","database":"master","dataSource":"postgres://%2A%2A%2A%2A:%2A%2A%2A%2A@localhost/mattermost?binary_parameters=yes&connect_timeout=10&sslmode=disable"}
{"timestamp":"2025-05-30 19:52:41.210 +09:00","level":"info","msg":"Starting websocket hubs","caller":"platform/web_hub.go:114","number_of_hubs":4}
{"timestamp":"2025-05-30 19:52:41.212 +09:00","level":"info","msg":"Loaded system translations","caller":"i18n/i18n.go:175","for locale":"en","from locale":"C:\\work\\mattermost\\i18n\\en.json"}
{"timestamp":"2025-05-30 19:52:41.561 +09:00","level":"info","msg":"Ensuring the telemetry ID..","caller":"telemetry/telemetry.go:185"}
{"timestamp":"2025-05-30 19:52:41.563 +09:00","level":"info","msg":"telemetry ID is set","caller":"telemetry/telemetry.go:195","id":"5rksd4io338f8csucezwwnxufw"}
{"timestamp":"2025-05-30 19:52:41.566 +09:00","level":"error","msg":"SiteURL must be set. Some features will operate incorrectly if the SiteURL is not set. See documentation for details: https://mattermost.com/pl/configure-site-url","caller":"app/server.go:395"}
{"timestamp":"2025-05-30 19:52:41.566 +09:00","level":"info","msg":"Current version is 10.4.5 (14396869383/Fri Apr 11 07:14:48 UTC 2025/5309b12d92400b00822488c7ec92e40ea50aaae7/none)","caller":"app/server.go:409","current_version":"10.4.5","build_number":"14396869383","build_date":"Fri Apr 11 07:14:48 UTC 2025","build_hash":"5309b12d92400b00822488c7ec92e40ea50aaae7","build_hash_enterprise":"none","service_environment":"production"}
{"timestamp":"2025-05-30 19:52:41.566 +09:00","level":"info","msg":"Team Edition Build","caller":"app/server.go:425","enterprise_build":false}
{"timestamp":"2025-05-30 19:52:41.566 +09:00","level":"info","msg":"Printing current working","caller":"app/server.go:429","directory":"C:\\work\\mattermost"}
{"timestamp":"2025-05-30 19:52:41.566 +09:00","level":"info","msg":"Loaded config","caller":"app/server.go:430","source":"file://C:\\work\\mattermost\\config\\config.json"}
{"timestamp":"2025-05-30 19:52:41.574 +09:00","level":"info","msg":"License key has not been uploaded. Loading license key from disk.","caller":"utils/license.go:107","filename":"C:\\work\\mattermost\\config\\mattermost.mattermost-license"}
{"timestamp":"2025-05-30 19:52:41.575 +09:00","level":"warn","msg":"Failed to get license from disk","caller":"platform/license.go:93","error":"We could not find the license key on disk at C:\\work\\mattermost\\config\\mattermost.mattermost-license: CreateFile C:\\work\\mattermost\\config\\mattermost.mattermost-license: The system cannot find the file specified."}
{"timestamp":"2025-05-30 19:52:41.576 +09:00","level":"warn","msg":"License key from https://mattermost.com required to unlock enterprise features.","caller":"platform/license.go:105","error":"resource \"License\" not found, id: "}
{"timestamp":"2025-05-30 19:52:41.576 +09:00","level":"info","msg":"Starting workers","caller":"jobs/workers.go:48"}
{"timestamp":"2025-05-30 19:52:41.579 +09:00","level":"info","msg":"Starting schedulers.","caller":"jobs/schedulers.go:54"}
{"timestamp":"2025-05-30 19:52:41.718 +09:00","level":"info","msg":"Migrating roles to database.","caller":"app/migrations.go:44"}
{"timestamp":"2025-05-30 19:52:41.771 +09:00","level":"warn","msg":"Fetching time of first server run failed. Setting to 'now'.","caller":"app/server.go:522"}
{"timestamp":"2025-05-30 19:52:41.797 +09:00","level":"info","msg":"Migrating emojis config to database.","caller":"app/migrations.go:124"}
{"timestamp":"2025-05-30 19:52:42.616 +09:00","level":"info","msg":"Starting up plugins","caller":"app/plugin.go:191"}
{"timestamp":"2025-05-30 19:52:42.617 +09:00","level":"info","msg":"Syncing plugins from the file store","caller":"app/plugin.go:268"}
{"timestamp":"2025-05-30 19:52:42.618 +09:00","level":"info","msg":"No plugins to sync from the file store","caller":"app/plugin.go:311"}
{"timestamp":"2025-05-30 19:52:42.619 +09:00","level":"info","msg":"Processing prepackaged plugin","caller":"app/plugin.go:1010","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-playbooks-v1.40.0-linux-amd64.tar.gz"}
{"timestamp":"2025-05-30 19:52:42.620 +09:00","level":"info","msg":"Processing prepackaged plugin","caller":"app/plugin.go:1010","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-mscalendar-v1.3.4-linux-amd64.tar.gz"}
{"timestamp":"2025-05-30 19:52:42.620 +09:00","level":"info","msg":"Processing prepackaged plugin","caller":"app/plugin.go:1010","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-channel-export-v1.2.1-linux-amd64.tar.gz"}
{"timestamp":"2025-05-30 19:52:42.621 +09:00","level":"info","msg":"Processing prepackaged plugin","caller":"app/plugin.go:1010","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-jira-v4.1.1-linux-amd64.tar.gz"}
{"timestamp":"2025-05-30 19:52:42.652 +09:00","level":"info","msg":"Processing prepackaged plugin","caller":"app/plugin.go:1010","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-boards-v9.1.1-linux-amd64.tar.gz"}
{"timestamp":"2025-05-30 19:52:42.656 +09:00","level":"info","msg":"Processing prepackaged plugin","caller":"app/plugin.go:1010","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-metrics-v0.5.3-linux-amd64.tar.gz"}
{"timestamp":"2025-05-30 19:52:42.656 +09:00","level":"info","msg":"Processing prepackaged plugin","caller":"app/plugin.go:1010","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-gitlab-v1.9.1-linux-amd64.tar.gz"}
{"timestamp":"2025-05-30 19:52:42.664 +09:00","level":"info","msg":"Processing prepackaged plugin","caller":"app/plugin.go:1010","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-servicenow-v2.3.4-linux-amd64.tar.gz"}
{"timestamp":"2025-05-30 19:52:42.669 +09:00","level":"info","msg":"Processing prepackaged plugin","caller":"app/plugin.go:1010","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-playbooks-v2.1.1-linux-amd64.tar.gz"}
{"timestamp":"2025-05-30 19:52:42.669 +09:00","level":"info","msg":"Processing prepackaged plugin","caller":"app/plugin.go:1010","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-msteams-v2.0.3-linux-amd64.tar.gz"}
{"timestamp":"2025-05-30 19:52:42.681 +09:00","level":"info","msg":"Processing prepackaged plugin","caller":"app/plugin.go:1010","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-zoom-v1.8.0-linux-amd64.tar.gz"}
{"timestamp":"2025-05-30 19:52:42.686 +09:00","level":"info","msg":"Processing prepackaged plugin","caller":"app/plugin.go:1010","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-ai-v1.1.1-linux-amd64.tar.gz"}
{"timestamp":"2025-05-30 19:52:42.686 +09:00","level":"info","msg":"Processing prepackaged plugin","caller":"app/plugin.go:1010","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-calls-v1.5.2-linux-amd64.tar.gz"}
{"timestamp":"2025-05-30 19:52:42.688 +09:00","level":"info","msg":"Processing prepackaged plugin","caller":"app/plugin.go:1010","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-nps-v1.3.3-linux-amd64.tar.gz"}
{"timestamp":"2025-05-30 19:52:42.695 +09:00","level":"info","msg":"Processing prepackaged plugin","caller":"app/plugin.go:1010","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-msteams-meetings-v2.2.0-linux-amd64.tar.gz"}
{"timestamp":"2025-05-30 19:52:42.727 +09:00","level":"info","msg":"Processing prepackaged plugin","caller":"app/plugin.go:1010","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-user-survey-v1.1.1-linux-amd64.tar.gz"}
{"timestamp":"2025-05-30 19:52:42.743 +09:00","level":"info","msg":"Processing prepackaged plugin","caller":"app/plugin.go:1010","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-github-v2.3.0-linux-amd64.tar.gz"}
{"timestamp":"2025-05-30 19:52:44.756 +09:00","level":"info","msg":"Installing extracted plugin","caller":"app/plugin_install.go:429","plugin_id":"com.mattermost.nps","version":"1.3.3"}
{"timestamp":"2025-05-30 19:52:45.111 +09:00","level":"info","msg":"Not installing prepackaged plugin: not previously enabled","caller":"app/plugin.go:1061","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-mscalendar-v1.3.4-linux-amd64.tar.gz","plugin_id":"com.mattermost.mscalendar"}
{"timestamp":"2025-05-30 19:52:45.407 +09:00","level":"info","msg":"Not installing prepackaged plugin: not previously enabled","caller":"app/plugin.go:1061","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-channel-export-v1.2.1-linux-amd64.tar.gz","plugin_id":"com.mattermost.plugin-channel-export"}
{"timestamp":"2025-05-30 19:52:45.562 +09:00","level":"info","msg":"Not installing prepackaged plugin: not previously enabled","caller":"app/plugin.go:1061","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-servicenow-v2.3.4-linux-amd64.tar.gz","plugin_id":"mattermost-plugin-servicenow"}
{"timestamp":"2025-05-30 19:52:45.806 +09:00","level":"info","msg":"Not installing prepackaged plugin: not previously enabled","caller":"app/plugin.go:1061","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-user-survey-v1.1.1-linux-amd64.tar.gz","plugin_id":"com.mattermost.user-survey"}
{"timestamp":"2025-05-30 19:52:45.924 +09:00","level":"error","msg":"Failed to install prepackaged plugin","caller":"app/plugin.go:975","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-nps-v1.3.3-linux-amd64.tar.gz","error":"Failed to install extracted prepackaged plugin C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-nps-v1.3.3-linux-amd64.tar.gz: installExtractedPlugin: Unable to restart plugin on upgrade., unable to start plugin: com.mattermost.nps: failed to apply option: unable to generate plugin checksum: open plugins\\com.mattermost.nps\\server\\dist\\plugin-windows-amd64.exe: The system cannot find the file specified."}
{"timestamp":"2025-05-30 19:52:45.975 +09:00","level":"warn","msg":"Error loading local plugin icon","caller":"app/plugin.go:1264","plugin_id":"mattermost-ai","icon_path":"assets/bot_icon.png","error":"icon is not svg C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\plugintmp1311174736\\mattermost-ai\\assets\\bot_icon.png"}
{"timestamp":"2025-05-30 19:52:45.975 +09:00","level":"info","msg":"Installing extracted plugin","caller":"app/plugin_install.go:429","plugin_id":"mattermost-ai","version":"1.1.1"}
{"timestamp":"2025-05-30 19:52:45.979 +09:00","level":"info","msg":"Not installing prepackaged plugin: not previously enabled","caller":"app/plugin.go:1061","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-gitlab-v1.9.1-linux-amd64.tar.gz","plugin_id":"com.github.manland.mattermost-plugin-gitlab"}
{"timestamp":"2025-05-30 19:52:46.293 +09:00","level":"info","msg":"Not installing prepackaged plugin: not previously enabled","caller":"app/plugin.go:1061","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-github-v2.3.0-linux-amd64.tar.gz","plugin_id":"github"}
{"timestamp":"2025-05-30 19:52:46.478 +09:00","level":"info","msg":"Not installing prepackaged plugin: not previously enabled","caller":"app/plugin.go:1061","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-metrics-v0.5.3-linux-amd64.tar.gz","plugin_id":"com.mattermost.mattermost-plugin-metrics"}
{"timestamp":"2025-05-30 19:52:46.490 +09:00","level":"info","msg":"Not installing prepackaged plugin: not previously enabled","caller":"app/plugin.go:1061","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-jira-v4.1.1-linux-amd64.tar.gz","plugin_id":"jira"}
{"timestamp":"2025-05-30 19:52:46.550 +09:00","level":"info","msg":"Skip installing prepackaged playbooks >=v2 because the license does not allow it","caller":"app/plugin.go:1041","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-playbooks-v2.1.1-linux-amd64.tar.gz","plugin_id":"playbooks"}
{"timestamp":"2025-05-30 19:52:46.616 +09:00","level":"error","msg":"Failed to install prepackaged plugin","caller":"app/plugin.go:975","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-ai-v1.1.1-linux-amd64.tar.gz","error":"Failed to install extracted prepackaged plugin C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-ai-v1.1.1-linux-amd64.tar.gz: installExtractedPlugin: Unable to restart plugin on upgrade., unable to start plugin: mattermost-ai: failed to apply option: unable to generate plugin checksum: open plugins\\mattermost-ai\\server\\dist\\plugin-windows-amd64.exe: The system cannot find the file specified."}
{"timestamp":"2025-05-30 19:52:46.667 +09:00","level":"info","msg":"Not installing prepackaged plugin: not previously enabled","caller":"app/plugin.go:1061","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-zoom-v1.8.0-linux-amd64.tar.gz","plugin_id":"zoom"}
{"timestamp":"2025-05-30 19:52:46.785 +09:00","level":"info","msg":"Installing extracted plugin","caller":"app/plugin_install.go:429","plugin_id":"playbooks","version":"1.40.0"}
{"timestamp":"2025-05-30 19:52:47.408 +09:00","level":"info","msg":"Installing extracted plugin","caller":"app/plugin_install.go:429","plugin_id":"com.mattermost.calls","version":"1.5.2"}
{"timestamp":"2025-05-30 19:52:47.711 +09:00","level":"info","msg":"Not installing prepackaged plugin: not previously enabled","caller":"app/plugin.go:1061","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-boards-v9.1.1-linux-amd64.tar.gz","plugin_id":"focalboard"}
{"timestamp":"2025-05-30 19:52:47.916 +09:00","level":"info","msg":"Not installing prepackaged plugin: not previously enabled","caller":"app/plugin.go:1061","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-msteams-v2.0.3-linux-amd64.tar.gz","plugin_id":"com.mattermost.msteams-sync"}
{"timestamp":"2025-05-30 19:52:48.242 +09:00","level":"error","msg":"Failed to install prepackaged plugin","caller":"app/plugin.go:975","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-playbooks-v1.40.0-linux-amd64.tar.gz","error":"Failed to install extracted prepackaged plugin C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-playbooks-v1.40.0-linux-amd64.tar.gz: installExtractedPlugin: Unable to restart plugin on upgrade., unable to start plugin: playbooks: failed to apply option: unable to generate plugin checksum: open plugins\\playbooks\\server\\dist\\plugin-windows-amd64.exe: The system cannot find the file specified."}
{"timestamp":"2025-05-30 19:52:48.867 +09:00","level":"info","msg":"Not installing prepackaged plugin: not previously enabled","caller":"app/plugin.go:1061","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-msteams-meetings-v2.2.0-linux-amd64.tar.gz","plugin_id":"com.mattermost.msteamsmeetings"}
{"timestamp":"2025-05-30 19:52:48.916 +09:00","level":"error","msg":"Failed to install prepackaged plugin","caller":"app/plugin.go:975","bundle_path":"C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-calls-v1.5.2-linux-amd64.tar.gz","error":"Failed to install extracted prepackaged plugin C:\\work\\mattermost\\prepackaged_plugins\\mattermost-plugin-calls-v1.5.2-linux-amd64.tar.gz: installExtractedPlugin: Unable to restart plugin on upgrade., unable to start plugin: com.mattermost.calls: failed to apply option: backend executable not found for environment: windows/amd64"}
{"timestamp":"2025-05-30 19:52:49.102 +09:00","level":"error","msg":"Unable to activate plugin","caller":"app/plugin.go:144","plugin_id":"com.mattermost.nps","bundle_path":"plugins\\com.mattermost.nps","error":"unable to start plugin: com.mattermost.nps: failed to apply option: unable to generate plugin checksum: open plugins\\com.mattermost.nps\\server\\dist\\plugin-windows-amd64.exe: The system cannot find the file specified."}
{"timestamp":"2025-05-30 19:52:49.125 +09:00","level":"error","msg":"Unable to activate plugin","caller":"app/plugin.go:144","plugin_id":"mattermost-ai","bundle_path":"plugins\\mattermost-ai","error":"unable to start plugin: mattermost-ai: failed to apply option: unable to generate plugin checksum: open plugins\\mattermost-ai\\server\\dist\\plugin-windows-amd64.exe: The system cannot find the file specified."}
{"timestamp":"2025-05-30 19:52:49.185 +09:00","level":"error","msg":"Unable to activate plugin","caller":"app/plugin.go:144","plugin_id":"playbooks","bundle_path":"plugins\\playbooks","error":"unable to start plugin: playbooks: failed to apply option: unable to generate plugin checksum: open plugins\\playbooks\\server\\dist\\plugin-windows-amd64.exe: The system cannot find the file specified."}
{"timestamp":"2025-05-30 19:52:49.188 +09:00","level":"error","msg":"Unable to activate plugin","caller":"app/plugin.go:144","plugin_id":"com.mattermost.calls","bundle_path":"plugins\\com.mattermost.calls","error":"unable to start plugin: com.mattermost.calls: failed to apply option: backend executable not found for environment: windows/amd64"}
{"timestamp":"2025-05-30 19:52:49.195 +09:00","level":"info","msg":"Starting Server...","caller":"app/server.go:893"}
{"timestamp":"2025-05-30 19:52:49.196 +09:00","level":"info","msg":"Server is listening on [::]:8065","caller":"app/server.go:969","address":"[::]:8065"}
{"timestamp":"2025-05-30 19:53:03.449 +09:00","level":"info","msg":"Worker: Job is complete","caller":"jobs/batch_migration_worker.go:71"}
{"timestamp":"2025-05-30 19:53:03.450 +09:00","level":"info","msg":"Worker: Job is complete","caller":"jobs/batch_migration_worker.go:71"}
{"timestamp":"2025-05-30 19:53:03.466 +09:00","level":"info","msg":"Worker: Job is complete","caller":"jobs/batch_migration_worker.go:71"}

ん〜、何だかプラグイン関連がいくつかエラーになっています。
これは後で問題が出るか?

ただそれでも [8065/tcp] で待ち受けているようです。

Windowsサーバーのファイアウォール」に書いた要領で、[8065/tcp]を開放しました。


7.Mattermostを使ってみる

私がクライアントとして使っている Lubuntu 24.04の Firefoxでアクセスしてみます。
うちの環境だと [hosts]ファイルで名前解決していて、
URLが [http://Win2025-1:8065]になります。

[View in Browser]を選択しました。
Mattermost 1

管理者ユーザーの登録です。
メアドとユーザー名とパスワードを設定し、Create Accountを押します。
Mattermost 2

組織名の登録です。漢字も使えそう。
入力してContinueを押します。
Mattermost 3

よく使うツールを選択します。
後で設定しても良いらしいので、何も選択せずにContinueを押します。
Mattermost 4

「チームに誰かを入れたい時はこの URLに〜」ということですが、
無視してFinish setupを押します。
Mattermost 5

Mattermostとして動き出しました。
まずは日本語にしましょう。
歯車のアイコンをクリックします。
Mattermost 6

[Display]を選択し、右に出てくる設定項目の一番下の [Language] の [Edit] をクリックします。
Mattermost 7

[日本語]を選択し、Saveを押します。
Mattermost 8

日本語になりました!(オラァ)\(^o^)/
Mattermost 9

あとはもうお好きに使って下さい。


==========
ということで、Windows Server 2025と Windows版の PostgreSQLで Mattermostのサーバーを立ち上げてみました。

Windows版の手順が無いので本当にこれで良いのか分かりませんが…どうにか動くところまでは持っていけました。

しかし、この Teams Editionは保守サービスも無さげだし、OS起動時のサービスとしての起動に対応してなさげなのと、プラグイン周りのエラーも気になるし…。

やっぱり本気で使う環境とは言い難い…。

Windowsしか環境がないけど動くだけでも良いから Mattermostを使いたい!

という事情でも無い限りは Linuxで構築した方が良いと思います。
(ここまでやっておいてナンですが)


それではごきげんよう。