「Mattermost」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(ページの作成:「Category:インターネットアプリケーション en:Mattermost [http://www.mattermost.org/ Mattermost のホームページ] より: :Mattermost はオー...」)
 
(同期)
9行目: 9行目:
   
 
{{Note|
 
{{Note|
* Mattermost はデータベースバックエンドを必要とします。データベースを同一のマシンで動作させる場合、まず [[MySQL]] か [[PostgreSQL]] をインストールしてください。公式ガイドでは PostgreSQL を使用しているため、このページでも PostgreSQL を使います
+
* Mattermost はデータベースバックエンドを必要とします。データベースを同一のマシンで動作させる場合、まず [[MySQL]] か [[PostgreSQL]] をインストールしてください。
 
* [[Docker]] を使うことで Mattermost を簡単にインストールする方法があります。[http://docs.mattermost.com/install/docker-local-machine.html#arch ワンラインインストール] が強力です。}}
 
* [[Docker]] を使うことで Mattermost を簡単にインストールする方法があります。[http://docs.mattermost.com/install/docker-local-machine.html#arch ワンラインインストール] が強力です。}}
   
17行目: 17行目:
   
 
=== データベースの設定 ===
 
=== データベースの設定 ===
  +
  +
Mattermost はデータベースとして [[PostgreSQL]] または [[MySQL]]/MariaDB のどちらかを必要とします。以下のどちらかのセクションに従って設定してから [[#Mattermost の設定]]に進んでください。
   
 
==== PostgreSQL ====
 
==== PostgreSQL ====
26行目: 28行目:
 
postgres=# CREATE DATABASE mattermost;
 
postgres=# CREATE DATABASE mattermost;
 
postgres=# CREATE USER mmuser WITH PASSWORD 'mmuser_password';
 
postgres=# CREATE USER mmuser WITH PASSWORD 'mmuser_password';
postgres=# GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
+
postgres=# GRANT ALL PRIVILEGES ON DATABASE mattermost TO mmuser;
 
postgres=# \q
 
postgres=# \q
 
postgres$ exit
 
postgres$ exit
37行目: 39行目:
 
{{bc|1=
 
{{bc|1=
 
mattermost=> \q
 
mattermost=> \q
  +
}}
  +
  +
==== MySQL/MariaDB ====
  +
  +
{{hc|$ mysql -u root -p|
  +
CREATE DATABASE mattermost;
  +
CREATE USER mmuser IDENTIFIED BY 'mmuser_password';
  +
GRANT ALL ON mattermost.* TO mmuser;
  +
exit;
 
}}
 
}}
   
43行目: 54行目:
 
設定ファイルは {{ic|/etc/webapps/mattermost/config.json}} に存在します。
 
設定ファイルは {{ic|/etc/webapps/mattermost/config.json}} に存在します。
   
変更する必要がある部分は2箇所で
+
使用しているデータベースにあわせて2箇所変更する必要がある部分がありま:
 
PostgreSQL を使用する場合は、以下の文字列を:
 
 
"DriverName": "mysql"
 
 
以下のように変更してください:
 
 
"DriverName": "postgres"
 
 
{{Note|"postgresql" ではなく "postgres" と記入することに注意してください。}}
 
   
  +
{{ic|"DriverName": "..."}} の設定:
そして {{ic|"DataSource": "..."}} という文字列を実際に使用するデータベースとユーザーの設定に書き換えてください:
 
  +
* MySQL の場合 (デフォルト)、{{ic|"mysql"}} に設定してください。
  +
* PostgreSQL の場合、{{ic|"postgres"}} に設定してください ({{ic|postgre'''sql'''}} ではありません)。
   
  +
接続文字列 {{ic|"DataSource": "..."}} はデータベースとユーザーの設定に合わせてください:
"DataSource": "postgres://mmuser:mmuser_password@127.0.0.1:5432/mattermost?sslmode=disable&connect_timeout=10"
 
  +
* MySQL の場合、{{ic|1="'''mmuser''':'''mmuser_password'''@unix(/run/mysqld/mysqld.sock)/'''mattermost'''?charset=utf8mb4,utf8"}} などに設定してください。
  +
* PostgreSQL の場合:
  +
** ネットワークソケットを使用する場合は {{ic|1="postgres://'''mmuser''':'''mmuser_password'''@127.0.0.1:5432/'''mattermost'''?sslmode=disable&connect_timeout=10"}} などに設定してください。
  +
** Unix ソケットを使用する場合は {{ic|1="postgres:///mattermost?host=/run/postgresql"}} に設定してください。{{ic|1="postgres:"}} の後には3つのスラッシュが必要で {{ic|1="mattermost"}} はデータベースの名前に、{{ic|1="/run/postgresql"}} はソケットが含まれているディレクトリに置き換えてください。
   
 
{{Note|{{ic|mmuser_password}} はユーザーに設定したパスワードに置き換えてください。}}
 
{{Note|{{ic|mmuser_password}} はユーザーに設定したパスワードに置き換えてください。}}
63行目: 70行目:
 
== Mattermost の起動 ==
 
== Mattermost の起動 ==
   
パッケージには {{ic|mattermost}} サービスが含まれています。通常のデーモンと同じように[[起動]]・[[有効化]]してください。
+
パッケージには {{ic|mattermost.service}} が含まれています。通常のデーモンと同じように[[起動]]・[[有効化]]してください。
   
 
== テスト ==
 
== テスト ==
   
ブラウザを起動して [http://127.0.0.1:8065/ http://127.0.0.1:8065/] を開いてください。Mattermost のチャットスタートページが開くはずです。
+
ブラウザを起動して http://localhost:8065/ を開いてください。Mattermost のチャットスタートページが開くはずです。
   
 
== Tips and tricks ==
 
== Tips and tricks ==

2017年1月1日 (日) 23:01時点における版

Mattermost のホームページ より:

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

インストール

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

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

設定

データベースの設定

Mattermost はデータベースとして PostgreSQL または MySQL/MariaDB のどちらかを必要とします。以下のどちらかのセクションに従って設定してから #Mattermost の設定に進んでください。

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

MySQL/MariaDB

$ mysql -u root -p
CREATE DATABASE mattermost;
CREATE USER mmuser IDENTIFIED BY 'mmuser_password';
GRANT ALL ON mattermost.* TO mmuser;
exit;

Mattermost の設定

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

使用しているデータベースにあわせて2箇所変更する必要がある部分があります:

"DriverName": "..." の設定:

  • MySQL の場合 (デフォルト)、"mysql" に設定してください。
  • PostgreSQL の場合、"postgres" に設定してください (postgresql ではありません)。

接続文字列 "DataSource": "..." はデータベースとユーザーの設定に合わせてください:

  • MySQL の場合、"mmuser:mmuser_password@unix(/run/mysqld/mysqld.sock)/mattermost?charset=utf8mb4,utf8" などに設定してください。
  • PostgreSQL の場合:
    • ネットワークソケットを使用する場合は "postgres://mmuser:mmuser_password@127.0.0.1:5432/mattermost?sslmode=disable&connect_timeout=10" などに設定してください。
    • Unix ソケットを使用する場合は "postgres:///mattermost?host=/run/postgresql" に設定してください。"postgres:" の後には3つのスラッシュが必要で "mattermost" はデータベースの名前に、"/run/postgresql" はソケットが含まれているディレクトリに置き換えてください。
ノート: mmuser_password はユーザーに設定したパスワードに置き換えてください。

Mattermost の起動

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

テスト

ブラウザを起動して http://localhost: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 を参照してください。