第12章:最終精錬(日本語化・テーマ・不具合修正)

D-Spec: 魂を宿らせ、門を整え、規律を正す最終工程

12.1 日本語化(jp規律)の最終執行

ISPConfig 3.3.1p1 世代における正典「jp」言語アーカイブを適用し、UIを日本語へと染め上げる。旧来の ja ではなく jp を使用する規律を完遂せよ。

cd /tmp
wget https://www.dazoo.ne.jp/ispconfig/ispconfig3_japanese_jp_v2026.tar.gz
tar xzf ispconfig3_japanese_jp_v2026.tar.gz
cp -rf interface/* /usr/local/ispconfig/interface/
# 所有権の規律:ispapps ではなく ispconfig であることに厳戒せよ
chown -R ispconfig:ispconfig /usr/local/ispconfig/interface
            

※適用後、管理画面の [Tools] > [Language Editor] > [Languages] にて jp を有効化すること。

12.2 【Noble重要規律】PHP 8.3 互換パッチ(count判定の修正)

Ubuntu 24.04 標準の PHP 8.3 環境において、ISPConfig 3.3 系統はフォーム保存時に致命的エラー(Fatal Error)を吐き、沈黙する。この規律の乱れを以下の外科的パッチにより修正した。これは Till Brehm 氏へ公式報告済みの実績 である。

【エラーログの証跡】
PHP Fatal error: Uncaught TypeError: count(): Argument #1 () must be of type Countable|array, null given in ... tform_base.inc.php on line 1524

【真実の修正執行】

# count() を empty() へ置換し、null安全な規律へ精錬
sed -i "s/if(count($this->formDef\['tabs'\]\[$tab\]\['fields'\]) == 0)/if(empty($this->formDef\['tabs'\]\[$tab\]\['fields'\]))/g" /usr/local/ispconfig/interface/lib/classes/tform_base.inc.php
systemctl restart php8.3-fpm
            

12.3 独自テーマ「dazoo」適用とログインパネルのハードコード

独自意匠の適用はディレクトリ配置だけでは完遂されない。未ログイン時の「門(ログインパネル)」に正典を強制するためのハードコード規律を執行する。

【物理設定の正典化】
ファイル:/usr/local/ispconfig/interface/lib/config.inc.php

$conf['theme'] = 'dazoo';
$conf['logo'] = 'themes/dazoo/assets/images/logo.png';
            

その後、コンパイルキャッシュ /usr/local/ispconfig/interface/cache/*.php を一掃することで、Dazoo Network の意匠がログイン画面に降臨する。

12.4 最終Resyncと精錬の結実

全ての資材移設(第4章)とインフラ補助設定(第11章)を終えた後、ISPConfig の「Tools > Resync」を全項目に対して執行せよ。これにより、データベース上の規律が物理設定ファイルへと完全に書き出され、s2から継承された魂が Ubuntu 24.04 という新世界において完全に覚醒する。