ラズパイ3のセットアップ(7) (e) メールの設定とログの監視

監視に定番の logwatch を導入するにもメールの発信ができなければ意味がないので、メール機能を設定しようと思います。単独で機能するメールサーバーではなくて私が普段利用している @Nifty のメールサーバーへのリレーで外部のメール先に送信するような設定にしたいと思います。
話がそれますが、昨日までの設定で、サーバー間で接続認証してデータ転送できる環境になっています。過去には公開Webサーバーとして使用していた家屋内の共有サーバーですが、今でもバリバリの共有サーバーとして稼働しています。何が問題かと言うとカーネルバージョンが古くてセキュリティアップデートや動作ソフトの新たな変更もできません。最新の Linux を導入するには共有データを全て別に移して作業する必要があります。
お互いのサーバー間(現役共有サーバーとセットアップ中のラズパイ3)で接続できるように公開鍵を設定して、rsync コマンドで全データを転送させています。現時点ですでに100GB超が転送されて継続中になっています。
話を戻しますが、サラリと簡単に言ってますがメールの設定は良くわからなくて得意ではありません。今公開しているこのWebサーバー自体の設定がまともに機能しているようなので、ほとんど丸写しで設定しようと思います。昔は適当な設定でも @Nifty 経由でメール転送できたのですが、悪い人達のツールにされて、今では送信時に認証が導入されてしまった【Outbound port 25 Blocking (OP25B) 対策】ので、そのプロセスの定義が必要になってしまっています。
後で自分で見直した時にも参考になるようにリンクしておきます。
OP25B問題と対策を図で説明してくれてるサイト
それと、変更箇所の適切な説明をしているサイト

それではメール設定の作業を始めましょう。 postfix だけを指定してインストールしようとしたら多くの提案があったので、その中から思い付きで関連しそうな予想のものを追加しておきます。

$ sudo apt install postfix sasl2-bin postfix-doc openssl-blacklist

インストール途中で、postfix をどのようにインストールするのか質問されるが、結果の違いが良くわかっていないのでインターネットを選択しました。動作実績のある設定をコピーしてカスタマイズするので特に問題はありません。
設定が必要なファイルは、master.cf と main.cf 、それと @Nifty にリレイするのでパスワードが必要になります。
パスワードのファイル名は任意ですが、後でわかる名前にしておきましょう。ここでは nifty.auth としておきます。

$ sudo vi /etc/postfix/nifty.auth
[smtp.nifty.com]:587 userid:password

その後で、hash化されたDBに変換します。

$ sudo postmap /etc/postfix/nifty.auth

Screenshot from 2016-08-31 00-03-12
適切な設定なのかはわかりませんが、次に示すのが main.cf と master.cf の一応動作している設定です。
main.cfmaster.cf
続いて mail のコマンド操作ができるようにして、テストメールを送信してみます。作業を root ユーザーになってから進めようと思います。

$ sudo su -
# apt install mailutils
# vi /etc/aliasesScreenshot from 2016-08-31 01-20-54

/etc/aliases の設定を有効にします。

# newaliases
# systemctl reload postfix.service

コマンドを利用して、 root ユーザーから pi ユーザーに簡単なメールを送ってみます。

# echo test | mail -s 'postfix test' pi

pi ユーザーへのメールは、@Nifty の私のメールアドレスへ転送するように設定しているので、正常に機能すれば転送されてきます。転送された内容を確認すると送ったメールの内容に間違いないことがわかります。
Screenshot from 2016-08-30 23-34-31
メールの転送機能が確認できたので、logwatch をインストールします。

# apt install logwatch

問題がなければ 1日1回のログのレポートが送られてきますので、待つことにします。
それと今まで利用してこなかった監視ソフトとして logcheck と言うのがあるようで、すでに1度インストールしていて、メールで頻繁に通知されてきたのを経験しています。せっかくなのでインストールしようと思います。

# apt install logcheck

