Let’s Encryptの証明書更新に失敗していた話

FreeBSDでLet’s Encryptを使ってWebサーバのSSL証明書を作っている。毎回、手作業で行うのはめんどくさいので、cronで自動的に実行させていた。自動更新させていたが、ある日、証明書の有効期限が切れているとブラウザが警告してきたので、調べたところ・・・pkgのアップデートを少し前にやったときに実行ファイルのバージョン(というかファイル名)が変わっていたようで、そのため、cronは実行されるがエラーになっていた模様。ついでにもともとシンボリックリンクだったはずだが、それも消えていた。

もともと実行していたコマンド

/usr/local/bin/certbot renew

今のコマンド

/usr/local/bin/certbot-2.7 renew

凡ミス。pkgをアップデートするときは、気をつけないといけないな。

Windows Server 2019にはブラウザがIE11しかインストールされていない

Windows Server 2019をインストールした。ブラウザを立ち上げようとしたところ、IE11しかインストールされていない。ブラウザのEdgeがインストールされていない。OSの見た目は、ほぼWindows10だが、プリインストールのブラウザはIE11のみ。IE11だと、表示くずれるサイトもあるし、マイクロソフトもIE11を使わないように、と言っている中でのIE11しかインストールされていないというのは、痛い。

Windows Server 2019にEdgeがインストールされていない

G Suiteから「Alert: Spike in user-reported spam」が届いた

G Suiteから、「Alert: Spike in user-reported spam」のメールが届いた。メールを開いてみると、下記のことが記載されていた。

You have an admin alert about Spike in user-reported spam that requires your attention. 
Please view alert details in G Suite Alert Center.

ユーザーからの迷惑メール報告が急増しているときに、このメッセージが管理者宛(管理者宛にメールが届く)に届くようだ。メールにあるリンクを開くと、G Suiteのアラートセンターが開く。迷惑メールの報告者と日付と件名や本文のハッシュだけみることができる。頻度はみれるが、当然、中身は不明なので、注意は促されるものの対応が必要かどうかは、このメールからは判別できない。

WordPressのcocoonテーマでエラーが出る

WordPressのcocoonテーマで、下記のエラーが表示される。

/wp-content/themes/cocoon-master/lib/open-graph.php(356)

調べると、curlを使った処理でエラーになっていた。PHPのモジュールでcurlが入っているかみたところ、インストールされていなかった。FreeBSDのパッケージからcurlのモジュールをインストールして、apacheを再起動した。これで、解決した。

 pkg install php73-curl

WordPressで、xml_parser_create()のエラーが発生した

PHPをPHP5.6からPHP7.3に上げたところ、Wordpressで以下のエラーが発生した。

Fatal error: Uncaught Error: Call to undefined function xml_parser_create()

PHPのオプションで、xmlに関するモジュールがインストールされていないことが原因だった。FreeBSDでパッケージからインストールしているので、下記のようにpkgコマンドでインストール。その後、Apacheを再起動し、無事にエラーは解消。

pkg install php73-xml-7.3.8 

php56からphp73にあげたら、pukiwikiのRSSリーダーでエラー

PHP5.6からPHP7.3にアップデートしたところ、pukiwikiでエラーが発生。このエラーの前に、pukiwikiはPHP7対応版の1.5.2にバージョンアップした。アップグレード用のパッチを当てたが、それでも下記のエラーが発生した。

Parse error: syntax error, unexpected 'new' (T_NEW) in /usr/xxxxxx/xxxxxx/wiki/plugin/rssreader.inc.php on line 56

エラーを調べてみると、PHP7では「NEWで生成されたオブジェクトは参照として代入できない」ので、エラーになっていることが判明。とりあえず、動作するようにしたかったので、参照渡しをやめるようにコードを変更した。

変更した記述は、下記。

   //変更前
   //$r =& new XML_RSS($rdf);
   //変更後 =& を = に変更。エラー原因の参照渡しをやめている。
   $r = new XML_RSS($rdf);

参考

https://www.shirokuma-systems.com/seisaku/wordpress/284.html
https://www.slideshare.net/yohgaki/php56php70

VSCodeのCisco用のコマンドモード

Visual Studio CodeにCiscoのシンタックスを解釈できるようにするExtension。下記のエクステンションのページからインストールボタンを押して、インストールする。

vscode-cisco-syntax
https://marketplace.visualstudio.com/items?itemName=jamiewoodio.cisco

インストール後は、言語モードの選択で「cisco」と指定する。そうすると、Ciscoのシンタックスで色付けなどをしてくれる。

コンフィグをみるときのサポートくらいに使える。

ELB+ACMでSSL通信を行うときのメリット・デメリット

AWSで、SSL通信を行う設定をすることになったので、ELB(Elastic Load Balancer)+ACM(Amazon Certificate Manager)でSSLを通信を行うときのメリット・デメリットを考えてみた。癖はあったけれど、驚くほど設定が簡単。

デメリット

  • ELBのコストがかかる、ELBは従量課金
  • ELB経由で、アクセスするためには、ELBのアドレスをCNAMEで指定する必要がある(ELBのIPアドレスは変動するから)
  • ELBでSSL通信がオフロードされるので、アプリケーション側の対応が必要(Wordpressだと、追加設定必要だった)

メリット

  • ELBがSSL通信の終端になる
  • ELBがSSLのオフロードをしてくれるので、EC2側のSSL設定はいらない
  • EC2にSSL設定をしないので、OpenSSLの脆弱性と闘わなくていい(アップデートの手間が軽減される)
  • Amazon発行のSSL証明書が無料で使える(ELBにはコストがかかる)
  • ELBを使用するので、スケールアウトが用意になる
  • 証明書の設定が簡単にできる(認証キーとかの知識もいらないので楽ちん)

WordPress 5.2.1へのアップデートで不具合

別のサイトで、Wordpress 5.2.1にアップデートしたところ、新規投稿画面と編集画面にアクセスすると、真っ白になるようになった。

Webサーバのログも見たが、これと言ったエラーも出ていない。念のため、Webサーバのサービスも再起動したが変わらず。一応、5.2.1の再インストールも行なったが変わらず。そんなわけで、とりあえず、放置。新しいアップデート待ち。

忘れた頃に、不具合を引くなぁ。アップデートする際には、気をつけた方がよいかも。