bashを用いてSlackへメッセージを投稿する

という処理を実現するためにIncoming Webhooksという機能を使うようである。作業の大筋はこういう具合である。

  • Slackアプリを作成
  • Incoming Webhooksを有効にセット
  • ワークスペースへのアクセス許可を付与
  • 動作確認

Slackアプリを作成

まずナイスな緑のボタンをクリックすることでSlackアプリを作成するページへアクセスする。アプリに名を与え、活躍の場となるワークスペースを選択する。アプリ名はのちの変更が許されているから、命名に何時間もかける作業を先送りにできる。ワークスペースはあとから変更が効かないから勢い慎重にならざるを得ない。

Incoming Webhooksを有効にセット

アプリをこしらえるとBasic Informationのページへと遷移する。そうしたら「Add features and functionality」の中にある「Incoming Webhooks」をクリックする。ここにIncoming Webhooksを有効にするスイッチがあるから此れをクリックしてOnへと変更するのである。

ワークスペースへのアクセス許可を付与

Incoming Webhooksが有効にセットされるとページの下部にcurlのサンプルコマンドなどが現れる。此処で「Add New Webhook to Workspace」ボタンをクリックすると、アプリに対してワークスペースへのアクセス権限を許可する画面へと移るから投稿先のチャンネルを選択して「許可する」ボタンをクリックする。

此れによって遂に具体的なWebhook URLが誂えられる。Webhook URLは余所の人の悪用を避けるために内緒にせねばならない。あとはこのURLに対してJSON形式でメッセージをPOSTすることでSlackにメッセージを投げつけられるようになる。curlコマンドによるサンプルもこしらえてくれるから気軽に動作確認もおこなえる。

動作確認

サンプルのcurlコマンドを実行して、設定したワークスペースのチャンネルに対してメッセージが正常に投げかけられたら「ok」と表示される。スマートフォンにSlackを導入して良しなに設定を施してあれば通知もやってくる。

通知がやって来ないときはSlackの「おやすみモード」がオンになっていたりスマートフォンの省電力設定が妨害していることもあるから「通知のトラブルシューティング」を実施してみるのがよろしい。そうしてようやっと望んだ動作が手に入ったのである。

参考:
Sending messages using Incoming Webhooks

Slackを始める

暇のかかるなにがしかの処理が完了した報告や障害・異常の検知を、スマートフォンにインストールしているSlackへ投稿して通知が来るようにしたい。と企ててから随分年月を経てしまったのでいい加減取り組むものである。其れにはSlackを始めない事には話にならない。

まずはSlackを始めるページへアクセスして「+Slackワークスペースを作成する」という文言をクリックする。

メールアドレスを打ち込み「確認する」をクリックすると入力したアドレス宛に確認コードのメールが送られる。

確認コードを見届けたならば入力欄へ打ち込んでゆく。最後の数字を入力した時点で検証が自動的に始まる。検証に成功すると新たにページが遷移する。

社名やチーム名の入力を促される。これはワークスペース名になるという。省略は許されないから、気の利いた名前をつけ「次へ」をクリックする。

次にプロジェクト名を入力する。これはチャンネル名のことであった。これも割愛はできないため、気の利いた名前をつけて「次へ」をクリックする。

メールを一番送信する相手を聞かれるけれども、登録してもしなくともよかった。一先ず「後で」を選択して先へ進むと、チャンネルが出来上がったと大盛りあがりするページへ行くから「Slackでチャンネルを表示する」をクリックして無事、Slackの世界へ足を踏み入れることになった。

WordPressをインストールする際に現れる幾つかのエラーを対処する

OS: Red Hat Enterprise Linux Server release 7.8 (Maipo)
Apache 2.4.6 / mysql 8.0.19 / PHP 7.3.17
WordPress 5.4

WordPressについて次のような具合でインストールが容易であると喧伝されている。

WordPress is well-known for its ease of installation. Under most circumstances, installing WordPress is a very simple process and takes less than five minutes to complete.

だのに大急ぎで構築を仕上げねばならないときに限って次々とエラーに見舞われてちっとも5分以内じゃ成し遂げられないことが相次ぐものである。その上、少し間が空いてしまうと解決に導いたエラーの記憶がすっかりと抜け落ち再び同じ内容に悩まされて貴重な時間を浪費するからいい加減、文章として残しておこうというものである。

一番目に直面するのは「お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。」というエラーメッセージである。此れはphp-mysqlndパッケージが不足している為に発生するものであるからRemi’s RPM repositoryの辺りからサッとインストールして終いである。

$ sudo yum install --enablerepo=remi-php73 php-mysqlnd
$ sudo systemctl restart httpd.service

次に立ちはだかるのが「データベース接続確立エラー」というやつである。MySQL8系が導入されている環境であって、ユーザー名とパスワードに間違いがなくてホスト名も正しくMySQLが動作しているにもかかわらずこのエラーが出現するなら十中十一程度の割合でMySQLの認証プラグインが原因であるとおもう。

この当て推量を確かなものにするため wp-config-sample.php をコピーして wp-config.phpを拵え、WP_DEBUG の値を true に置き換えてDEBUGモードを有効にし、改めてインストールを試みてみるとこうである。

The server requested authentication method unknown to the client と云うのだからもうすっかり裏付けが保証されたものである。こうなればユーザの認証プラグインを mysql_native_password に変更すれば問題が解消される。

mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'p@ssw0rd';

最後は「wp-config.php ファイルに書き込みできません。」 というものでインストールディレクトリのパーミッションに特段の問題が無いのにこういった訴えを受けた場合はSELINUXを無効にセットすると解決する。

$ sudo vi /etc/sysconfig/selinux
#SELINUX=enforcing
SELINUX=disabled

$ sudo reboot

こうしてインストールはつつがなく完了するようになった。

NoMachineの自動スクロールする領域を変更する

OS: Windows 10 Pro Version 1909
NoMachine for Windows 6.9.2

デフォルトの設定ではウィンドウの隅から40px内の領域へカーソルが侵入すると自動でスクロールが開始されるけれども、予期せず反応してしまって腹が立つこともあるから此の領域を狭めたいものである。

公式サイトによると設定ファイル %userprofile%\.nx\config\player.cfg にあるキー Automatic viewport scrolling sensitive area size の値を変更することで制御できる模様である。

NoMachineを停止させてから値を編集して保存する。ひとまず値を十分の一の4にセットした。

NoMachineを起動して具合を試したことろ反応する範囲が相当狭まって概ね満足である。

参考:
2.5. Scrolling Settings for Viewport Mode

新規作成メニューにある無用の項目を削除する

OS:Windows 10 Pro Version 1909

右クリックメニューの新規作成からビットマップイメージやリッチテキストドキュメントを生成したことが未だ嘗て無い。誤操作のもとであるから此れらを削除する。

レジストリエディタを起動して HKEY_CLASSES_ROOT を選択すると配下に数多の拡張子が羅列されているから削除を望むものを選択する。リッチテキストドキュメントであれば .rtf という具合である。この中にある ShellNew という名のキーを削除、乃至はリネームする。

リネーム前
リネーム後

変更は瞬く間に反映されてリッチテキストドキュメントの項目がすっかり削除された。

この調子でビットマップイメージ(.bmp)とショートカット(.lnk)も削除してやるとこういう具合である。大変清々しい心持ちである。