⚒️

phpipamでラック文字化け直す(2025)

2025/03/04に公開

Intro

phpipamは公式に日本語対応してくれてるんですが、

Translations:
----------------------------
+ Japanese (ja_JP) translation added;

機能として使う人が居ないのか、Rack図はほかのモダンなもの使うとか、
柔軟さゆえにスプレッドシート系でいいじゃんとなっているのか知りませんが、
Rackの文字が化けます。

結論としては、
究極これで、
フォントが対応してないだけなんですけど、

どこにもまとまってなかったので備忘として手順化しておきます。
(2025年にphpipamの記事ってのもあれですけど。)

環境

phpipamのDocker版
面倒な方はこの方の記事ままでいいと思います。

手順

ここでは、IPAフォントを使う手順とします。(対応していればいいと思うので
選ぶフォントはお好きに。)

  1. fontをゲットします。

ダウンロードはこちらから。
https://moji.or.jp/ipafont/ipa00303/

設置場所は、phpipamのfonts置き場。
コンテナだと

/phpipam/css/fonts/ipag.ttf

になります。

  1. classを直接修正しちゃいます。

変更箇所は以下

/phpipam/functions/classes/class.Rackspace.php
            $textBox = imagettfbbox(12, 0, dirname(__FILE__)."/../../css/fonts/MesloLGS-Regular.ttf", $text);
            $textColor, dirname(__FILE__)."/../../css/fonts/MesloLGS-Regular.ttf", $text);
            imagettftext($img, 8, 0, (int) $x/2, (int) $y/2, $color, dirname(__FILE__)."/../../css/fonts/MesloLGS-Regular.ttf", $text );

/phpipam/functions/classes/class.Rackspace.php
            $textBox = imagettfbbox(12, 0, dirname(__FILE__)."/../../css/fonts/ipag.ttf", $text);
            $textColor, dirname(__FILE__)."/../../css/fonts/ipag.ttf", $text);
            imagettftext($img, 8, 0, (int) $x/2, (int) $y/2, $color, dirname(__FILE__)."/../../css/fonts/ipag.ttf", $text );

※対応してない場合は英語ごと化けるのでフォント変えてください。

  1. 画面戻ったら表示できてると思います。

終わりに

Excel管理を淘汰したくて、やっぱりモダンなnetbox?と思ってちょっと触ってみたんですが、デバイスとかラック管理はnetboxすごくいい(デバイスタイプがちゃんとデバイスタイプとして機能してたり、重さ足してくれるのとか特に感動しました。)なと思ったんですが、

IPについては、
netboxは収容率くらいしかわからないのと、やっぱりphpipamのビジュアルサブネット表示最強だよなと思い、でもRackが文字化けるんだよなーという理解だったんですが、フォント直指定してくれてて助かりました。

物理が多い環境で、モダンなツールに積極的なメンバー多いコミュニティならnetboxって感じなんでしょうけど、クラウド主体だとRackで管理ってピンとこないし、でむしろRack側が遺物側というか、おまけでOK~な感じになること考えると、積極的に管理したいのはやっぱりIP側だと思うので、時点で個人的にはphpipamでいいなぁって感じました。

Discussion