そういえば脆弱性

WordPressの初期設定をしたばっかりだが、そういえばWordPress関連の脆弱性は結構な数があったような気がする。
とうことで、その他のアプリケーションも含めて、チェックしてみました。

まず、WordPress:
開発元の情報だと5.1.1が最新で、5.1以前は脆弱性ありということ。
https://wordpress.org/news/2019/03/wordpress-5-1-1-security-and-maintenance-release/
https://wpvulndb.com/vulnerabilities/9230
 → これに関しては対処済みで問題なし。

https://wordpress.org/news/category/releases/
 → 2019/4/24時点のリリース状況だと、近く5.2が出そうだが、脆弱性的にはどうかは不明。ただし、バージョン番号のつけかたからすると、
つぎのSecurity Releaseは、5.1.2か、5.2.1だろう。

プラグイン:WordPress関連ではプラグインの脆弱性が多数報告されている。
https://jvndb.jvn.jp/search/index.php?mode=_vulnerability_search_IA_VulnSearch&lang=ja&useSynonym=1&keyword=WordPress
https://nvd.nist.gov/vuln/search/results?form_type=Basic&results_type=overview&query=WordPress&search_type=all
→インストールしたプラグインも一通り確認して対処済みであることを確認した。

何度も見て回るのは面倒なので、定期的に自動チェックしてメール通知するとか、検討してみよう。

とりあえずチェックするサイトはつぎや開発元サイトにする。
https://nvd.nist.gov/vuln/search
https://jvndb.jvn.jp/index.html

太陽光発電について

2013年に導入した太陽光発電システムについて書きます。最近の話の前にこれまでの運用状況です。
一言でいうとおおむね順調です。導入当初に設定した6年で投資額を回収する計画をほぼ予定通り 達成しています。 導入システム選定はこの投資回収期間の最小化を指標として機器選択をしています。
この投資金額は補助金等を考慮した実質の投資金額で算出しています。買電単価は42円/kWhでした、最近は 買電単価や太陽光発電システムの価格が下がってきているので、投資回収期間がどれくらいなのか わかりませんが、現時点で投資回収期間を6年くらいにするのは難しいと思います。

 これまでの、太陽光発電システムのトラブルは、導入後3か月で発生したパワコンの故障が一番大きいものでした。
たまたま見たモニタの発電量の数値が小さめであったことで気が付きました。4.4kWと5.5kWの2台のパワコンがありこのうち4.4kWのほうが故障していました。
このため、モニタ上の発電量は”0”になるのではなく通常の60%くらいの数値でした。もちろん発電量は天候によって 変化するので最大値の60%程度の発電量しかないことも普通にあるので、発見できたのは運が良かったかもしれません。
といっても、過去データを解析すると(ロスした期間はしたのとおり)、実際に故障してから発見するまで2週間経過していました。そして修理(パワコン交換)まで1週間ほどかかりました。 

 この復旧までの期間を短くするため、この判定アルゴリズムを組み込んだアラートメールと、定期的にアラートメール自体の 稼働監視用のメール通知をするシステムを構築しました。
 そして、上のトラブル以降は、パワコンの故障は発生することなく現在に至っております。
パワコンの故障以外に気になる事象(別の機会に書きます)が発生しており、アラートの仕組みの再構築を検討中です。

6月7日 100%
6月8日 57%
6月9日 62%
6月10日 57%
6月11日 68%
6月12日 67%
6月13日 66%
6月14日 61%
6月15日 72%
6月16日 71%
6月17日 68%
6月18日 61%
6月19日 56%
6月20日 54%
6月21日 59%
6月22日 80%
6月23日 64%
6月24日 65%
6月25日 61%
6月26日 91%
6月27日 100%
6月28日 100%
6月29日 100%

phpからpython起動

ローカルマシン上で動かしているpythonのコードを、サーバー上に移行することを検討中です。 現在、Jupyter Notebook(iPython Notebook)を使っていて、この環境向けに書いたコードを定期的に起動して、データ収集と解析を行っています。現状は、実行するときは手動でJupyterを起動して、操作しています。 この手間を何とかしたいわけです。

まず、pythonコードをPHPから呼び出す方法を確認。 いくつかのサイトに記載があり、つぎの2つの動作確認はすぐにできました。

「phpからpythonを呼び出し、実行結果を取得、表示」
「サーバー側でPythonスクリプトを動かし、結果をクライアント側に表示する」

ただ、numpyをインポートする単純なコードだと、phpではpythonの出力文字列を拾えない状態になった。上の2つ目のコードに順に追加していくと問題なく動作し、前の問題を再現できていない。 

1つめのコードに1行ずつ追加して問題発生有無をチェックしていくと、2バイト文字を含む行を追加した時点で問題が発生することが判明した。 そして、2つ目のpythonコードと比べて、
2つ目のpythonコード の1行目「#-*– coding: utf-8 -*-」が効いていた。 これを1つめのコードに反映して問題が解決した。 この行の記述のとおり2バイト文字はここで指定した文字コードで保存しないと文字化けする。
↑そもそもPHPでエラー出力を拾えるように細工しておけば、原因はすぐに分かったはずだが、 久しぶりに触ると.やはりだいぶ忘れてます。

つぎはJupyter Notebookのコードを移植していきます。

あっという間にディスクフル