使い方がよくわからないのでネット検索してみるとドキュメントの日本語化したものらしいのが見つかりましたが、その説明と実際にインストールされたものの構成が大きく異なっているようです。Webサーバーの apache2 でもRedhat系と Debian / Raspbian 系では構成や操作の作法に大きな違いがあるようなので、 logcheck も同様に構成や作法に違いがあるのでしょうね。ディレクトリの構成を次に示しますが、そのディレクトリ内に定義のファイルが多数置かれているようです。今は余裕がないのでそのままスルーしておきます。
Screenshot from 2016-08-31 23-06-34
送られてくるメールを次に示します。監視結果は logcheck 宛にメールされるのですが、/etc/aliases に定義はしていないのですが、問題なく私宛にメールが届きます。カラクリはわかりませんが未定義はroot に送られるのでしょうか。
Screenshot from 2016-08-31 23-07-58

 
話が変わりますが、共有データのサーバー間転送は継続したままです。 現在転送量が、180GBを超えたところです。 ほぼ 4秒のインターバルで 4MBずつ増加しているので、約1MB/秒 なので、開始から丸2日程度なのかな、もう少しで送り終わるだろうと思います。

ラズパイ3のセットアップ(6) (d) 仮想端末の整備

ラズパイ3もルートファイルシステムのハードディスクを変更したら安定しているように見えます。やはり問題はハードディスクのようです。
リモートからのパスワード無し接続ができるようになったので、次はターミナルソフトの整備だろうと思われます。仮想端末と呼ばれるジャンルに、 byobu / tmux / screen と言ったソフトがあって、byobu は tmux や screen のラッパープログラムとして機能するようです。
何が便利かと言うと、 ssh 等で直接リモートログインした状態で、そのままサーバー側のコマンドを利用して処理を行っていると何かの要因で通信路に障害が起きて、セッションが切れると実行中の処理も異常終了してしまうと思いますが、これらの仮想端末を利用して処理していると仮に通信路で障害が発生しても、再接続するだけで元の処理は継続して実行したままなので途中の経過表示も含めて元の続きを継続できます。
メリットを言い換えると、時間のかかる処理をリモートサーバー上で起動しておいて、操作するクライアント側では電源を落とす等の方法で接続を切ってしまい、時々接続して途中経過を確認したり、時間を置いてから最終結果の確認だけを行うことも可能になります。それと、複数の ssh 接続が必要なことも時としてありますが、例えば速度が遅く不安定なインターネットを経由した先のサーバー接続等を考えた場合には、直接の接続セッションは単一なのに複数の仮想端末内で色々な処理を並行して実行できるのは安心感があります。
そんな訳で byobu を導入します。一般的に byobu は通常 tmux を伴って仕事をするのですが、私の場合は昔から screen を利用していた経緯があって、他に設置のサーバーでも byobu と screen の組合せで稼働しています。混乱を防ぐためにも今回のラズパイ3も、この組合せで設定することにします。
これらの仮想端末ソフトには、その先にある操作目的のソフト、例えば bashにコマンドとして、そのまま文字を送る等以外に、手前にある仮想端末自体を制御するためのコマンド文字が存在します。例えば、新しく仮想端末を開いたり、実行中の仮想端末の画面を別のものに移動したりするのですが、エスケープ文字と呼ばれています。これが統一されているわけではなくて色々なので変更して統一しておかないと支障が出ます。

ソフトの導入と設定を始めます。

$ sudo apt install screen byobu

一度 byobu を起動すると .byobu ディレクトリが作成されます。
byobu の終了は、[F6]キー押下です。

$ byobu
[F6]

仮想端末を制御するエスケープ文字は、色々な意見があるのですが、emacs を使用していない私ですが、’Ctrl + b’ に変更しようと思います。
byobu 関連のコマンドにどのようなものがあるのか確認するため、byobu[Tab][Tab] キー を打鍵してみます。

$ byobu[Tab][Tab]
byobu byobu-janitor byobu-quiet byobu-status
byobu-config byobu-keybindings byobu-reconnect-sockets byobu-status-detail
byobu-ctrl-a byobu-launch byobu-screen byobu-tmux
byobu-disable byobu-launcher byobu-select-backend byobu-ugraph
byobu-disable-prompt byobu-launcher-install byobu-select-profile byobu-ulevel
byobu-enable byobu-launcher-uninstall byobu-select-session byobu_prompt_status
byobu-enable-prompt byobu-layout byobu-shell byobu_prompt_symbol
byobu-export byobu-prompt byobu-silent

