Redmineの更新をプラグインでSlackに通知する

Redmineでチケットを更新した内容をSlackに通知するべく、プラグインを追加・設定してみます。

環境

設定手順

今回使用するのはこちらのプラグインです。 github.com

それでは早速プラグインをインストールしてみます。

cd /var/lib/redmine/plugins/
git clone https://github.com/sciyoshi/redmine-slack.git redmine_slack
bundle install
rake redmine:plugins:migrate RAILS_ENV=production
service httpd restart

続いてSlack側で左サイドメニューの「App」を選択。 f:id:thdy:20181006231007p:plain

「incoming webhook」を検索してインストールします。 f:id:thdy:20181006231222p:plain

「設定を追加」ボタンから通知するチャンネルを選択して「着信Webフックインテグレーションの追加」を選択。 f:id:thdy:20181006231410p:plain

発行されたWebhook URLをコピーしておきます。 f:id:thdy:20181006231723p:plain

Redmine側で「管理」→「プラグイン」→「Redmine Slack」を開き、先程コピーしたURLを貼り付けるなど設定を行います。 f:id:thdy:20181006232227p:plain

設定はこれで完了。試しにチケットを追加してみると、ちゃんとSlackに通知が届きました。 f:id:thdy:20181006232629p:plain

今日はここまで。

RedmineでLDAP (Active Directory) 認証を設定する

社内WikiとPJ管理のためにRedmineを使ってみようと思い、CentOS 7.5の環境にRedmine 3.4.6をインストールした。
この環境でLDAP (Active Directory) 認証ができるように設定しようと思う。

さっそく、[管理]→[LDAP認証]のメニューを開き、[新しい認証方式] から下図のように設定。 f:id:thdy:20180929204349p:plain

ベースDNは「アカウント」の項目で指定したアカウントがいる場所を入力する。 また「あわせてユーザーを作成」にチェックを入れておかないと、AD上のアカウントとパスワードが連動しないので注意。

設定が完了したら保存して、認証方式画面に戻ってテストボタンを押してみる。 f:id:thdy:20180929211038p:plain 接続しましたと出ているので、どうやら成功した模様。

あとはユーザー作成時の「認証方式」で先程設定した認証名を選択し、ADのアカウント名と合わせたログインIDを指定してやれば完了。 ちゃんとADと同じパスワードでログインできたのでOK。

今日はここまで。

セキュアチャネルの破損をPowerShellで修復する

ドメインユーザーとしてログオンしようとすると「このワークステーションとプライマリドメインとの信頼関係に失敗しました。」と出てログインできない場合があります。

この現象はセキュアチャネルが破損している場合に見られます。

この記事ではこういった破損したセキュアチャネルを修復する手順について解説します。

※そもそもセキュアチャネルが何かを知りたい人はこのあたりを参照してください。

セキュアチャネルの状態を確認する

ログイン時に上記画像のメッセージが出ていれば基本的にセキュアチャネルが破損していますが、正確に状態を把握するには「nltest /sc_verify:ドメイン名」コマンドを実行します。

↓正常な場合の実行結果

PS > nltest /sc_verify:example.com
フラグ: b0 HAS_IP  HAS_TIMESERV
信頼された DC 名 \\DC1.example.com
信頼された DC 接続状態 Status = 0 0x0 NERR_Success
信頼の確認 Status = 0 0x0 NERR_Success
コマンドは正常に完了しました

↓セキュアチャネルが破損している場合の実行結果

PS > nltest /sc_verify:example.com
フラグ: 80
信頼された DC 名
信頼された DC 接続状態 Status = 5 0x5 ERROR_ACCESS_DENIED
信頼の確認 Status = 5 0x5 ERROR_ACCESS_DENIED
コマンドは正常に完了しました


ではどうするかというと、一旦ドメイン抜けて再参加というのも一つの解ではありますが、
「一時的でもGPOが外れたら困る」とか
ドメイン参加は管理者しかできないようにしてる」
ドメインを抜けるとどこに影響するか分からず不安」
といった場合もあると思うので、PowerShellのTest-ComputerSecureChannelコマンドで修復することをお勧めします。以下手順。

セキュアチャネルを修復する

PowerShell 3.0以降の環境が必要ですが、Windows 7の場合はデフォルトのバージョンが2.0なので、次のサイトからWMF3.0をダウンロードおよびインストールします。

Windows Management Framework 3.0
http://www.microsoft.com/en-us/download/details.aspx?id=34595

WMF3.0のインストールが完了したら、$PSVersionTableコマンドでPowerShellのバージョンが3.0になっていることを確認します。

PS > $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
3      0      -1  -1


準備が整ったら実際に修復します。
「Test-ComputerSecureChannel -credential ドメイン名\ドメイン管理者ユーザー -repair」をPowerShellで実行します。

Test-ComputerSecureChannel -credential example.com\administrator -repair

すると指定したユーザーで認証を求める画面が表示されるので、パスワードを入力してあげます。
f:id:thdy:20171124130103p:plain

認証が通り修復が完了すれば、PowerShellの画面に「True」が返ってきます。
前述のnltestコマンドでセキュアチャネルが正常になっていることを確認してみましょう。