[Windows] Windows 11 アップデート可否チェック

10月5日からWindows 11の配布が開始されるらしい。

【10/5 提供開始】Windows 11の登場で、どうなるどうするWindows 10 – @IT
https://atmarkit.itmedia.co.jp/ait/articles/2109/09/news021.html

Windows 10からのアップグレードには様々なハードウェア要件があるらしい。自分の常用PCがその要件を満たしているか、Windows Insider Preview PC Health Check Application なるソフトを使って確認してみる。

Windows Insider Preview PC Health Check Application
https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewpchealth

常用PCで動いているWindows 10は64ビット版なので、[64-bit Download] のリンクからインストーラをダウンロードする。

ダウンロードしたインストーラを実行してPC Health Checkをインストールする。

インストールしたPC Health Checkを実行する。

[Check now]ボタンをクリックしてチェック開始。

ほどなく結果が表示される。自分の常用PCはWindows 11アップグレードの条件を満たしているようだ。

[See all results]ボタンをクリックすると、以下のような要件一覧が表示された。

  • This PC supports Secure Boot.
  • TPM 2.0 enabled on this PC.
    TPM: TPM2.0
  • The processor is supported for Windows 11.
    Processor: Intel Core i7-8550U CPU @ 1.80GHz
  • There is at least 4 GB of system memory (RAM).
    System memory: 16 GB
  • The system disk is 64 GB or larger.
    System storage: 500 GB
  • The processor has two or more cores.
    Processor cores: 4
  • The processor clock speed is 1 GHz of faster.
    Clock speed 2 GHz

購入して3年経過したPCだけど、まだ買い替えずに済みそう。

[Windows] WSL2をシャットダウンする方法

WSL2で立ち上げてUbuntu 20.04 LTSを再起動したくて以下コマンド叩く。

ダメだった。どうしたらいいのかググってみると、WSL2の画面ではなく、コマンドプロンプトからコマンドを実行する必要があるらしい。

というわけで、コマンドプロンプト開いてwslコマンドのヘルプを見る。

シャットダウンは –shutdown オプションを付ければ良いらしい。

とりあえずシャットダウンだけ覚えておけば良かろう。再起動は、シャットダウンしてから再びUbuntu 20.04 LTS起動すれば済むし。

参考サイト

WSL:WSL2でディストリビューションを再起動する方法 | もためも
https://motamemo.com/wsl/wsl-tips/wsl-terminate/

[Laravel] Class ‘DOMDocument’ not found 対処法

OSSのCMSを試していたら以下のエラーに直面したので覚え書き。

足りないPHPモジュールを追加して

Apacheを再起動したら直った。

参考サイト

php – Class ‘DOMDocument’ not found – Stack Overflow
https://stackoverflow.com/questions/14395239/class-domdocument-not-found

[Unix] シェルで日本語の表示・コピペを可能にする

自分はサーバーにシェルでログインして、vimでファイルを開いて日本語を直で入力するなんてことはしない。どうしても日本語をいじりたい場合には、ローカルマシンの使い慣れたIMEで入力した日本語をシェルの画面上でコピペする。

だけど、もし日本語をコピペすると壊れた文字が入るような場合には、ターミナルの環境変数を変更する以下の通り必要あり。

参考サイト

CentOS7・日本語の文字化け
http://www.ajisaba.net/linux/centos7/character_corruption.html

[WordPress] アップデート時にFTP情報を求められる場合の対処法

まずはファイルのパーミッションの確認。Webブラウザ経由でファイルを更新するので、Webブラウザの実行ユーザがファイルを更新できなければならない。

パーミッションに問題が無ければ、wp-config.phpの末尾に以下の行を追加すれば解決する、たぶん。

参考サイト

Editing wp-config.php | WordPress.org
https://wordpress.org/support/article/editing-wp-config-php/

[WordPress] xmlrpc.phpは何をしているのか

仕事柄毎日一定時間以上はアクセスログを眺めているが、WordPressサイトで攻撃を受けやすいファイルの1つにxmlrpc.phpがある。このファイルはどんな機能を担っているのだろうか。今更ながら予備知識を入れておく。

xmlrpc.phpの役割

その名の通り、XML-RPC経由でAPIを提供している。XML-RPCは、エンコードにXML形式、転送にHTTPを採用した、RPC (Remote Procedure Call)のプロトコル。XML-RPCのプロトコルでxmlrpc.phpを叩くことでAPIをコールすることができる。

具体的にどんなAPIが提供されているかは、公式サイトに説明ページがある。WordPress独自のAPIに加えて、他ブログシステムのAPIもサポートしているようだ。

