カラフルボックスでCGIが動かない時の対処法

どうも、2012年からお世話になったロリポップからカラフルボックスへ浮気中のカナタです。
HTMLタグ打ちサイトの時は月100円のエコノミープランがめっちゃお得で良かったんですが、ワードプレスとなるとやはりスペックが必要になって来ますよね。

カラフルボックスはロリポップのスタンダードプランと同価格帯でSSDのLiteSpeedサーバーが使える為とってもお得。その内レビューしようと思います。

さて、管理中のサイト3件を引っ越し、カラフルボックスからもらえる無料サブドメインで更に一件サイトを立ち上げたのですが、重大(?)な問題が一つ。

スポンサーリンク

perlパスを書き換えてもCGIが動かない

CGIを動かすためには、ソースの一番上にあるperlパスをサーバーに合わせて書き換えてあげる必要があります。
(ちなみにカラフルボックスのperlパスは各種パス一覧によると、/usr/bin/perl です)

ところが、perlパスをロリポップからカラフルボックスのものに書き換えてアップロードし、CGIの動作チェック用ページに飛ぶと、真っ白な背景に英語のエラーメッセージ。(スクショ取り損ねた)
「これを動かすには何とかかんとかが必要」みたいな事を書かれいている様子。

エラーメッセージを翻訳したりググってみたりしてもよく分からず、今まで愛用してきたPNGカウンタを諦め、代用品を探すことに。

しかしアクセスカウンタ自体が既に過去の遺物。
しかも自分の運用方法がちょっと変わっている(それぞれ幅の違うPNG画像を連結して単体画像として出力したい)為、代用品も見つからず。

もうこうなったら自作もやむなしか?と用語やらなんやらを調べている時に、マジで偶然、解決法が見つかりました。

perlパスの下にもう1行記述が必要

cPanelにログインし、ソフトウェア > Perlモジュール へ進むと、下記の記述があります。

Using Your Perl Module(s)
パス内のモジュールを検索する方法を Perl スクリプトに対して指定する必要があります。 これを行うには、スクリプトの始めに以下の 2 つの選択肢のうちのいずれかを追加します:
#!/usr/bin/perl
use cPanelUserConfig;
または
#!/usr/bin/perlml

perlパスだけじゃ駄目やんけ!

ということで、カラフルボックスで自前のCGIを動かしたい時は下記のように記述しなければならないようです。

#!/usr/bin/perl
use cPanelUserConfig;

もしくは

#!/usr/bin/perlml

どうもこれはcPanelの仕様のような気がするので、もしかしたらmixhostやエックスサーバーなんかも同様かもしれません。

何はともあれ、10年かけて育ててきたカウンターが復活できて良かった。

タイトルとURLをコピーしました