CGI-BBS > 電子掲示板 > 簡易BBS > 画像をサムネイル化できる「簡易BBSα」 について


カレッヂ
カレッヂ


質問者 ろばーと  投稿日 6/30(土) 00:20:19
画像をサムネイル化できる「簡易BBSα」
のcgiを書き換え,ふぁいるなどをUPし、いざやってみたら
次のライブラリモジュールが組み込まれていません - Image::Magick  
トなってしまったんです。
どうすれば良いのでしょうか?
http://www35.tok2.com/home/samurai/cgi-bin/bbs/bbs.cgiです
回答者 しあわせのツボ  [削除]  投稿日 6/30(土) 02:38:11
読んで字の通り、Image::Magickというモジュールをインストールする必要があります。
付属するドキュメントを読んでも理解できないようでしたら、あきらめた方が無難です。
回答者 いのちゃん  [削除]  投稿日 6/30(土) 03:08:12
>次のライブラリモジュールが組み込まれていません - Image::Magick  
サーバに組み込まれていない場合はこのプログラムの使用は出来ないようですよ。

プロバイダーにその確認をする必要がありそうです。以下はその理由をコピー
したものです。

概要
ImageMagickは、画像処理を行うツールの集合体です。
画像変換や加工を行いますが、一般的にはGUIで提供されますが、その中のconvertやmogrifyコマンドはバッチ処理(コマンドラインで実行)できます。
たとえば、
$ convert in.gif out.jpg (in.gifをout.jpgに変換する)
$ mogrify -format jpg *.gif (GIF画像をすべてJPEG形式に変換する)


このImageMagickをPerlのモジュールとして利用できるようにしたのがPerlMagickです。
サムネイル処理付き電子掲示板「簡易BBSα」を、このPerlMagickを使って処理しているスクリプトとして公開していますので、ここでImageMagickについて簡単に紹介することにします。

このシステム(とそのモジュール)をインストールするには、root権限をもっているサーバ管理者でなければなりません。従って、自社サーバを自分で構築したとか、1サーバまるごとレンタルしていてroot権限も使える、という方でないとインストールできません。もしあなたがプロバイダやレンタルサーバで単なるユーザである場合で、このモジュールが入っていないサーバをご利用の場合、このインストールをプロバイダの方やサーバ管理者に依頼するしかありません。このモジュールを入れることで、設置する電子掲示板において、アップロードした画像のサムネイル化が可能になり、小さな画像になることでサーバの転送量を最小限に抑え、サーバの負荷軽減につながるという目的であれば、このモジュールを入れてくれるかもしれませんね。いずれにしても、このモジュールがないと簡易BBSαは動作しません。


従って画像を使用しない場合での使用の方法も残されておりますがその場合は
Line109辺り次のような設定で許可しないであれば配信機能も付いておりますので
通常の掲示板としての機能は生かせる事は出来ますが...。

# ●画像投稿を許可するかどうかの設定 1:許可する 0:許可しない
$useimg = 0;

http://www.kcb-net.ne.jp/ki-net/mini92/bbs.cgi?form=1
当方のプロバイダーもこのImageMagick(PealMagick)が使用が出来ませんので同じ
悲哀を味わっております。(/_;
回答者 まさ  [削除]  投稿日 6/30(土) 07:39:33
>このシステム(とそのモジュール)をインストールするには、root権限をもっている
>サーバ管理者でなければなりません。従って、自社サーバを自分で構築したとか、
>1サーバまるごとレンタルしていてroot権限も使える、という方でないとインスト
>ールできません。もしあなたがプロバイダやレンタルサーバで単なるユーザである
>場合で、このモジュールが入っていないサーバをご利用の場合、このインストール
>をプロバイダの方やサーバ管理者に依頼するしかありません。

まあ一般的にはモジュールのインストールにはrootの権限が必要と思われている方も
多いと思いますが、実際モジュールをインストールする場合root権限がなくても可能
です。

通常はモジュールのインストール先にあたるディレクトリの権限がrootでなければ書
き込めないためにmake installの前にrootになるのが通例というだけです。
インストール先を自分のディレクトリにすれば、rootでなくてもインストールできます。
インストール先を変更するには、
  perl Makefile.PL LIB=~/lib
です。

つまり、
  perl Makefile.PL LIB=~/lib
  make
  make test
  make install
これで自分のディレクトリーにインストールできます。

インストールするディレクトリを細かく指定したければ、

 perl Makefile.PL \
 INSTALLPRIVLIB=~/lib \
 INSTALLARCHLIB=~/lib/arch \
 INSTALLSITELIB=~/site/lib \
 INSTALLSITEARCH=~/site/lib/arch \
 INSTALLMAN1DIR=~/man/1 \
 INSTALLMAN3DIR=~/man/3 \
 INSTALLBIN=~/bin \
 INSTALLSCRIPTDIR=~/bin \

で、できます。

こうしてインストールしたモジュールを使う時は、
use lib qw[/(ホームディレクトリ)/lib /(〃)/site/lib ...];
と、するか、
unshift(@INC,qw[....]);
とするか、
#!/path/to/perl -I/path/to/lib -I/path/to/site/lib ...
として、perlを-Iオプション付きで起動すれば、
あとは、普通にuseできます。

ただし、あやゆる環境でモジュールがインストールできるかと言えばそれはNOです。
モジュールのインストールにはrootになることはないですが、制限はあります。

shellが使えること、コンパイラやmakeにパスが通っていて、実行できる環境である
こと。これらが満たされなければインストールはできません。

#一番いいのはCコンパイラーがサポートされていたら。Perlも自分のディレクトリに
#インストールするのが一番いいです。モジュールのインストールで悩まなくていいし。


回答者 やまだ  [削除]  投稿日 8/25(土) 13:01:10
ImageMagickのインストールされている
プロバイダーはどれでしょうか。
1社しか確認できてないです。

返信(回答)する


Web裏技