そんなに大きなファイルを保存したはずもないのにディスクフルになることはないですか?

上は空き確保の対処後の状態ですが、まだまだ改善の余地なりの状態です。 ポイントは、保存したファイルの総サイズが255GBなのに対して、ディスク上のサイズは595GBという点です。実利用率は42%ほどにとどまっています。つまり、60%もの領域が使えない状況なのです。 

 この事象を発見した当時は、” 保存したファイルの総サイズが5GB程度なのに、4TBのHDDを使い切っていました。ディスクの実利用率は0.1%とひどい状況でした。原因はHDDの1ブロックのサイズが128MBと大きいのに、細かいサイズのファイルを大量にxcopyでバックアップしていたからでした。昔は512Byteとか4kByteだったので、何の問題もなかったのだが…。

バックアップの仕方を、圧縮したファイルを転送するようにバッチを変更しました。 ただ、たまに古いバッチが動いているようだ……。探して処置しないと… 

 それから、Windowsのイメージバックアップが1つのファイルで、1.6TBもある、OSなどバックアップ対象にしたファイルサイズはこんなに大きいはずはないのに。 バックアップの範囲内に、外部へのシンボリックリンクがあるような気もする… これも再確認が必要だ.

今日は、トマト1株追加…だけ

今日は、キャベツとレタスの苗を植え付ける準備のため2畝つくるつもりでしたが、雑草を根っこから除去するのに手間取りました。まだ雑草の処置ができていないので、耕せる状態にもなっていない。

苗の成長が早くなっているので、1株のトマトは来週まで植え付けを待てそうにないので、この1株だけは定植した。 キャベツの苗もこの状況だと来週には植え付けしないといけない状態になる。 しかし、今のペースで雑草除去していると終わりそうにない。来週は、表面の雑草の層をホームセンターで売っている芝生ようにとりあえず薄く削って山積みにする暫定処置にしておいて、畝つくりに集中することにする。 一部の温度計(外の気温を測っているもの)が29度を超えていた…。暑さとの戦いも始まってしまった…..。 

トマトの植え付け

本日ようやくトマトをボットから植え付けました。 去年の雑木林状態(下の写真)からだいぶ進んだ感はありますが、まだまだ草との戦いは始まったばかりです。10年以上放置状態だったので雑草や木々の蔓や根っこを除去するのはなかなかほねがおれます。ここ3ヶ月ほどは植物の活動も止まっていたのでトマトを10株ほど植えることができるレベルまで来ました。しかし、耕作可能地の1割も片付いていない。まだまだ雑草除去しないといけない。そんなことをているあいだに、自然は取り返しにくる….。 

2019年1月4日時点

20年ほど前は雑木もなくきれいな状態だったが、10年ほどあまり手をかけれていない、それでも毎年それなりに剪定や雑草除去はしていたが、ここまで荒れしまっていました。

phpで動的に変更

久しぶりの、php。。。  だいぶ忘れている。 旧サイトで書き溜めたノウハウDBは一部壊れているので、ここに書き留めておきます。

リクエストパラメータを取得する
   ⇒PHP で URL パラメーターから値を取得する方法
  

ファイルの読み込み、書き込み
→ PHPでファイルの読み込みをする主な4つの方法
→fopen関数から始める!ファイルの読み込み・書き込み方法【PHP入門】

アクセスカウンターを追加する
 上のファイル更新で実現できるが、他のサイトのものを利用
→ アクセスカウンター(無料版)テキスト版、画像版

とりあえず、以上。順次追加する予定

サイトをカスタマイズしてみた

WordPressの初期設定だといろいろ気持ちが悪い見栄えになっているので、カスタマイズする。 (この メモ描き始める前に処置したところもあります。。。)

  • 「メタ情報」と、一般人には何のことだかわからない表示が出る…      

ログインなど一般的は不要な項目だけなので「メタ情報」 の部分全体を削除します。⇒メタ情報を編集する方法

  • コンテキスト名(ホスト名の次の階層の名称)を変更する

デフォルトだとコンテキスト名が「wordpress」になっているので、これを変更する。 ⇒ WordPressのサイトアドレスを変更する手順

上のリンク先は、
「wordpress」 を”なし”に変更する前提の記述なので、「WordPressのサイトアドレスを変更する手順」の手順2と 「インストールディレクトリを変更する手順」の手順3は微修正、この変更は不要..

また、 アクセス制限をかけていると「インストールディレクトリを変更する手順」の設定変更と順番が微妙に難しい。順番を間違えると、アクセスできなくなる。 SQL叩いてDBを直接更新すれば復旧はできます(できました)…

ファビコンを指定する。 
サイト自体のファビコンは指定しているが、wordpress用の設定を行う。→ WordPressでファビコンやアイコンを設定する方法 https://www.blogging-life.com/how-to-add-favicon-to-wordpress-site/

 サイズは小さいが既存のファビコンを配置した。 後日更新しよう…

サイト更新再開のお知らせ

サイト更新再開のお知らせ
サーバマシンの故障に伴い運用停止し、2016年5月にクラウド環境に移行してメール環境のみ復旧しておりましたが、サイト更新を再開します。 過去のコンテンツは残っているものものありますがとりあえず古いので公開せずにおいておきます。もしもどうしても参照したいなどの要望があれば公開を検討しますのでコメントをお願いします。