まず screen のエスケープ文字を変更することにします。多分設定ファイルは、.byobu/keybindings だろうと思います。

$ vi .byobu/keybindings
source $BYOBU_PREFIX/share/byobu/keybindings/common
bindkey "^A"
escape ^Bb

続いて byobu のエスケープ文字を変更しますが、どのファイルなのかわからないので、直接 byobu を立ち上げて [F9] で変更用のダイアログを表示させ、3番目の ‘Change escape sequence’を選択します。そして入力欄に ‘b’ を打鍵します。

$ byobu
[F9] 表示されたダイアログの3番目を選択 [↓][↓]
'Change escape sequence' を選択して [Enter]
'b' を打鍵して [Tab] で、<Apply> を選択して [Enter]
[Tab]<Exit> を選択して [Enter]
[F6]

そして byobu の裏で screen が動作するように変更します。

$ byobu-select-backend

Select the byobu backend:
  1. tmux
  2. screen
Choose 1-2 [1]: 2

これで screen と連携した byobu の設定が完了しました。
操作した感じでは問題なさそうです。
ただし、このままでは sshでリモートログインしても自動的に byobu は起動しないし、 byobu を終了しても sshのログインのままになります。
sshリモートログインで byobu が自動的に起動して、 byobu の終了で自動的に sshのセッションも切断するように変更します。

$ byobu-enable

自動的に起動しないように戻すには、 byobu-disable コマンドを実行します。

 
これで仮想端末の設定は完了です。

ラズパイ3のセットアップ(5) (c) エディタとリモート接続の整備

次に利用が多い vimエディタの整備を行います。

vimエディタのフルセットをインストールします。

$ sudo apt install vim

シンタックスカラーリングを有効にしておきます。
19行1桁目のコメント を取り除きます。

$ sudo vi /etc/vim/vimrc
......  ......
" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
syntax on
" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
....  ....

 
次にリモートログイン関連の整備を行います。

常用しているノートPCからの ssh リモートログインのために公開鍵を設定します。
方法は、リモートで操作されるサーバーであるラズパイ側のpiユーザー.ssh/authorized_keyの中に、リモートで操作する側(常用しているノートPC)常用ユーザー公開鍵を追加します。

$ cat .ssh/id_rsa.pub   ....(常用しているノートPC側)

ssh-rsa AAAAB3NzaC1......AABAQDGfuahG9gbZlZk.........UfIO4hqf7uQJif/c1FPGwQYkGT7VAiksrtyBTOSEe/iWLfeVwjlS..........AkyAVJZKp0p/g+zO............9yF5+b6K9KP+mEXC.......w7HDsaif user@note-PC

追加する方法には色々な方法が考えられますが、文字列をコピーして viエディタで単純に追加編集する方法を示します。

$ vi .ssh/authorized_key   ....(操作される側のラズパイ)
......    ......
ssh-rsa AAAAB3NzaC1......AABAQDGfuahG9gbZlZk.........UfIO4hqf7uQJif/c1FPGwQYkGT7VAiksrtyBTOSEe/iWLfeVwjlS..........AkyAVJZKp0p/g+zO............9yF5+b6K9KP+mEXC.......w7HDsaif user@note-PC
....  ..   .....

 
そして次に動作検証を行います。

公開鍵が追加できたなら、公開鍵と秘密鍵で認証が行われることを確認します。

$ ssh pi@raspberrypi3
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Aug 28 20:21:10 2016 from note-PC
$

sshでの公開鍵認証ができたなら、ネット上からのアタックでパスワード認証での不正ログインを防ぐために、パスワード認証を禁止します。

$ sudo vi /etc/ssh/sshd_config
....  ..  .....
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no
.......    .....

公開鍵と秘密鍵のペアでなければ接続できないことを確認します。 (publickey)

$ ssh root@raspberrypi3
Permission denied (publickey).

 

