Airemix/HP_CGI/Mireille

Airemix Mireille Board System

■■■■■■■

: The Intoroduction to Mireille :

Mireilleの特徴

設置の説明書

  1. まずはじめに

    この説明ファイルは、HTMLのみで構成されたサイトは作れる方、
    とりあえず圧縮解凍、FTPによるアップロードは知っている人に書かれています
    「ホームページって何?どうやって作るの?」という方は想定していません
    そこまで範囲を広げると「設置の説明書」のレベルを越えてしまうため、ご了承ください
    また、このCGIでは漢字コードにEUC-JPを使用しているため、Windows標準のメモ帳では読めません
    TeraPad秀丸エディタさくらエディタなどのEUC-JPも読めるエディタをお使いください
    CGI自体を編集する場合は、以上に挙げたエディタに搭載されている、
    「色づけ機能」を使うと効率が格段に上がるとおもいます

    ちなみに、以上に挙げたエディタを使っても、文字化けして表示される場合は、
    メニューバーの「ファイル」→「漢字指定コード指定再読み込み」→「EUC」(TeraPadの場合)
    としたり、「ファイル」→「開く」で、「漢字コード」を「EUC」にして開いたりしてください

    TeraPadの場合には、オプション設定自体を変更して、
    「表示」→「 オプション」→「ウィンドウ/漢字コード」タブ→「漢字コード」グループで、
    ・漢字/改行コードを自動認識する にチェックをつける
    ・下の二つで両方「読み込み時の○○コードと同じ」を選ぶ
    とすれば、自動で文字化けしないようにしてくれます
  2. DLから解凍まで

    まずダウンロードした圧縮ファイル(例えばMirR1233.ZIP)を適当なフォルダ内に解凍します
    この時フォルダ内には
    パス備考
    /Mireille.txt MireilleのReadme
    /Mireille.html Mireilleの説明書
    /init/log/ ログ保存フォルダ
    /init/log/0.cgi 記事情報ファイル
    /init/ 最初設置するときに使うファイル群
    /init/index.cgi CGI起動ファイル兼設定
    /init/icon.txt アイコンリスト
    /init/iconctlg.cgi アイコン見本
    /init/style.css スタイルシート
    /scpt/ スクリプト本体のファイル群
    /scpt/core.cgi Mireille本体
    /scpt/style.pl Mireilleスタイル設定
    /scpt/help.pl ヘルプ
    /scpt/artnavi.js 記事ナビJavaScript
    /opti/ 設置してもしなくてもいいファイル群
    /opti/manage.cgi 管理CGI
    /opti/convert12.cgiログファイルを他形式から1.2形式に変換する
    /opti/notify.pl メールによるお知らせ機能を使うときに設置する
    /opti/.htaccess .htaccessファイル
    となっているはずです
  3. 初期設定

    まずindex.cgiを開いて一番最初の一行を設定します
    #!/usr/local/bin/perl
    #!/usr/bin/perl
    のどちらかで大部分は動くと思います
    (Biglobeでは #!/usr/local/bin/perl5 です)
    設定項目は他にもありますが、とりあえずまずここだけ設定してちゃんと動くか試してください
  4. FTPからアップロード

    設置したいサーバーのディレクトリ(例えばbbs/)に
    パス属性用途
    /bbs 777(755)掲示板のディレクトリ
    /bbs/log 777(755)ログ保存ディレクトリ
    /bbs/log/0.cgi 666記事情報ファイル
    /bbs/index.cgi 755(700)CGI起動ファイル兼設定
    /bbs/core.cgi 644Mireille本体
    /bbs/style.pl 644Mireilleスタイル設定
    /bbs/artnavi.js644記事ナビ
    /bbs/icon.txt 666アイコンリスト
    /bbs/iconctlg.cgi 666アイコン見本
    /bbs/help.pl 644ヘルプ
    /bbs/style.css 666スタイルシート
    のように設置します
    ちなみに、
    • ここに挙げたパーミッションは一般的なサーバーでの場合です
      CGIやデータファイルのパーミッションがサーバー側から指定されていれば、そちらを最優先してください
    • ErrorScreenがでても、「Can't write...」系でなければパーミッションはあっています
    • 500InternalServerError」か「Can't write...」系のエラーがでたら、パーミッションが原因かもしれません
    • ErrorScreenのでないエラーでは、FTPでの転送モードがテキストモードでなく、バイナリモードで転送してしまった可能性もあります
      テキストモードで転送しなおしてみてください

    さて、これで、おそらく、もう動作する状態になっているはずです
    最初は0.cgiの内容が表示されていますが、これは何か新しい書き込みがあると、
    自動的に表示されないようになるのでご安心を
    さっそく、テスト書き込みをしてみましょう

    もし動かなかった場合は Mireilleの設置でつまづいたら を参照してください

    テストがちゃんとできるようになれば、この掲示板を設置するのに最低限必要なことは終わりです
    サイト本体からリンクをはって使用してください♪

    ただ、この状態ではアイコンの設定は行っていないため、当然アイコンは表示されません
    アイコンの設定についての説明は Mireilleの注意事項 - アイコン を参照してください
    またCSSを使ったデザインの変更や、style.plにまで踏み込んだ細かい改造については、
    Mireille.htmlやMireille.txtを隅々まで見るとヒントが載っているかもしれません
  5. アイコンの設定方法

    Mireilleの設置テストが成功したらアイコンを設定しましょう
    例えばMireilleをhttp://www.server.jp/~username/mireille_directory/index.cgiに設置したとします
    www.server.jpは使っているプロバイダやレンタルサーバーのドメインに、
    ~usernameはそのサーバーでのユーザー名に、
    mireille_directoryは設置したMireilleのディレクトリに、
    適宜置き換えてください(独自ドメインの場合でユーザー名が必要ないときは省略すること)

    実際の手順は以下の通りです

    1. アイコンフォルダの準備

      まず自分のコンピュータ上で、アイコンの入ったフォルダを作成します
      どこかに「icon」などと名づけたフォルダを作成し、その中にアイコンとして使いたい画像ファイル(画像形式は何でもOK)を放り込みましょう
    2. アイコンフォルダのアップロード

      アイコンの入ったフォルダをアップロードします
      場所はどこでも構いませんが、「http://www.server.jp/~username/icon/」に置くのが無難でしょう
    3. 管理CGIをアップロード

      自分のコンピュータ内で、エディタを使ってindex.cgiを編集してもよいのですが、
      ここでは管理CGIを使ってindex.cgiを編集してみましょう
      (エディタで直接編集する方が楽な人は、管理CGIを使わなくてももちろんOKです)
      manage.cgiをFTPクライアントで、Mireilleと同じディレクトリにアップロードしましょう
      このとき必ずmanage.cgiを他の人には予測のつかない名前に変えてください
      管理CGIの管理機能は便利な反面、非常に危険です

      管理CGIについては管理CGIの設置も参照してください
    4. 管理CGIでindex.cgiを編集する

      http://www.server.jp/~username/mireille_directory/管理CGI.cgi(「管理CGI」の部分は適宜置き換えてください)にアクセスしましょう
      「index.cgi編集」を選択して次へ進みます
      アイコンのディレクトリ」の項目を探し、アイコンフォルダの置いてある場所を書きましょう
      (この時、http://www.server.jp/~username/icon/ の最後の/を書き忘れないで下さい)
      書けたら「OK」を押してください
    5. 管理CGIでicon.txtを編集する

      「Iconリスト編集(タグ)」を選択して次へ進みます
      Mireilleの圧縮ファイルについてきたicon.txtをアップロードした場合、
      大量にいろいろと書かれているので、とりあえず全て削除してしまいましょう
      そうしたら以下のように書き換えます
      <OPTGROUP label="(グループのラベル、例えば「アイコン(モンスター)」とか)">
          <OPTION value="(画像ファイルのパス、例えば「dragon.gif」)">(画像の名前、例えば「ドラゴン」)</OPTION>
          <OPTION value="(何とか.png)">(「スライム」)</OPTION>
      </OPTGROUP>
      括弧内を自分の設定に合わせて書き換えて下さい。
      ただし、ここでいくつか注意することがあります
      • OPTION value のところに書く「画像ファイルの置いてある場所」
        「index.cgi編集」をしたときに指定した「アイコンディレクトリ」のパスと合わせて、
        きちんと画像の在りかを示すURLになっていなくてはなりません
        例えば、
        "http://www.A.or.jp/B/icon/" + "D.gif" = 「http://www.A.or.jp/B/icon/D.gif」となり、
        このURLに画像ファイルがあればOKです
        もし、アイコンディレクトリのパスが「http://www.A.or.jp/B/icon」となっていた場合、
        "http://www.A.or.jp/B/icon" + "D.gif" = 「http://www.A.or.jp/B/iconD.gif」となり、おかしくなってしまいます
        この時はアイコンディレクトリのパスの末尾に / を加えるか、「D.gif」→「/D.gif」に変更すれば、正しくなります
      • <OPTION value="">…</OPTION>を2個以上続ける場合
        <OPTION value="">…</OPTION>(注目)<OPTION value="">…</OPTION>
        とする場合(注目)の場所は続けず、改行を入れてください
        改行でないと、後でアイコンカタログ(アイコン見本/アイコン一覧)に表示されるアイコンがおかしくなったり、
        管理CGIのタグモード以外でアイコンリストを編集できなくなったりします
      • 一つのグループに何個ものアイコンを使いたい場合
        <OPTION value="(画像ファイルの場所)")>(画像ファイルの名前)</OPTION> を必要な数だけ書けばいいです。
        また、グループが何個も欲しいという場合は
        <OPTGROUP label="(グループのラベル)">
            <OPTION value="(画像ファイルの場所1)">(画像ファイルの名前1)</OPTION>
            <OPTION value="(画像ファイルの場所2)">(画像ファイルの名前2)</OPTION>
        </OPTGROUP>
         の部分を欲しいグループの数の分だけ増やせばいいです。
      COPY1命令やVENDOR命令など、より詳しいアイコンリストの説明は、
      Mireilleの注意事項 - アイコンを参照してください

      編集が終わったら、OKを押して完了です。
      最後に、管理CGIをWeb上から削除しましょう。
      放置しておくとキケンです。

    上の操作が上手くいったら、アイコンが無事表示されるはずです
    もし、表示されない場合は、ミスをチェックして
    どうしてもわからない場合は、ソフトウェア関係に詳しい友人に聞くか、成瀬に掲示板で聞いてください
    5時間も悩むのは得策ではありません(爆

    ※警告!
    アイコンの著作権には十分注意を払ってください。
    ゲームの画像を切り出して使ったり、Webサイトで使われている画像を勝手に拾ってきた場合、
    著作者の権利を侵害してしまうことがあります。

  6. もうちょっと細かく設定とか、さらには改造とか

    Mireilleをより細かくカスタマイズしたいときは、Mireille.txtの内容も参照してください
    Mireilleでの処理に関する情報などはMireille.txtにしか書いてないものも多いです
    core.cgiに対しての要望はMireille.txtを見てからにしていただけると、成瀬側もやりやすいので

    一般的な事例に関しては以下のとおりです
    • アイコンまわり

      アイコンリスト(icon.txt)に関しては Mireilleの注意事項 - アイコン や、
      Mireille.txtを参照してください
      アイコンリスト(icon.txt)からアイコン見本(icon.html)を生成するには、
      管理CGIの「アイコン見本の更新」を使います
      (1.2.3.5からはiconctlg.cgiを使うようになったので、icon.htmlを生成する必要はありません)

      ※警告!
      アイコンを調達する際には、必ず製作者のサイトから頂いてきてください。
      他の掲示板のアイコンをそのまま拝借するのは好ましいことではありませんし、
      その掲示板の管理者さんにも迷惑をかけることになります。
      また欲しいアイコンが既に配布が終了されている場合は潔くあきらめてください^^;;
    • 外部CSSまわり

      core.cgi,style.pl自体のソースや、Mireilleの生成したHTMLソース、HTMLおよびCSSのリファレンスなどと、
      にらめっこしながらがんばってください(ぉ
      core.cgiやstyle.plのCSSのクラス構造が不明瞭だったりおかしい、修正するべきだという場合は、
      成瀬に説明を求めるか、改善したものを教えてください
      それを元にこちら側でも修正します
    • style.plってなに

      MireilleのPerlスクリプトの中で、デザインに関連するものを抽出したファイルです
      お好みに合わせて改造し、配布することができます
      また、index.cgi内でcore.cgiより後に読み込んでいるため、
      core.cgiのサブルーチンを上書き(オーバーライド)することも可能なため、
      応用次第で全く違う掲示板のようににしてしまうこともできます
    • index.cgi後半の処理部、core.cgi、help.pl、manage.cgiなど

      改造するのは自由ですし、規定の範囲内で改造したものを配布することもできます
      ただ、多くの利用者がこれらのCGIを変更したいと思う、という状態は、
      「バグだ」と判断しているので、変更点を教えてくだされば、標準で変更するかもしれません
    • Mireilleのコアファイル群を複数の掲示板で共有する

      一つのcore.cgi, style.pl, style.css, help.pl, artnavi.jsを複数の掲示板で共有することが出来ます
      パス属性用途
      /bbs 755(777)掲示板のディレクトリ
      /bbs/log 755(777)ログ保存ディレクトリ
      /bbs/log/0.cgi 666記事情報ファイル
      /bbs/index.cgi 755(700)CGI起動ファイル兼設定
      /bbs/core.cgi 644Mireille本体
      /bbs/style.pl 644Mireilleスタイル設定
      /bbs/artnavi.js644記事ナビ
      /bbs/icon.txt 666アイコンリスト
      /bbs/iconctlg.cgi 666アイコン見本
      /bbs/help.pl 644ヘルプ
      /bbs/style.css 666スタイルシート
      /bbs2 755(777)掲示板のディレクトリ
      /bbs2/log 755(777)ログ保存ディレクトリ
      /bbs2/log/0.cgi666 記事情報ファイル
      /bbs2/index.cgi755(700)CGI起動ファイル兼設定
      例えば上のように設置した上で、/bbs2/index.cgi内の設定を
      use lib '../bbs/';
      #アイコンリスト
      $CF{'icls'}='../bbs/icon.txt';
      #スタイルシート
      $CF{'style'}='../bbs/style.css';
      #記事ナビJavaScript
      $CF{'navjs'}='../bbs/artnavi.js';
      
      などとすれば、CGIバージョンアップ時には/bbs/にあるcore.cgiなどを入れ替えればいいだけになります
      実際にAiremixでも/bbs/にあるCGIをサイト内の何ヶ所かで、この方法によって共有して使っています
  7. 管理CGIの設置

    よりMireilleを有効に使うためのCGI、Manage.cgiの説明です
    必須ではないので、使いたい人だけ設置しましょう

    まずmanage.cgiを開いて、一行目を設定します
    その後21行目の$AM{'pass'}を設定してください
    設定したらFTPで以下のように設置します
    この際必ずファイル名を変更してアップロードしてください
    /bbs/E36Vj4tGiHQ.cgi 755(700) 管理CGI('E36Vj4tGiHQ.cgi'にファイル名を変更した場合)
    使用法は表示にしたがってください
    わかりにくいところがあれば、言ってください
    表記を変えるなり、これに書き加えるなりします

    ちなみに、管理CGIの設定機能を使っていて「Can't write...」というエラーが出た場合は、
    該当するファイルのパーミッションを、上のほうの説明の、括弧内のものに変えみてください
    ちゃんと書き込めれば設定があっていると断定してよいでしょう

    ※警告!
    アップロードする際には、ファイルの名前を予測のつかない名前、
    (例えばE36Vj4tGiHQ.cgiのような)に変更してからアップロードしてください
    このCGIは破壊的な機能(index.cgiの設定やログの削除など)持っているので、
    悪意を持った人に場所を知られると非常に危険です

    ちなみに、ファイル名を変えると動かなくなるのではないか、と思う方もいるでしょうが、
    管理CGIはファイル名を変えても大丈夫なように作っているので、ご安心ください

設置した後の運用

Mireilleをバージョンアップする時

基本的には、core.cgi, style.pl, artnavi.js, iconctlg.cgiを上書きすればOKです。

style.cssを自分で改造していないのなら、style.cssも上書きした方が良いですが、
style.cssは多少古いものでも動作するように作ってあるので、上書きしなくても大丈夫です。
ただ、style.cssの変更はブラウザの表示をより綺麗にするため、のものが多いので、
OperaやMozillaを使う人が多い掲示板では、まめにstyle.cssをバージョンアップした方がよいかもしれません。
また、style.cssを改造している方も、時々は新しいバージョンをベースに、style.cssを改造しなおした方がよいとは思います。

index.cgiは後方互換性に気を使っているので、かなり古いものでも動作するはずです。
確認した限りでは1.2.2.8以降のindex.cgiなら、それ以降に追加された新機能はつかえませんが、とりあえず動作はします。

もしindex.cgiやstyle.cssに、それまでのバージョンと著しく互換性を損なう変更場行われた時は、
Mireille.txtの更新履歴の部分にそのことが書かれるので、対応策はそこを参照してください。
特別に注意することが書いてない場合は、互換性があると考えてよいです。

バージョンアップについては以上の通りですが、上の説明はindex.cgiとstyle.css以外は改造していない場合の話です。
core.cgiやstyle.plなどに手を入れている場合は、現在考慮に入れてません。
もしindex.cgiとstyle.css以外を改造している方は名乗り出てくだされば、考慮して開発するようにします。

過去ログの扱い

Mireilleでは過去ログを圧縮して保存するようにしているので、ファイルスペースへの負担は比較的軽いのですが、
それでも長い間ほったらかしにしていると、思わぬサイズになってしまうことがあります。
なので、定期的に整理するようにしましょう。(過去ログが100ファイルを超えたら、くらいかな)

整理するには二通りあるかと思います。
未練を残さず削除してしまうのと、ローカルにダウンロードした上でサーバー上のファイルを削除するのと、になるのですが、
後者ではダウンロード時に注意すべき点が一点あります。

Mireilleでは、1.cgiをGZIP圧縮で削除した場合、「1.cgi-(GZIP圧縮)→1.gz」とした後に、
このままだと管理者以外でも過去ログをダウンロードできてしまうため、「1.gz-(ファイル名変更)→1.gz.cgi」とします。
.htaccessのようにlogディレクトリからのダウンロードを不許可にできれば、こんな小細工も必要ないのですが、
色々なサーバーで動くようにすると、.htaccessに頼りきりになるわけにも行かないため、このような仕様になっています。

で、このファイル名変更処理は所詮小手先の業なため副作用が出ます。
Windows向けFTPソフトにはファイルの転送モードが「テキスト/ASCIIモード」と「バイナリモードが」あります。
二つの違いは、ASCIIモードだとファイル転送時にs/\x0a/\x0d\x0a/gし、バイナリモードではしません。

テキストファイルとは文字情報を保存しているファイル。
バイナリファイルは絵や音、プログラムなどのファイル。
テキストファイルでは、OSごとに改行文字が異なるため、改行文字を変換する必要があります。

で、ちょっと気の利いたFTPソフトは、ファイルの拡張子によってこの転送モードを自動的に切り替えてくれるのです。
拡張子cgiは普通テキストなので、「ASCIIモード」でファイル転送が行われます。
1.gz.cgiはGZIP圧縮しているので実はバイナリファイルなのに・・・
「ASCIIモード」で転送された1.gz.cgiは、哀れ、トンチンカンな改行処理をくらって、ファイルが破壊されます。

で、対策ですが簡単です。ダウンロード前に1.gzに戻してダウンロードすれば、
FTPソフトはgzはバイナリファイルだと知っているので、破壊されることはないです。
(転送モードの自動判定をOFFにして、バイナリモードを強制して、ダウンロードしてもOKです。)

荒らしが来たら

「荒らしになりそうな人にはサイトのURLを教えない」、「荒らされそうなコンテンツを扱わない」、
といった事前策があるのですが、来てしまったものは仕方がありません。
早速撃退策を練りましょう。

心に余裕のある方だったら、荒らしをからかって暇つぶし、飽きたらポイ捨て、というのも趣があり、おもしろいのですが、
みながそんな気分なはずもないので、まじめにいきます。
世の荒らし対策ページ、というので紹介される対策は、主に以下の三種類でしょう。

  1. 荒されても無視しよう
  2. 荒らし対策BBSを導入しよう
  3. 荒らした人のIPをみて追跡しよう

一つ目は定石中の定石、基本中の基本です。
世の荒らしの8割以上は愉快犯という統計もある(ほんとか?)通り、荒らしはおもしろくなければ止みます。
なので「荒らしている人のことを罵倒しよう」というのは、荒らしを止めさせたいのであれば絶対にやってはいけません。
(逆に暇ならちゃんと相手をしてあげないとダメです。)

二つ目も定石といえば定石なのですが、今となってはあまり効果がないように思えます。
荒らし対策BBSの「荒らし対策」とは機械化された自動の荒らしを指すことが多く、自動化荒らしへの対策がなされています。
しかし、今時の技術的レベルの低い荒らしには逆に無力です。
「騙り(他の人の名前を偽って発言し、場を混乱させること)」への対策として導入された「トリップ」機能は、
ある程度有効かもしれませんが、荒らし対策BBSで今時の荒らしを止めさせることは困難だと思われます。

三つ目は確実ではありますが、高い技術を持っていないとできませんし、Proxyを使える人相手では技術戦になりがちですが、
時によっては一発で荒らしに止めをさせるので確実です。
具体的な手法についてはgoogleで「荒らし対策」「追跡」などのキーワードで検索してください。

とは言っても、やはり自分で荒らしのISPを突き止めるのは大変です。
大手プロバイダの「ホームページスペース」を使っていたり、一部の有料レンタルサーバーを使っているなどで、
サーバーが面倒のいいところの場合は、サーバーに泣きつくのも一つの手段です。
基本的に大手はスペースの値段が割高なのですが、それはこういうときのサポートのために割高になっているのだ、
と自分勝手な解釈をして助けを求めれば、それなりの対応をとってくれるかもしれません。
その際は荒らされたログをとっておき、見せることを忘れずに。
こちら側のプロバイダが、荒らし側のプロバイダを責めるときに、荒らされたログが必要ですので、必ずとっておきましょう。

また、自分の側のサーバーが頼りない時でも、荒らされ方によっては、他を頼ることができます。
荒らしの文言に「殺してやる」とかそれに類する言葉があった場合、脅迫として警察に駆け込めるかもしれません。
一昔前では「民事不介入」などとのたまうばかりで頼りにならなかったようですが、
近頃は何件か「脅迫として逮捕した」と報道もされているなので、結構頼りになるようです。
この場合でもログが絶対に必要です。

荒らされることと、それに打ち勝つことはは、有名ページへと上り詰めるためには必要不可欠なステップです。
Webの星を目指すため、重いコンダラをひきひき、試練の道を行って、ど根性を見せてください。(謎

Mireilleの注意事項

Mireilleの設置でつまづいたら

お世話になったところ

この説明では™や®や©マークは省略しています
それぞれのサイト名やソフトウェア名などは各々の商標や登録商標などです

■■■■■■■

BACK to INDEX

[ $Id: Mireille.html,v 1.6 2003/03/23 18:19:03 naruse Rel $ ]
- Airemix Mireille -