※ コメントは、適当なニュースグループか、乾燥板かメールで。(2007年4月07日)
このページで解説してる改造やスクリプトは、自由に使っていただいてかまいま せんし、自由に改変していただいてかまいません。その際、特に私に断わる必要 はありません。でも、ナイスな改良を思いついたら、教えてくれるとうれしいか も。
という方針ですが、Windowsの場合はexe版の方 がずっと簡単です。が、他のOS使ってるとか、プログラム改造したいとかなら、 そっちじゃ無理です。こっちを見てください。
perlがなければ、perlをインストールしてください。WindowsだとActivePerlが 使えます。方法は例えば、「ActivePerlのインストール方 法 - Windows で perl を使おう!」とか。Cygwin環境やMingw環境のperlで も大丈夫なはず。parでexe化したい人はActivePerlの方がよいかも。
Windows以外なら、大抵は入ってるんじゃないかな? 入ってなかったら何か探し てインストールしてください。
cpanを使って、NNML::Serverをインストールしてください。質問には、好みで答 えればよし。ActivePerl +CPANによるモジュールインストール方法は、まあ探せば何かあります。それ以外のperlで のcpanの使い方も、まあ、探せばあ るはず。
どこに何がインストールされたのかは、インストール画面の最後のあたりで分か ります。後で必要になるのでチェックしといてください。まあ、忘れてても大体 の見当はつきますが。ActivePerlの場合、perlをインストールしたディレクトリ をc:\perlとすると、c:\perl\site\lib\NNMLあたりの下に*.pmが入って、 c:\perl\binあたりにnnmirror.batが入ってるはず。ドキュメントは、 c:\perl\html\site\lib\NNMLとかc:\perl\html\binとか。普通のperlだとhtmlま では作ってくれないかも。perldoc使えってか?
「ActivePerlならcpanじゃなくてPPMでどうだ?」って意見もあるかもしれません が、PPMだと附属のnnmirrorをインストールしてくれないっぽいので、cpanの方 がよさげ。いや、今のバージョンじゃnnmirrorは無くてもいいのか。
あと、何か足りなければ、PPMかcpanで手に入れてください。その辺で入手でき るものしか使ってないはず。
exe版と同じ、nnml+0.07をダウンロードして、適 当なディレクトリに展開するだけです。複数の人が使うコンピュータだったり、 公開サーバや相互配送を考えていたりするのなら、セキュリティ的に安全な場所 に置いてください。(nntpサーバ用のパスワードを生書きしたりするから。)
exeファイルは、使わないなら消してよいです。でかいし。parで作ったexeファ イルは、perlインタプリタを内蔵してるので非常に大きいんだわ。
exe版の設 定の項目で、hoge.exeをperl hoge.plに読み換えればOK。
NNMLにいろいろ手を入れる必要があるんですが、説明が面倒になってきたので、 ハック済みのファイルをNNML+/に置いてます。NNMLがインストールされてる場所 を見付けて、ファイル差し替えてください。(バックアップは取っといてね。)
ハックの内容は、
といったあたり。詳しくは、オリジナルと差分取ってみてください。
parを使ってexe版で作る都合上、nnmirrorをパッケージ化してます。perl版では 不要なんですが、exe版とソースが別になるのもあれなんで。lib/NNmirror.pmという 名前で置いてますので、どこをどういじったかは、自分で確かめてください。
perlスクリプトをexeファイルにする方法はいくつかあるんですが、ここではpar を使います。exeファイルが不要な方は、この項は要りません。
parのインストールは適当に探せば何かあると思います。この辺のページだと最 新版のActivePerlじゃ駄目なようなことを書いてるけど、5.8.8.816ではちゃん と動いてます。以前に入れようとしたときは、cygwinやmingwのperlじゃ駄目で、 ActivePerlでppm使って入れたら大丈夫だったような記憶がある。
nn_server.plとnn_users.plをexe化するには、それぞれ、pps.batとppu.batを実行 してください。何やってるかは、中見れば分かるはず。「-M attributes.pm」は、 threads使ったから必要になったのかな?
以降は、exe版の該当する項目で、hoge.exeを perl hoge.plに読み換えればOK。
おわり