システム障害発生(2016-08-25 15:45頃)

本日(2016-08-25 15:45頃)、公開サーバーが障害でサービスに支障が出ていたので、再起動を行いました。

未だに原因は分かっていません。ssh のリモートログインも出来なくなっているので、動作状況も残されたシステムログ程度しか無いのが現状です。しばらくは再起動後の様子を見ているだけで、有効な対策が打てそうにありません。
いつでも交換ができるように、代替機を考えて、現在はラズパイ3を設定している最中ですが、できるだけ急いで仕上げておく以外に方法が無さそうです。
今後もシステム停止が頻繁に発生しそうです。
ご迷惑をお掛けしますが、宜しくお願いします。
 

ファスナーってみんなが苦労している?

還暦はとっくに超えている私ですが、ファスナーってどこにでも身近にあって、沢山触れているのに気に留めたことがありませんでした。
ファスナーが締まりづらかったり、スライダーを滑らしても前後が別れたまま閉じなくなったり、不具合に遭遇することは度々ありました。 でも、まっYKKじゃないからなっと頭をよぎり深く考えることはありませんでした。 昔からYKKの文字が入っているファスナーでは不具合の記憶や経験がありませんが、これだけ身近に溢れるファスナーが全てYKKのはずもなく、不具合も仕方ないことだと思っていました。
ところが妻が昨日、百円均一のダイソウで平べったいポーチのようなものを購入してきたのですが、作りや構造を気に入ったようで携帯電話を含む貴重品類を中に入れて仕事に出掛けました。そして帰ってきて気落ちしたように「昨日買ったのもうダメになった」と、放り出すように取り出しました。
話を聞くと、ファスナーが開いたままになり中に入れてたものが下に落ちて、全く使い物にならないとのことです。 安い物だし購入したのは少し離れている店なのでわざわざクレームで訪れるのも無駄な気がするとのことなので、…どれどれと私がじっくり観察することとなりました。
昨日現物を見た時にも少し気になっていたのは、ファスナーのスライダー部分を見た時に一部に何かで潰したような傷跡があったのですが、不具合のファスナーをまじまじと見ると納得しました。スライダーと出入りするリボン部分には隙間が多くて、咬み合わないような状態でもスライダーが動いてしまうのが原因のようです。そして気になっていた傷はその隙間を少し潰して狭くしていたようです。
潰して隙間を狭めているのに不具合が起きているのは、片側だけは狭められているのに、対になる反対側の隙間が広くてスースーに通り抜ける状態で咬み合せることができないのが原因らしい。今まで興味がなかったのでスライダー部分の金属は硬いと思い込んでいましたが、真鍮か何かのかなり柔らかい金属で、ペンチやプライヤーで挟んだりすると潰れたり傷が付くようです。
少し潰しすぎて隙間が狭くなったのでスライドが固くなったようですが、これでファスナーの機能としては問題が無いようです。自分でスライダー部分を初めて調整してみて思うことは、今までファスナーの不具合で捨てたものも直せたのかもしれないと今では考えています。
そこで、ファスナーの不具合をキーワードにしてネットを検索してみると、色々な人が調整する方法を写真入りで説明しています。なるほど身近なファスナーだけに考えるところはあるのですね。
頭をよぎったYKKも確認してみました。今もスライドファスナーを製造しているようですね、ウィキペデイアには、世界シェアの45%だとか、窓などのサッシ類の広告で、YKK APとかも目にしますが、同じグループ企業なのですね。

久しぶりにラズパイとLCDで遊んでます

