Ubuntu 26.10 への更新(mariadbトラブル)
Ubuntu 26.10 の公開に合わせて、自宅サーバの do-release-upgrade -d を実行してみた。
約3000パッケージほどが更新されたが、upgrade 時点では大きなトラブルなく終了&再起動。
mariadb の修復
しかしながら、再起動後に wordpress が定番の”データベース接続確立エラー”で動かない。Apache,PHPなどは普通に動いているようなので、困った。
トラブルが次々発生したけど…
- 更新作業中に既存の設定ファイルを残す方針で更新をしたため、mysqlからmariadbの移行が中途半端だったので /run/mysql を参照する設定になっていた。パッケージの設定ファイルを更新パッケージ付属の mariadb の純正の設定ファイルに変更し、mariadb がひとまず起動。
- しかしながら event や proc などのファイルが壊れていたり整合性のエラーで正常起動状態にならず、Gemini に聞きながら、壊れている関連ファイルを削除し、mariadb の再起動で関連ファイルを修復し、ようやく mariadb が正常起動。
- でも、接続確立エラーがでたけど、最後に wordpress の DB_HOST の設定が localhost になっていたものを 127.0.0.1 に変更したら wordpress が正しく動くようになった。
確認作業
その他の機能は、nagios4 とかで確認すると、正常に動いているように思える。メールの送受信あたりがややこしいけど、Gmail 間で送受信ができたので大丈夫かな。
更新時に、dmarc-cat や nodejs などの PPA の設定で入れたものが動かなくなるかも… との警告が出てたけど、更新後にパッケージなどで残っているので、ひとまず大丈夫っぽい。
我が家で大活躍している、HomeAssistant も正常に動いている…たぶん…これからの運用でトラブルが見えてくるかもしれないけど、26.10 を危険覚悟で入れたのだから仕方がないだろうな。
PPAパッケージの復活
do-release-upgrade の際に無効化されていた、/etc/apt/sources.list.d/ 配下の PPA パッケージは、更新時に “Enabled: no” にされていたけど、改めて “Enabled: yes” に変更し更新の有無を確認。
タグ,カテゴリに noindex を追加
情報探しで、自分のページが google 検索で表示されることがあるけど、記載ページ以外にタグ・ページやカテゴリ・ページが重複して表示されることがある。
タグ,カテゴリに noindex
無駄な情報が表示されないように、noindex, follow(記事を検索結果に表示させないけど、続けて検索を許す) のタグを入れる処理を追加する。(といっても gemini のアドバイスをまとめただけだけど)
WordPress 管理画面で functions.php を編集
- WordPress 管理画面の [外観] > [テーマファイルエディター]
- 「テーマファイル」一覧から [テーマのための関数 (functions.php)]
/////////////////////
/// functions.php ///
/////////////////////
/**
* カテゴリ,タグ等 に noindex を追加
*/
if (!function_exists('add_custom_noindex_tags')) {
function add_custom_noindex_tags() {
if ( is_tag() || is_search() || is_date()
|| is_404() || is_author() || is_category() ) {
echo "\n".''."\n";
}
}
add_action( 'wp_head', 'add_custom_noindex_tags' );
}
WordPress プラグイン Postie のトラブル
WordPress も 8月に 7.1 系にアップグレードされたけど、この1年ほどは大きなトラブルもなく更新がでたらポチるだけの安定運用。
Postie のトラブルと更新
ただ、今日は Postie の更新が来ていたので更新をかけたら、起動しなくなった。安定実績のあるプラグインが動かなくなるのは久々だな。
ひとまずは、plugins ディレクトリに入って mv postie postie.disabled で一旦無効化させる。
確認すると、この数日で 1.9.82,83,84,85,86 と微妙に更新がかかっているなか、「注意: このプラグインは現在使用中の WordPress バージョンではテストされていません。」となっている。変な動き…ではなく、WordPress の起動さえ邪魔するようなトラブルは珍しい。
WordPress 本体の更新を確認すると、WordPress 7.1.1 が 9/17, 7.1.2 が 9/22 に自動更新かかっているなぁ。
(2026/09/24 追記)
新しく更新が出たようなので、元に戻して更新で無事復帰。
同様のトラブルが職場の WordPress でも発生。休み明け早々の朝イチ仕事で対応(済)
(2026/09/24 追記2) WordPress 7.1.2 で深刻な脆弱性の修正
HomeAssassinにHomeKit Bridgeを登録
iOS27 で Siri AI が強化され、改めて iPhone のホームアプリを使いたくなってきた。
以前は、HomeBridge を使っていたけど、連携などの問題で HomeAssassin に移行したうえで、HomeBridge はお役御免としていた。となると、HomeAssassin で連携させたい。Gemini で聞いてみたら連携機能があるな。
HomeKit Bridgeのインストール
『設定 – 統合を追加 – Apple – HomeKit Bridge 』にて、iPhone ホームアプリ用の QR コードを生成させ、iPhone で読み込ませたら、連携ができた。(統合追加で “Apple – HomeKit デバイス” との勘違いに注意)

