Linux」カテゴリーアーカイブ

システム

最近の投稿

アーカイブ

カテゴリー

apache2 と php を mpm_event + php-fpm に変更

HTTP2 のセキュリティホールが見つかったらしいが、HTTP2を使うためには mpm_event と php-fpm 化が必要らしい。

mpm_prefork の状態では、php は apache2 の中に組み込まれている状態。php-fpm では、apache2 と php は別プロセスで動く状態。

mpm_event + php-fpm の導入

HTTP2 の導入はひとまず置いておいて、mpm_event と php-fpm 化は WordPress のようなものを動かす際には、効率向上のためには有効らしい。ということで、HTTP2 以外を導入。

((( php8.5-fpm が動くように変更 )))
$ sudo apt install php8.5-fpm
$ sudo a2dismod php8.5
$ sudo systemctl start php8.5-fpm
$ sudo systemctl enable php8.5-fpm
$ sudo a2dismod mpm_prefork
$ sudo a2enmod mpm_event
$ sudo a2enmod proxy_fcgi setenvif
$ sudo a2enconf php8.5-fpm
((( /home/*/public_html で php を許可する設定を排除 )))
$ sudo a2disconf php-user
((( apache2 の再起動 )))
$ sudo systemctl restart apache2

Coreutils for Window いいね

https://www.publickey1.jp/blog/26/unixwindowscoreutils_for_window.html

Windows のコマンドラインで、unix 系コマンドを使えるようにする Coreutils for Windows をインストール。wingetを使えば超簡単。

C:\Users\foobar> winget install Microsoft.Coreutils
:
exit # 一旦exitしてからじゃないとPATHが通らない
C:\Users\foobar> ls
Desktop
Documents
Downloads
:

今まで、何度 cmd.exe で ls でエラーと言われたことか…

 

HomeAssistant の CPU 負荷

Dockerのプロセス負荷

サーバのプロセス負荷が先週から高くなり、色々と機能追加で遊んでいる HomeAssistant が原因かと、Docker のプロセス負荷の監視を追加。負荷増加の原因は、止めたと思ってた Homebridge の systemd ファイルの残存で、再起動で再び動いていたのが原因だった。

朝のオートメーションが動かない

朝は、少しづつの頭の目覚めのために、朝イチにテレビをつけている。これまでは、TV のオンタイマーだったけど、HomeAssistant に移行しようとしている。HomeAssistant なら、Web 操作で簡単に、オートメーションのON/OFFが切り替えられる。

んで、オンタイマーを切って、朝のオートメーションに切り替えたが、朝テレビが付いていない。原因の1つとして、HomeAssistant からホスト側に処理を起動する際の ssh コマンドで、ホストキーの確認で yes/no/… の入力待ちになっていたのが原因。ssh コマンドに -o StrictHostKeyChecking=accept-new を追加する。

ただ、この対応処理を加えたのに、今朝も TV が点いていない。 #危うく寝坊するところだった。

ダメ元で -o StrictHostKeyChecking=no にしてみる。

Antigravity CLI のインストール

Gemini CLI を便利に使っているけど、新しく統合化された Antigravity CLI に移行されるらしい。コードも Go 言語による実装となった様子。

インストールは下記の通り

$ curl -fsSL https://antigravity.google/cli/install.sh | bash
:
✅ Antigravity CLI installed successfully at $HOME/.local/bin/agy
Run 'agy' to start the CLI

WordPress 7.0 アップデート

特に、WordPress の追いかけしてないし、メジャー番号が上がるのはちょいと不安…といいながら、バックアップも取らずに更新をポチる。うん、問題なし。

WordPress 7.0リリース候補版4 (RC4版)

HomeAssistant のオートメーション

スマホの Ping(ICMP) の binary_sensor では、スマホがスリープ状態になったりするタイミングがあって、単純な ping では接続/切断が発生して、在宅/外出が正しく検出できない。

Ping(ICMP)の設定には consider_home で『デバイスが応答しなくなってから「切断」と判定するまでの待ち時間』を設定することができるが、エンティティとして扱える binary_sensor には consider_home は効き目がない。調べる中で device_tracker を有効にする必要があることが分かったけど、有効設定の画面にたどり着くのにひと手間かかった。

ようやく、device_tracker が使えるようになり、在宅/外出の判定がうまくできるようになり、オートメーションの設定。

Gemini が automation.yaml で設定する方法を解説してくれたけど、自分が在宅しているかどうかで色々と通知を切り分けたかったので、オートメーションの UI での登録はちょい悩んだけど…

オートメーションの例

UIで設定した結果を、YAML形式で表示

# shell_command.sh_mail_notify_message   - メールで送る shell_command
# shell_command.sh_google_notify_message - Google Home で話させる shell_command
alias: とーるの帰宅/外出を通知
description: ""
triggers:
  - trigger: state
    entity_id:
      - device_tracker.iphone_xxxx
conditions: []
actions:
  - action: shell_command.sh_mail_notify_message
    metadata: {}
    data:
      to: t-saitoh
      message: >-
        とーるが
        {% if states('device_tracker.iphone_xxxx') == 'home' %}
        帰宅/{{ now().strftime('%H:%M') }}
        {% else  %}
        外出{{ (now() - timedelta(seconds=450)).strftime('%H:%M') }}
        {% endif %}
  - if:
      - condition: state
        entity_id: device_tracker.iphone_yyyy
        state:
          - home
    then:
      - action: shell_command.sh_google_notify_message
        metadata: {}
        data:
          message: >-
            とーるが
            {% if states('device_tracker.iphone_xxxx') == 'home' %}
            帰宅
            {% else %}
            外出
            {% endif %}
            しました
mode: single

Homebridge2 はまだ早い?

homebridge2.0 が正式リリース

Homebridge の最新の homebridge2.0 が正式リリースとなった様子。

早々に更新をかけたけど、Homebridge People Pro とか Homebridge Cmdswitch2 などのプラグインが対象外となったようで、更新して起動したら、プラグインが動かず、バージョンを元に戻した。

更新してしまうと、自宅サーバでは Homebridge People Pro を活用して、在宅 / 外出の判定に使っていたのが動かなくなる。HomeAssistant に移行すればいいんだけど、私,ママ,こども,洗濯機などの監視だと、オートメーションの設定がかなり煩雑になる。

当面は、Homebridge 1.11.4 のままで運用かな。

snap refresh のトラブル

Ubuntu 26.04 をいれて、snap store につながらなくなり、snap refresh が動かない。

この2日間ほど色々と原因を探していたが、原因不明。マニアックな自宅ネットワークの設定不備を疑って悩んでた。でも、ややこしくない根っこのルータに直結して実験してもつながらない。ということは自宅ネットワークのトラブルじゃない…と確信できたんだけど、そのあと数分後に(何もしてないのに)動き出す。なんだかなぁ…

2026/05/03

Ubuntu への DDoS 攻撃が出ているらしい。snap も影響うけてたんだろうな。

spamhaus のDQSキー取得

spamhaus はパブリックDNSを拒否

自宅メールサーバでの運用で、spamassassin などの設定をしていても、迷惑メールがそれなりに届く。

傾向としては、Google や Amazon のクラウドサーバから、SPF や DKIM を正規に取得した使い捨てドメインから送られてくる。このため、OpenDMARC などを設定してもダメ。Gemini に聞いたら、使い捨てドメインからの RBL のデータベースが得意な、spamhaus を薦めてくれる。

ただ、spamhaus は、以前にも設定したけど問い合わせを拒絶されたので、設定から外していた。改めて確認すると spamhaus は、無料サービスだけど大量の問い合わせをさばききれないので、8.8.8.8 や 1.1.1.1 のような パブリックDNS を経由した問い合わせには、答えを返さない運用をしているらしい。私の拒絶経験もコレが原因。

んで、色々調べると、無償サービスだけどユーザ登録して DQS キーを使えば、パブリックDNS経由での問い合わせでも拒否されないらしい。(最初、ユーザ登録とか嫌いなので、パブリックDNSを使わないキャッシュDNSサーバを立てようか…とも思ったけどシステムが複雑になるだけ)

spamhaus のユーザ登録とDQSキー生成

spamhaus の登録ページにアクセス(Spamhaus DQS Sign Up )し、DQS キーの発行を行う。

postfix に登録

postfix の main.cf の smtpd_recipient_restrictions に 以下のように登録。xxx…xxx の部分に発行した DQS キーを記載する。

((( /etc/postfix/main.cf )))
smtpd_recipient_restrictions = permit_mynetworks,
                permit_sasl_authenticated,
                reject_unauth_destination,
                reject_rbl_client xxxxxxxxxxxxxxxxxxxxxxxxxx.zen.dq.spamhaus.net=127.0.0.[2..11],
                check_policy_service unix:private/policy-spf,
                permit

追記 2026-05-07 spamhausの効果覿面

spamhaus を RBD に登録してから、効果覿面。使い捨てドメインからのメールがきれいさっぱり止まっていて、最近は spam なしが続いている。

Ubuntu 26.04 で独自パッケージ設定が無効化

Ubuntu 26.04 をインストールしたら、nodejs, vscode, google-chrome などの インストール用の設定が無効化されている。まあ、競合する可能性あるだろうし、無効化されても文句はいえん。ということで、設定のやり直しをして、古い sources.list を削除

((( node.js )))
$ curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
$ sudo apt-get install -y nodejs build-essential

((( vscode )))
$ curl -fsSL https://packages.microsoft.com/keys/microsoft.asc \
  | sudo gpg --dearmor -o /usr/share/keyrings/microsoft.gpg
$ sudo apt install code

((( google-chrome )))
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$ sudo apt install ./google-chrome-stable_current_amd64.deb

((( 古い sources.list を削除 )))
$ cd /etc/apt/sources.list.d/
$ sudo rm *.distUpgrade

((( パッケージ更新の確認 )))
$ sudo apt upgrade -U

Google 検索

My Google   Yahoo

Microsoft

ファンサイト

メタ情報