今回はラズパイについてです。
ラズパイは当初の想像を超えた大きなブレイクが起こり、今ではネットに多くの情報が溢れ、本屋さんにも書籍が溢れるようになって、関連する周辺機器やオプションも日増しに開発されるようになったのが Raspberry Pi です。 そして、私もご多分に漏れず最初に国内販売された黎明期の入手難な時期から触れているのですが、未だ有用な実用製品として活用もできないまま役立っていません。
それには私の力量不足に多くの問題があるのですが、ただ発売初期の頃のスペックではクロックも低く、非力なシングルプロセッサでメモリも少なく、あまりにも非力過ぎて何をさせるにも役不足の印象でした。
それが時間に追われたままの生活でしばらく離れていると、なんとマルチプロセッサとなり処理能力が改善された Raspberry Pi 2 が公開されて、さらにはWiFiやBluetoothを搭載して性能を上げた Raspberry Pi 3 なる製品も出荷されました。
小さのものから大きなものまでディスプレイ等の周辺機器も次々に開発されています。2年近く前に日経Linuxの記事で紹介されていたaitendoの安価で小さなLCD(液晶ディスプレイ) 2.2インチ液晶モジュール(240×320/SPI)[M-TM022-SPI] を購入して、セットアップしてみて表示ができることを確認しました。 ただ、システムのメインのディスプレイ装置としての利用を考えた場合には、頻繁に提供されているセキュリティアップデート等の実施でカーネルのバージョンやレビジョンのアップが発生した時点で、そのままではその後の表示ができなくなくなります。
今回は、Raspberry Pi 3 の購入と併せて、保護ケースと3.5インチディスプレイとタッチパネル等がセットになっている製品を amazonで購入しました。 ちなみにそのキットに書かれた情報を記述しておきます。『Kuman 3.5インチ ディスプレイ タッチパネル Raspberry Pi 3B 2B/B+/A+ /A/B/Zero に適用 320*480 解析度 保護ケース ヒート ¥ 3,200』20160819_135344-320x180
組み立てた製品イメージは、透明な箱の蓋の部分にLCDモニタが収まっているような形状です。ただし、箱とLCDは一方向に寄ったコネクタで結合しているだけで、コネクタの反対側は空中に浮いたような不安定な構造です。何らかの方法でコネクタの反対を固定する必要があります。
製品群の中には添付のCDが入っていて、その中にたぶんマニアルや専用OSのLCDドライバが組み込まれた Raspbian が micro SDのイメージで入っています。これを使うとシステムが簡単に立ち上がり、そのままデスクトップイメージを表示できます。ただし、実用的に使うためにはセキュリティアップデートや新しいソフトの追加が必要ですが、そこで表示をしなくなります。それに日本語表示の追加等も必要ですよね。でも新しくなったカーネルに何をすれば表示できるようになるのかがわかりませんし、CD内を端からチェックするような時間の余裕もありません。
そこでネットを検索してみました。すると運良く同じLCDを扱った記事が見つかりました。さらに記事の中には最新のドライバのリンクもあり、利用する手順も書かれています。http://www.waveshare.com/wiki/3.5inch_RPi_LCD_(A)
LCD-show-160811.tar.gz をダウンロードして解凍し古いものと入れ替えました。内容について見比べると大きく更新されているようでした。ここに書かれた手順に従って実行すると再び表示できるようになりました。

./LCD35-show

hdmi コネクタに接続したテレビをモニタにするように戻すのも簡単なようです。

./LCD-hdmi

説明によるとモニタを90度づつ回転させることもできるようです。

懐かしい名水

久し振りの独り言です。昨日もらってきた珈琲ゼリーを食べました。
繁忙期の短期派遣で、家から近い少人数の会社に一月ほど通ってます。人数が少ないので社長以下 正社員や、派遣も含めて全員の顔と名前が分かる会社です。今日から夏休み期間で9日間程休みになります。
多分出本は御中元だろうと思いますが、冷蔵庫に入っていて「長期の休みになるから食べてない人は持ち帰って」との工場長の言葉で存在を知り、昨日もらってきました。
他にも冷や麦 1束と350ml 缶ビール1つをお裾分けとして持ち帰りました。ビールは昨晩遅くにオリンピックを見ながら空けました。
普段はあまり口にしないのですが、持ち帰った珈琲ゼリーを食べてみました。普段食べなれていないので、他の物との味の違いは分かりませんが、容器に書かれていた文字に何となく目をやり釘付けになりました。

黄色い北海道の絵柄の横に名水 珈琲ゼリー「羊蹄ふきだし湧水でつくりました。」環境庁名水百選の文字も並びます。製造は虻田郡京極町の工場のようです。