動作テスト (9/23追記)
iPhone(iOS27.2β1) の Siri に「リビングの照明を消して」としたら、ちゃんと消してくれた。でも、Apple Watch だと「リビングルームには電力を制御できる照明はありません」と言われる。微妙だな。
次に、複合技の実験で iPhoneで「リビングの照明を1分後に消して」としたら、「ホームハブの設定が必要」とのエラーメッセージ。この機能は、Google の Gemini for Home だと、一応動いてくれる。でも、設定に失敗したりすることもある多い微妙な機能だし、Siri だと動くかなと期待したけど残念。

readynas の運用開始と DNS,DHCPの多重運用
NETGEAR の ReadyNAS Pro 2 を入手。readynas の 正規 OS は、バージョンが古く debian ベースの でも samba などが古いプロトコルしか使えないので、便利な使い方ができない。
このため、Serial ポートを使って debian/forky をインストール。
サーバを運用していると、ネットワークの設定を間違って DNS, DHCP を止めてしまうと、自宅ネットワークが全滅する。 Raspberry-Pi で DNS セカンダリサーバなどを動かしていたけど、この readynas のサーバで多重サーバ構成にしたい。
DNS のキャッシュサーバ運用
まずは、DNS (bind9)のセカンダリ運用。
((( /etc/bind/named.conf.local )))
zone "tsaitoh.net" {
type slave ;
file "db.tsaitoh.net.slave";
masters {
192.168.xx.yy;
};
};
((( /etc/bind/named.conf.options )))
acl internal-network {
::1;
127.0.0.1;
192.168.xx.0/24;
};
options {
directory "/var/cache/bind";
forwarders { 192.168.xx.yy; };
allow-query { internal-network; };
allow-recursion { internal-network; };
dnssec-validation auto;
listen-on { any; };
allow-transfer { none; };
};
DHCP のホットスタンバイ運用
続いて、DHCP の多重化。最近まで isc-dhcp-server を使っていたけど、kea-dhcp4-server に切り替えていたが、kea-dhcp4-server では、hot-standby 構成を組めるので、設定。2台の DHCP サーバは、8000 ポートで相互に死活状態を確認し、相手が機能していないと、自身が DHCP 処理を行う。
((( /etc/kea/kea-dhcp4.conf )))
"hooks-libraries": [
{
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_lease_cmds.so",
"parameters": { }
},
{
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_ha.so",
"parameters": {
"high-availability": [ {
"this-server-name": "プライマリホスト名", // セカンダリの設定ではセカンダリホスト名を記入
"mode": "hot-standby",
"heartbeat-delay": 1000,
"max-response-delay": 10000,
"max-unacked-clientsets": 5,
"peers": [
{
"name": "プライマリホスト名",
"url": "http://192.168.xx.yy:8000",
"role": "primary"
},
{
"name": "セカンダリホスト名",
"url": "http://192.168.xx.zz:8000",
"role": "standby"
}
]
} ]
}
},
],
これで、メインサーバにトラブルがあっても、自宅内ネットワーク全滅は避けられる。
chronyからntpd-rsに変更&断念
タイムサーバーを ntpsec から chrony に変更したけど、最近は Rust で作られた ntpd-rs がある。
ただし、現時点では正式の time-daemon のパッケージではないため、Gemini の指示にしたがいインストール後に ntpd-rs を正式 time-daemon に見せるダミーパッケージをインストール。
ntpd-rs の設定
設定ファイルは、ntpsec や chrony に比べてシンプル。
$ cat /etc/ntpd-rs/ntp.toml
[observability]
log-level = "info"
observation-path = "/var/run/ntpd-rs/observe"
# 近い信頼できるNTPサーバ (通常のUDP NTP)
[[source]]
mode = "server"
address = "ntp.ttn.ne.jp"
[[source]]
mode = "server"
address = "ntp.nict.jp"
[[source]]
mode = "pool"
address = "jp.pool.ntp.org"
count = 2
# Use NTS by default (セキュアなNTSサーバー)
[[source]]
mode = "nts"
address = "1.ntp.ubuntu.com"
[[source]]
mode = "nts"
address = "2.ntp.ubuntu.com"
[[source]]
mode = "nts"
address = "ntp-bootstrap.ubuntu.com"
[[source]]
mode = "nts"
address = "time.cloudflare.com"
[[server]]
listen = "[::]:123"
[[server]]
listen = "0.0.0.0:123"
[synchronization]
single-step-panic-threshold = 1800
startup-step-panic-threshold = { forward="inf", backward = 86400 }
$ ntp-ctl status
Synchronization status:
Dispersion: 0.000082s, Delay: 0.015811s
Stratum: 2
Sources:
1.ntp.ubuntu.com:4460/185.125.190.122:123 [NTS] (8): -0.009390±0.497491(±0.247497)s
poll interval: 16s, missing polls: 1
root dispersion: 0.000626s, root delay:0.005386s
NTS cookies: 7/8 available
2.ntp.ubuntu.com:4460/185.125.190.123:123 [NTS] (9): -0.007995±0.005547(±0.232832)s
poll interval: 16s, missing polls: 0
root dispersion: 0.000717s, root delay:0.005508s
NTS cookies: 8/8 available
:
ntpd-rs のサーバ化で断念
ntpd-rs は正しく動いているけど、自宅内ネットワークで動機させるためのサーバ機能が動いていない。
Servers:
0.0.0.0:123: received 0, accepted 0, errors 0
denied 0, nts nak 0, rate limited 0, ignored 0
[::]:123: received 0, accepted 0, errors 0
denied 0, nts nak 0, rate limited 0, ignored 0
“$ sudo ss -anup | grep :123″などを実行したけど、0.0.0.0:123 などが見えない。ntpd-rs がサーバ機能を動かしていないみたい。現時点では ntpd-rs ダメだな。今回は 断念。chrony に戻す。
isc-dhcp から kea-dhcp に移行
職場の自室で運用している Debian/trixie を forky に移行したら、isc-dhcp-server が使えなくなっていて、ネットワークが全滅。kea-dhcp に移行で、ひと手間かかった。
isc-dhcp-server は、基本的な開発は打ち切られていて、同じ開発元(ISC)が新たに開発した DHCP サーバが kea-dhcp で、kea-dhcp4-server, kea-dhcp6-server のパッケージが配布されている。
自宅サーバは、isc-dhcp-server で運用しているけど Ubuntu 26.04 では、まだ使用可能。でも、isc-dhcp-server は、そろそろ限界かな。kea-dhcp に移行しよう。移行についてメモを残したけど、我が家の場合は hw-address から ip-address を固定するための設定の方が、ちょいと手間。
kea-dhcp4-server の設定
一般的な設定の部分は、デフォルト設定を書き換えただけだけど、DHCPによるPROXY自動設定が若干手間がかかった。
"Dhcp4": {
"option-def": [
{
"name": "auto-proxy-config",
"code": 252, # 間違って"252"って書いたのが失敗の原因
"type": "string",
"array": false, # 間違って"false"って書いたのが失敗の原因
"record-types": "",
"space": "dhcp4",
"encapsulate": ""
}
],
"option-data": [
:
{
"name": "auto-proxy-config",
"data": "http://192.168.xx.xx/proxy.pac"
}
],
HTTP2 の導入
HTTP2 Bomb のセキュリティ対応が apache2 – 2.4.66-2ubuntu2.2 で対応済みみたいなので、HTTP2 を導入。
HTTP2を導入するにあたり、mpm_event , php-fpm の設定が必要だけど、別途設定済み。
$ sudo a2enmod http2 $ vi /etc/apache2/site-enabled/010-default-ssl.conf ((( 追加 ))) Protocols h2 http/1.1 $ sudo systemctl restart apache2
なんかページ表示が速くなった気がする。
HTTP2 接続ができるか確認する Webサイトで、HTTP2 が確認できた。
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 # 以前、自サイト用の設定がトラブル $ sudo a2enconf userdir # 最近は userdir.conf を有効にするだけ ((( apache2 の再起動 ))) $ sudo systemctl restart apache2
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 にしてみる。
