Mattermost

提供: ArchWiki
2016年5月7日 (土) 21:38時点におけるKusakata (トーク | 投稿記録)による版 (ページの作成:「Category:インターネットアプリケーション en:Mattermost [http://www.mattermost.org/ Mattermost のホームページ] より: :Mattermost はオー...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

Mattermost のホームページ より:

Mattermost はオープンソースで、セルフホスト型の Slack クローンです。
プロプライエタリな SaaS メッセージングの代替として、Mattermost はチームコミュニケーションをひと処に集めて、全ての情報を検索・閲覧しやすくします。

インストール

ノート:
  • Mattermost はデータベースバックエンドを必要とします。データベースを同一のマシンで動作させる場合、まず MySQLPostgreSQL をインストールしてください。公式ガイドでは PostgreSQL を使用しているため、このページでも PostgreSQL を使います。
  • Docker を使うことで Mattermost を簡単にインストールする方法があります。ワンラインインストール が強力です。

mattermostAUR パッケージをインストールしてください。

設定

データベースの設定

PostgreSQL

user$ sudo -i -u postgres
postgres$ psql
postgres=# CREATE DATABASE mattermost;
postgres=# CREATE USER mmuser WITH PASSWORD 'mmuser_password';
postgres=# GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
postgres=# \q
postgres$ exit

通常ユーザーから新しいユーザーとデータベースが機能することを確認:

psql --host=127.0.0.1 --dbname=mattermost --username=mmuser --password
mattermost=> \q

Mattermost の設定

設定ファイルは /etc/webapps/mattermost/config.json に存在します。

変更する必要がある部分は2箇所です。

PostgreSQL を使用する場合は、以下の文字列を:

"DriverName": "mysql"

以下のように変更してください:

"DriverName": "postgres"
ノート: "postgresql" ではなく "postgres" と記入することに注意してください。

そして "DataSource": "..." という文字列を実際に使用するデータベースとユーザーの設定に書き換えてください:

"DataSource": "postgres://mmuser:mmuser_password@127.0.0.1:5432/mattermost?sslmode=disable&connect_timeout=10"
ノート: mmuser_password はユーザーに設定したパスワードに置き換えてください。

Mattermost の起動

パッケージには mattermost サービスが含まれています。通常のデーモンと同じように起動有効化してください。

テスト

ブラウザを起動して http://127.0.0.1:8065/ を開いてください。Mattermost のチャットスタートページが開くはずです。

Tips and tricks

リバースウェブプロキシによる TLS/SSL

Mattermost の AndroidiOS アプリでは自己署名の TLS/SSL 鍵をサポートしていないため、リバースウェブプロキシを使用することを推奨します。

Lighttpd2 による TLS/SSL

lighttpd2-gitAUR を使用して Mattermost のプロキシとして動作させる例:

/etc/lighttpd2/lighttpd.conf
setup {

    module_load [
        "mod_accesslog",
        "mod_proxy",
        "mod_openssl"
    ];

    openssl [
        "listen" => "0.0.0.0:443",
        "listen" => "[::]:443",
        "pemfile" => "/etc/lighttpd2/certs/lighttpd2.pem",
        "options" => ["ALL", "NO_TICKET"],
        "verify" => true,
        "verify-any" => true,
        "verify-depth" => 9
    ];

    listen "0.0.0.0:80";
    listen "[::]:80";

    log ["debug" => "", default => "/var/log/lighttpd2/error.log"];
    accesslog "/var/log/lighttpd2/access.log";
    accesslog.format "%h %V %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}\"";

    static.exlude_extensions [ ".php", ".pl", ".fcgi", "~", ".inc" ];

}

openssl.setenv "client-cert";
keepalive.timeout 360;

docroot "/srv/http";
index [ "index.php", "index.html", "index.htm" ];

include "/etc/lighttpd2/mimetypes.conf";

proxy "127.0.0.1:8065";

証明書は /etc/lighttpd2/certs/lighttpd2.pem に配置します。proxy "127.0.0.1:8065" 行をバーチャルホストのドメインに変えたい場合は mod_vhost を参照してください。