何故目が止まったかと言うと、昨年の秋にここの道の駅に長期でお世話になっていたからです。多分珈琲ゼリーは売店にも置かれていたのかも知れませんが、立場が異なる目線からは見えていなかったのだろうと思います。

どんな経緯からの御中元かは知りませんが、意外に世間は狭いのだと思いました。まだ体力に自信が持てる間に再び羊蹄山を登りに訪れたいと希望を抱いています。

観光バスがひっきりなしに訪れる場所で、苔が美しい透き通る湧き水が溢れるように流れ出る素晴らしい所です。定期的に清掃業者が管理しているようです。

私の写したここの写真も公開しているので、興味のある方は2015年秋の該当の写真を見てください。

システム障害発生、頻度が高いですね

公開しているサーバーで、本日(2016.07.05)の午前中にシステム障害が発生しました。システムの最立ち上げで復旧しています。
過去の発生も含めて、原因の特定には至っておりません。Webに訪れていただいている皆様には大変ご迷惑をお掛けしています。
自分でリモート操作中に理解できない不穏な動きを確認して、状況を調べていましたが、Webサーバーとしての機能停止やSSH接続ができない状況でした。
当初は判断がつかずに、勘違いかなと考えていて復旧が遅れたことをお詫びいたします。携帯メールを確認すると以前に仕掛けた障害検出メールが多数送られてきていました。
原因もわからず障害頻度も高くて心配ですが、様子見で経過を見守りたいと思います。
以上

群馬の高崎駅前でOSC開催

オープンソースカンファレンス(OSC)って知ってますか、私は日頃無料で利用させていただいているDDNSである MyDNS.JPシステムから送られてくるメールで、時々OSC の開催記事を目にしていたので、全国各地で開催されているのを知っていました。
近い所では、東京で過去に何度か開催されています。以前は東京まで通勤していたのですが、今の私には旅費も距離も東京は遠い存在になってしまいました。 そんな訳で、まだ一度もOSCを訪れたことがありません。
そして今回、オープンソースカンファレンス2016 Gunma が高崎駅前のヤマダ電機で開催されることになったようです。過去のことを把握しているわけではありませんが、たぶん群馬では初の開催だろうと思います。
OSCは、オープンソースに色々な立場から関わっている人達の集いだろうと理解しています。何の貢献も出来ずに一方的にお世話になっているだけの私ですが、近い高崎で開催されるので動員数を1人増やすだけでも微かな貢献かなと思い参加することにしました。

日程:2016年5月14日(土) 10:20-17:40(展示は10:30~17:00)
会場LABI1 高崎 4F イベントホール  (JR高崎駅 徒歩1分) 
    [アクセスマップ]
費用:無料
内容:オープンソースに関する最新情報の提供
   ・展示 - オープンソースコミュニティ、企業・団体による展示
   ・セミナー - オープンソースの最新情報を提供
主催:オープンソースカンファレンス実行委員会
後援上毛新聞社
   株式会社エフエム群馬
   株式会社ラジオ高崎
   群馬テレビ
   まえばしCITYエフエム
会場協力:株式会社ヤマダ電機
企画運営:株式会社びぎねっと

当日は、セミナー展示ブースがあるようです。各セミナーは 10分程度の時間なので内容の触りだけだろうと思いますが、いくつかのテーマは私にも興味が湧くようなもので、とても楽しみです。

東武ワールドスクウェアに行った

4月24日の日曜日に、東武ワールドスクウェアに行ってきました。
快晴を期待しましたが、あいにくの曇天でした。初めて入園でしたが楽しい半日を過ごせました。
写真も写したのですが、展示物が多くて手抜きで間引いても、かなりの枚数になってしまい、まだ整理が出来ません。
普段の入園料金なら躊躇してしまうのですが、今回は101円で入れました。
もう少し安ければ時々行くのですが、ちょっと高額ですね。展示物は細かくて良くできていて感心します。維持にも経費が掛かるのである程度の金額はやむを得ないのかなとも思いますが、難しいですね。
来年も開園記念日に行ってみたいです。