RaspberryPIを復活しようかな

メールの設定が終わった。

まだ、いろんな自動運用のレポートをメールで送らせるとか

やることはあるんだけど、gmail で暗号化した状態で送受信できているし、

たぶんセキュリティ的にもある程度配慮できていると思う。

いったんはメール絡みのタスクは保留にして、

 

自分ポータルサイトの作成をやっていきたい。

とはいっても、今回はちょっと開発環境にこだわりたい。

 

VPSを使えるようになったからVPS上のVPNに開発サーバを用意したい。

社会人をやっていると自分プロジェクトのコーディングできる時間が限られているため、コーディング(リーディング)するまでの時間を極限まで短くしたい。

 

で、常時接続のサーバ用マシンを用意したいが、やっぱり、うるさいマシンというのは正直常時起動サーバでは絶対やりたくなくて、自室にPCを置く以上、サーバマシンにファンレスは必須だとさえ思っている。自宅サーバに関して言えば、AtomファンレスSSDとかがちょうどいいけど、見当たらないのでRaspberryPIを復活しようかと思う。

 

調べたらバージョン 1Bというちょっと古いヤツとりあえず、PIユーザのパスワード変更とかufw のインストールとか、そのあたりからやっていこうかなと

postfix の設定

サーバ環境にあげる前に、ローカル環境で試行するのは大事なことだと思うけど

ある程度は実環境でやるしかなく、かといってPort全開はおそろしいため

Wireguard接続が大いに役に立った。

 

今のところ外向けにはポートはすべて閉じられていて、

Thunderbirdで自ホスト間でのメール送受信ができるようになったところ。

 

次やるべきところは、

LetsEncryptのdeploy-hookにsystemctl restart postfix dovecotを入れる。

メールユーザの整理(メール専用ユーザ(webmaster兼、postmaster兼、sitemaster兼…俺ユーザ)の追加)

フィルタリングをいい感じに(ウィルス撲滅、スパムフィルタ)

メールサマリのメール送信、

自作の証明書更新スクリプトの更新サマリのメール送信

 

という感じかな。

次にこのサイトのトップページを作っていこうかと思う。

httpsのみで公開でいいかなと思っていて、

簡単な自己紹介と手がけたオレオレプロジェクトを羅列、もし技術がマッチしたとき用のお問合せフォーム(無いだろうけど)を設置するだけの簡単なお仕事思案中。

DELL Inspiron 1720のメモリ増設

今さらのネタ。

 

Dell Inspiron 1720というのはいにしえのCore2duoマシンで、

メモリが2GしかないくせにWindows10で何やら大変に遅かったので

amazon で怪しいDDR2SODIMMメモリ2Gx2(2400円位)を購入して差し込んでみた。

一瞬スロットが1個しか見当たらないので焦ったが、キーボードの下にもスロットがあって無事4G認識した。

 

このレベルの拡張は性能がギリギリな分、効果がはっきりと体感でわかる。

で、なんだ?ってレベルだけど、ゴミレベルの価格で遊べるのだから、パソコンを趣味とするやつにとっては意味がある。

このマシンを購入したときの価格で4Gを積もうとすれば一体何万円必要だったかを考えると豊かな気持ちになれるしさ。

 

結果、メモリ不足によるもっさり感はかなり改善した。

今までは、ストレスを感じて何もできなかったが、

今は音楽を聴きながら putty とかでサーバコンソールとして使うには全然ありかなというレベルまでは改善した。たぶんExcelなんかもある程度いけるだろう。

できることが少ない分かえって用途を絞れば作業に集中できるかもしれない。

こういうゴミマシンをときどき使うのは良いかも。

 

OSが32bitなので3.5GBまでしか使えていないようだが、一応は今の段階では問題ないレベルだし、Linuxがちゃんと動くメモリが確保できたのもうれしい。

Let's encrypt 設定完了

Let's encrypt の設定が完了した。

mail.example.com

example.com

みたいなのふたつの証明書を取得し、

cronに更新スクリプトを書いておいた。

