6
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GitLab で Mattermost を有効化する

Last updated at Posted at 2018-10-05

概要

GitLab EE のOmnibus Installer でインストールされたMattermost を有効化し、同一サーバーでホストする。

手順

Mattermost の有効化

  • DNSの設定を変更し、GitLabと異なるURLで同じサーバーに到達できるようにする。 例: gitlab.example.commattermost.example.com

  • GitLabの管理者画面でMattermost用のアプリケーションキーを作成する

    • GitLab AdminArea -> Application -> アプリケーションを作成するボタンを押す
    • Callback URLにhttp://mattermost.example.com/signup/gitlab/completehttp://mattermost.example.com/login/gitlab/completeを2行で入力する。mattermostのURLに書き換えて入力する。httpsを使用している場合はhttpsにする。
    • scopeはapiにチェックを入れる。
    • 保存して表示されるApplication IDSecretを控える。
  • GitLabの設定ファイルを変更する

/etc/gitlab/gitlab.rb
mattermost_external_url 'http://mattermost.example.com'

mattermost['gitlab_enable'] = true
mattermost['gitlab_id'] = "<GitLabで作成したApplication ID>"
mattermost['gitlab_secret'] = "<GitLabで作成したSecret>"
mattermost['gitlab_scope'] = "api"
mattermost['gitlab_auth_endpoint'] = "http://gitlab.example.com/oauth/authorize"
mattermost['gitlab_token_endpoint'] = "http://gitlab.example.com/oauth/token"
mattermost['gitlab_user_api_endpoint'] = "http://gitlab.example.com/api/v4/user"

GitLabのURLは自分のものに書き換える。

  • 同一サーバーでホストする場合、/etc/hostsを修正する
/etc/hosts
127.0.0.1 localhost gitlab.example.com mattermost.example.com

gitlabとmattermostにローカルループバックで接続できるようにしないと、この後のOAuthのトークン認証で失敗する問題があるため、この設定を行う。
参考: Mattermost - Token Request Failed when using Gitlab SSO (#2984) · Issues · GitLab.org / omnibus-gitlab · GitLab

  • GitLabを再構成する sudo gitlab-ctl reconfigure

  • Mattermost にアクセスする 例 http://mattermost.example.com

  • GitLabアカウントでログインし、続いて表示される画面でGitLabの情報へのアクセスを許可する

httpsの有効化

  • SSL証明書と証明書キーを/etc/gitlab/sslに置く
  • GitLabの設定ファイルを更新する
/etc/gitlab/gitlab.rb
mattermost_external_url 'https:/mattermost.gitlab.example'

mattermost_nginx['redirect_http_to_https'] = true
mattermost_nginx['ssl_certificate'] = "/etc/gitlab/ssl/mattermost-nginx.crt"
mattermost_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/mattermost-nginx.key"
mattermost['service_use_ssl'] = true

デフォルトの設定ファイルに記載されていない行は追加する。
証明書のファイル名は置いたものに合わせて更新する。
pem形式の場合は、ssl_certificatefullchain.pemを、ssl_certificate_keyprivkey.pemを指定する。

  • GitLabを再構成する sudo gitlab-ctl reconfigure

メール通知を有効化する

  • Mattermost にアクセスする 例 http://mattermost.example.com

  • メインメニュー -> System Console -> Notification -> Email

  • 各項目を設定して保存する。

    • 設定例(SendGridの場合):

    • Enable Email Notification : Enable

    • SMTP Server : smtp.sendgrid.net

    • SMTP Server Port : 587

    • Enable SMTP Authentication : Enable

    • SMTP User : apikey

    • SMTP User Password : SendGridで作成したAPIキー

    • Connection Security : STARTTLS

    • 注意: Send Test ボタンは、パスワードが***の表示になっていると動作しないので、平文で入力された状態で確認する

参考

6
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?