XML-RPC WordPress API « WordPress Codex
https://codex.wordpress.org/XML-RPC_WordPress_API

xmlrpc.phpは必要か?

自分のサイトには必要無し。だって、外部からサイトを操作したりデータを取得することはないから。

というわけでブロックしとく

[AWS] EC2/CWAgentでカスタムメトリックスを収集する

CloudWatchで参照できるEC2のメトリックスには、メモリ使用量やボリュームの空き容量など、自分が欲しい情報が含まれていない。これらは、対象のEC2インスタンスでCloudWatchエージェントを実行して、カスタムメトリックスとして取得しなければならない。

以下、CloudWatchエージェントのセットアップの覚え書き。

CloudWatchエージェントのインストール

CloudWatchエージェント設定ファイルの作成

AWS CloudWatch Agent Configuration Managerを使って対話的に作成することができるが、

JSON形式の書式が分かっていれば、エディタで作成することも可能だ。

IAMロールの作成

IAM Management Console

  • Roles
  • [Create role]
  • Select type of trusted entity: AWS service
  • Choose a use case: EC2
  • [Next: Permissions]
  • [*] CloudWatchAgentServerPolicy
  • [Next: Tags]
  • Add tags (optional):
  • [Next: Review]
  • Review
  • Role name: CloudWatchAgentServerRole
  • Role description:
  • Trusted entities: – AWS service: ec2.amazonaws.com
  • Policies: CloudWatchAgentServerPolicy
  • Permissions boundary: Permissions boundary is not set
  • [Create role]

EC2へのIAMロールのアタッチ

EC2 Instances

  • 対象のEC2インスタンスを選択
  • Actions>Security>Modify IAM role
  • IAM role: CloudWatchAgentServerRole
  • [Save]

CloudWatchエージェントの起動

実行されているか確認

これでClouwWatchエージェントは稼働するようになったので、CloudWatchにメトリックスが送られてきているか確認する。

CloudWatch

  • Metrics>All metrics
  • Custom Namespaces
  • CWAgent

参考サイト

CloudWatch エージェントを使用して Amazon EC2 インスタンスとオンプレミスサーバーからメトリクスとログを収集するhttps://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html

CloudWatch エージェントにより収集されるメトリクス
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html

新しいCloudWatch AgentでEC2インスタンスのメモリ使用率を監視する – Qiita
https://qiita.com/hayao_k/items/d983177510b3b3a69561

[ソフト] PostmanからWSL2内のサーバーにアクセスできない

WSL2のUbuntu 20.04 LTSでLAMP環境を作ってウェブアプリケーションをセットアップ。Windowsのブラウザからのアクセスは問題ないけど、Postmanからアクセスすると Error: connect ECONNREFUSED 127.0.0.1:80 のエラーとなる。

散々自分の環境を疑ったけど原因と思しき点は見つからず。

Postmanのコミュニティにあたったら、既に報告されていた。

Error: connect ECONNREFUSED 127.0.0.1:443 – Just getting started – Postman
https://community.postman.com/t/error-connect-econnrefused-127-0-0-1-443/18698

Issueも立っていたので、近い将来解決されることを期待したい。

WSL2, Error: connect ECONNREFUSED 127.0.0.1:80 with Postman, however cUrl returns HTTP200 · Issue #9981 · postmanlabs/postman-app-support · GitHub
https://github.com/postmanlabs/postman-app-support/issues/9981

[Apache] SSL証明書のパスフレーズ入力を省略する

依頼を受けてサーバー構築。SSL証明書が提供されたのでApacheに設定して再起動したら、パスフレーズを聞いてきた。どうやら鍵ファイル作成がパスフレーズ付きで行われたらしい。

依頼元からパスフレーズは教えてもらったけど、Apacheを再起動する度にパスフレーズを入力するのは避けたい。無人でサーバーマシンがリブートされたような場合にApacheが自動起動しないのでは困る。

パスフレーズの入力を省略(自動化)するために、参考サイトの手順に倣って設定する。以下覚え書き。

参考サイト

SSL使用時にApacheの再起動時で必要なパスワードの入力を省略 – Qiita
https://qiita.com/yoshizaki_91/items/26b01edb577861fbcfe6

[Laravel] 常時SSL化する

LaravelのURL取得関数が常に https:// のURLを返すようにする。

参考サイト

Laravelを常時SSL化する(初心者向け) – Qiita
https://qiita.com/Yuhei_K/items/130c8353946b0397154c

LaravelのSSL化対策 │ Webty Staff Blog
https://webty.jp/staffblog/production/post-3209/