普通のcertbot-autoを呼ぶけど、

その前にファイアーウォールが閉じている(DENY)とき

ファイアーウォールでポート80/tcpを開放(ALLOW)する処理と

httpdが上がっていないときはlighttpd を起動する処理を入れた。

また、失効が怖いので、毎日起動はするが証明書の残期限が28日以上あるときはcertbot-autoすら呼ばないで終了するようにした。

現状運用中のhttpdは無いため、処理が完了したときはファイヤーウォールをDENYに再設定してlighttpd は stopするようにしている。

いずれサービスを開始した時点でこの無効化に関する処理は取り除けばよいかと思う。

さて、次はpostfix の設定をしようかと思う。

証明書の日付を自前で確認してなにがしの処理をする方法

いろいろ考えたんだけど、下記の感じでどうだろうか。

local diffUpdate=`openssl x509 -in /etc/letsencrypt/live/$1/fullchain.pem -noout -enddate | sed -e's/^[^=]*=//g' | xargs -I{} date --utc +"%s" --date="{}" | xargs -I{} echo "{}" "-" $(date --utc +"%s") |perl -e "print eval( <>);"`

if [ 24192000 -gt ${diffUpdate}0 ] ; then
echo "28日以内"
fi

最初にopenssl x509 で終了日付を取り、dateコマンドで、ctimeに変換した後、

本日日付のctime を取得して減算する数式を作り、perl で eval という感じ。

最後のif は 2419200が 28日の秒数表現で、最後に0を付加しているのは、diffUpdateが空文字でもこけないカラクリ。

 

以上

Windows 10 32bit 2Gメモリ のバージョンアップ

1709で更新が止まっていたので、バージョンアップ中(っていっても自動ダウンロードするまで放っておくだけど)

f:id:nurarihyong:20200601075855j:plain

おっそい!

でも古いPCに電源入れるのってちょと楽しかったりする。(かといって使うのは苦痛なんだけど)

 

しかし、昔はこのレベルのPCでも快適に使えていたハズでどうしてこうも遅くなってしまったんだろう。

 

今このレベルのPCで活用方法があるとすればGUIとDBは捨てなければ快適になれない気がする。

リモートデスクトップのクライアントとして使ってみても遅かったこれは通信速度によるものなのかこのPCの限界なのか。

バージョンアップが終わったらディスプレイ(プロジェクション設定)として活用できるか調べてみよう。

lighttpd で certbot

lighttpd は インストール済み

ポートは15080に設定 (lighttpd.confのserver.port = 15080)

さくらのVPSのコンパネでパケットフィルタを利用している場合TCP15080を開放する。

$ sudo ufw allow 15080/tcp

$ sudo sytemctl start lighttpd.service

$ wget http://[idaddress]:15080/

でindex.htmlが取れること確認

certbot-auto certonly --webroot -w /var/www/html -d ホスト名 --http-01-port 15080

 

→ダメでした。

現象から言うとport15080 じゃない 80のファイル存在を確認しに行って、time out->ギブっていう流れ。たぶんこれは意図した動作だろうからやむを得ない感じ。

 

結論

lighttp を使うのはたぶん問題ない。

だけどもポートを変更した状態で新規の認証は取れないか、もしくは沼。

更新はできるかどうかわからない。

 

追記。

port 80で取れるか実験

 

$ sudo systemctl stop lighttpd.service

/etc/lighttpd/lighttpd.conf の server.port を 80に戻す

$ sudo ufw deny 15080/tcp

$ sudo ufw allow 80/tcp

さくらのVPSのコンパネパケットフィルタPort80TCP解放

$ sudo sytemctl start lighttpd.service

 $ certbot-auto certonly --webroot -w /var/www/html -d ホスト名

→おめでとうが出る。

結局 certbot用Webサーバを別インスタンスにしたところで何のメリットもないことが分かった。

 

完全に失敗の記録だが、失敗する理由が知りたいというか忘れちゃうこともあるのでブログの記事としては置いておく。

 

以上