この記事は最終更新日から1年以上が経過しています。情報が古くなっている可能性があります。
いつも使わせて頂いている KENT-WEB さんの 夢カウンタ (DreamCounter) は Perl の Image::Magick というモジュールを使っているそうなんですが、
別のサーバーで夢カウンタを使おうとした時にいつも Image::Magick がないとエラーが出てしまい、入れるにしてもどう入れたか忘れてしまうのでメモ…
入れ方
sudo apt install libimage-magick-perl
これで一発です。。
ちなみに、Image::Magick は ImageMagick 本体には入っていません。
あと ImageMagick と Image::magick も別です(ややこしい…)
apt (apt-get) からは libimage-magick-perl としてインストールできるみたいです。
インストール後リロードすると、ちゃんと表示されました。
Image::Magick を使わない方法もあるっちゃあるみたいだけど…
CGI が動かない原因とか
CGI はほとんど使わないので動かない原因を調べるのにも一苦労…
- Apache に mod_cgi モジュールがロードされているかどうか確認する
- ロードされていなければ a2enmod cgi && service apache2 restart で有効化しておきましょう
- apache2.conf の <Directory /var/www/> のところに Options +ExecCGI と AddHandler cgi-script .cgi がついてるかどうか確認する
- これも結構忘れがち…
- Options +ExecCGI で CGI の実行を許可、
- AddHandler cgi-script .cgi のところで拡張子 .cgi のスクリプトを CGI として認識させています
- cgi スクリプトの所有者・グループが www-data になっているかどうか
- samba を使い Windows からサーバーのファイル操作をよくしているのですが、その関係で Windows からファイルをコピーすると所有者が root になってしまう事がよくあります
- chown -R www-data:www-data /var/www/ を実行すると、/var/www/ 以下のファイル全ての 所有者:グループ を変更します
- .cgi ファイルの #!/usr/local/bin/perl があってるかどうか確認する
- 私の場合、Perl は /usr/bin/perl にインストールされていたので、夢カウンタの各 cgi ファイルを #!/usr/bin/perl のように書き換えると動くようになりました
あとがき
Perl (cgi) って動かなくても Internal Server Error しか出ないのがちょっと…
上の4つが合っていれば動かないって事はない(はず)…
コメント