HOME > WebVML Forum

WebVML Forum



最新バージョンは 1.3です。(2006/09/21)

特徴

サンプル

CGIスクリプト利用規定

ダウンロード

設定

  1. public_html (ホームディレクトリ) の下に、「bbsディレクトリ」(例)を作成し、さらにその下に以下のディレクトリを作成します。



    【ディレクトリ構成例】
        public_html / index.html (ホームページ)
           |
           +-- bbs / wvmlf.cgi       [705]
                |    wvmlf_reg.cgi   [705]
                |    wvmlf_adm.cgi   [705]
                |    wvmlf_init.cgi  [604]
                |    wvmlf_conf.cgi  [606]
                |    wvmlf_log.cgi   [606]
                |    jcode.pl        [604]
                |    fold.pl         [604]
                |    pastno.dat      [606] ... (過去ログ用)
                |    vml0.js         [604]
                |    vml.js          [604]
                |    vmledit1.html   [606] 〜2.html ...
                |    vmlno.cgi       [606]
                |
                +--- lock [707] /
                |
                +--- past [707] / 0001.cgi           [606] ... (過去ログ用)
                |
                +--- img  [604] / *.gif              [604]
                |
                +--- vml  [707] / 1.cgi , 2.cgi ...  [606]  お絵かきデータ
    
    

  2. 下記のファイル3つを エディタ で開いて2の箇所( #!/usr 〜 )を修正します。

    1. ファイル
      • wvmlf.cgi
      • wvmlf_adm.cgi
      • wvmlf_reg.cgi

    2. #!/usr/local/bin/perl
      (プロバイダで定められたPerlへのパスを指定します)




  3. 以上、修正が完了したら上記ファイルをFTP転送し、以下のとおり パーミッション を設定します。

    ファイル名 パーミッション 転送モード
    一般サーバ suEXECサーバ
    CGIWrapサーバ
    wvmlf.cgi 755 or 705 701 or 700 アスキー
    wvmlf_init.cgi 644 or 604 600 アスキー
    wvmlf_adm.cgi 755 or 705 701 or 700 アスキー
    wvmlf_reg.cgi 755 or 705 701 or 700 アスキー
    wvmlf_conf.cgi 666 or 606 600 アスキー
    wvmlf_log.cgi 666 or 606 600 アスキー
    pastno.dat 666 or 606 600 アスキー
    jcode.pl 644 or 604 600 アスキー
    fold.pl 644 or 604 600 アスキー
    vmlno.cgi 666 or 606 600 アスキー
    vml0.js 644 or 604 600 アスキー
    vml.js 644 or 604 600 アスキー
    vmledit1.html
    〜3.html
    666 or 606 600 アスキー
    lockディレクトリ 777 or 707 701 or 700 -
    pastディレクトリ 777 or 707 701 or 700 -
    past/0001.cgi 666 or 606 600 アスキー
    imgディレクトリ 644 or 604 600 -
    img/*.gif 644 or 604 600 バイナリ
    vmlディレクトリ 777 or 707 701 or 700 -
    vml/1.cgi ... 666 or 606 600 アスキー


  4. 以上、設定が完了したらチェックモードで動作チェックを行ないます。

    【チェックモード】wvmlf.cgi の末尾に「?mode=check」と付けて呼び出す
    例 http://〜〜/bbs/wvmlf.cgi?mode=check


  5. wvmlf.cgi にアクセスして次の手順で環境設定を行います

    1. 掲示板上部リンクで[管理用]を選択する

    2. ログイン画面で、[設定]を選択しパスワード(初期値)"0123"でログインする

    3. 設定画面で任意の項目を変更する
      (主要な項目には解説がありますので参考にして下さい)
      ***パスワードは初期値のままにせず必ず変更して下さい***
      (ローカルサーバでテストする時にも変更して下さい)

    4. 設定を保存する

    5. 関連項目を変更した時は前記のチェックモードを実行して下さい


    ※環境設定について以上の説明では不足という方は現在工事中ですが設定の補足を見て下さい。


  6. 最後に、HTMLから wvmlf.cgi にリンクします。

    【記述例】
    <a href="http://〜〜/bbs/wvmlf.cgi">掲示板</a>

バージョンアップ手順・解説

旧バージョンをお使いの方はサーバ負荷を減らした v1.3 への移行を推奨いたします。

v1.3からデータ保存形式が変更になり旧バージョンとは互換性が無くなりました。
そのためアップデート作業用スクリプトを用意しました。 このスクリプトは以下の作業が出来ます。
  1. ログデータを 旧バージョン形式(v1.2)から v1.3形式へ変換・作成します。
  2. v1.2 → v1.3の場合は設定情報をv1.3用設定ファイルに移行させることができます。


アップデート作業の概要

このアップデート作業では新しいディレクトリを作成してそこで作業を行い、それが正常に完了できた後、
旧バージョンのディレクトリと置き換えるという手順で行います。
解説では、旧バージョンのディレクトリを「olddir」、新バージョンのディレクトリを「newdir」と表記します。

又、標準のディレクトリ構成、ファイル名を前提に解説しています。

おおまかな手順は次のようになります。
  1. 旧バージョンのディレクトリ以下のファイルをバックアップする。
  2. 新しいディレクトリ「newdir」を作成し、新バージョンのファイルを転送する。
  3. 「newdir」でupdate.cgiを実行する。
  4. 「olddir」ディレクトリを適当な名前「例:oldbak」にリネーム、
    「newdir」ディレクトリを「olddir」にリネームする。
    「olddir」でwvmlf.cgiを実行し最終的な環境設定とテストを行う。


アップデート作業

  1. ダウンロード(アップデート用) のファイルを入手して下さい。


  2. 現在お使いの "WebVMLForum" のバージョン確認。
    wvmlf.cgiをエディタで開いて、上部著作権表示内の 〜 vX.X 〜 を確認しておいて下さい。 (例: v1.0 , v1.2 など)


  3. バックアップ
    以降の作業に入る前に必ずバックアップを行って下さい。
    (旧バージョンのディレクトリ「olddir」以下のディレクトリとファイル)


  4. 下記のファイル3つを エディタ で開いて2の箇所( #!/usr 〜 )を修正します。

    1. v1.3のファイル
      • wvmlf.cgi
      • wvmlf_adm.cgi
      • wvmlf_reg.cgi

    2. #!/usr/local/bin/perl
      (プロバイダで定められたPerlへのパスを指定します)



  5. update.cgi を エディタ で開いて以下の箇所を修正します。(重要項目のみ)

    1. #!/usr/local/bin/perl
      (プロバイダで定められたPerlへのパスを指定します)

    2. # ■ パスワード
      #   このパスワードはアップデート作業に限り使用されるもので、wvmlf.cgi本体のそれとは異なります。
      $pass = '0123';

    3. # ■ ロックファイル
      #  0 : 行なわない
      #  1 : 行なう(symlink関数式)
      #  2 : 行なう(mkdir関数式)
      $lockkey = 0;

    4. # ■ 旧設定ファイル
      $setfile_old = '../olddir/wvmlf_conf.cgi'; #v1.2 の例

    5. # ■ 旧ログファイル
      # 旧バージョンのログファイルパスを正しく指定して下さい
      $logfile_old = '../olddir/wvmlf_log.cgi';

    6. # ■ 新ログファイル(v1.3)
      # 旧バージョンでログファイルの名前を標準と異なるものに設定していた場合はその名前を指定して下さい。
      # その他の場合は特に変更の必要はありません。
      # 注意1 : ディレクトリは newdir を指定します。
      # 注意2 : $logfile_old と同じディレクトリ・ファイルを指定しないで下さい。
      $logfile_new = './wvmlf_log.cgi';

    7. # ■ 過去ログ機能 (0=no 1=yes)
      $pastkey = 1;

    8. # 過去ログのディレクトリ (旧バージョン) (最後は / で閉じる)
      $pastdir_old = '../olddir/past/';

    9. # 過去ログのディレクトリ (新バージョン) (最後は / で閉じる)
      $pastdir_new = './past/';

    10. # 過去ログカウントファイル (旧バージョン)
      $pastno_old = '../olddir/pastno.dat';

    11. # 過去ログカウントファイル (新バージョン)
      $pastno_new = './pastno.dat';


    ※$logfile_old , $setfile_old 共 ’../olddir/〜’ の「olddir」部分は旧バージョンの実際のディレクトリ名を指定して下さい。

    ※8. 〜 11. の項目は 7. 過去ログ機能が1の時に設定します。

    これらの設定に間違いがあると後の作業が正しく行えなくなりますので慎重に設定して下さい。



  6. 新しいディレクトリ「newdir」を「olddir」ディレクトリと同じ階層に作成します。
    例:
    http://xxx.xxx/cgi-bin/olddir が旧ディレクトリであったら
    http://xxx.xxx/cgi-bin/newdir というディレクトリを作成します。
    http://xxx.xxx/cgi-bin/xxx/newdir ← このような異なる階層は ×



  7. 「newdir」の下に次のディレクトリを作成して下さい。([xxx]はパーミッション例)



  8. 「newdir」以下のディレクトリ構成とファイル位置は以下のとおりです。(かっこ内はパーミッションの設定値)

    【ディレクトリ構成例】
     public_html       /   index.html (トップページ)
          |
          +-- <olddir> / 〜 略 〜
          |
          |
          +-- <newdir> /
                |        wvmlf.cgi              [705]
                |        wvmlf_reg.cgi          [705]
                |        wvmlf_adm.cgi          [705]
                |        wvmlf_init.cgi         [604]
                |        wvmlf_conf.cgi         [606]
                |        wvmlf_log.cgi          [606]
                |        jcode.pl               [604]
                |        fold.pl                [604]
                |        pastno.dat             [606] ... (過去ログ用)
                |        vml0.js                [604]
                |        vml.js                 [604]
                |        vmledit1.html          [606] ... 〜3.html
                |        vmlno.cgi              [606]
                |
                |        conf_1_3.cgi           [604] (*2)
                |        update.cgi             [705] (*2)
                |
                +------ <lock> [707] /
                |
                +------ <past> [707] / 0001.cgi ...       [606] ... 過去ログを生成する場合
                |
                +------ <img>  [604] / *.gif              [604]
                |
                +------ <vml>  [707] / 1.cgi , 2.cgi ...  [606]  お絵かきデータ (*1)
    
    
          *1 : update.cgi実行後生成されます
          *2 : アップデート作業完了後削除可
    


  9. ファイルを「newdir」以下にFTP転送し、以下のとおり パーミッション を設定します。


    ファイル名 パーミッション 転送モード
    一般サーバ suEXECサーバ
    CGIWrapサーバ
    wvmlf.cgi 755 or 705 701 or 700 アスキー
    wvmlf_adm.cgi 755 or 705 701 or 700 アスキー
    wvmlf_reg.cgi 755 or 705 701 or 700 アスキー
    wvmlf_init.cgi 644 or 604 600 アスキー
    wvmlf_log.cgi
    (update.cgiで自動生成)
    pastno.dat
    (update.cgiで自動生成)
    wvmlf_conf.cgi
    (update.cgiで自動生成)
    jcode.pl 644 or 604 600 アスキー
    fold.pl 644 or 604 600 アスキー
    vmlno.cgi 666 or 606 600 アスキー
    vml0.js 644 or 604 600 アスキー
    vml.js 644 or 604 600 アスキー
    vmledit1.html
    〜3.html
    666 or 606 600 アスキー
    update.cgi 755 or 705 701 or 700 アスキー
    conf_1_3.cgi 644 or 604 600 アスキー
    lockディレクトリ 777 or 707 701 or 700 -
    pastディレクトリ 777 or 707 701 or 700 -
    past/0001.cgi ...
    (update.cgiで自動生成)
    666 or 606 600 アスキー
    imgディレクトリ 644 or 604 600 -
    img/*.gif 644 or 604 600 バイナリ
    vmlディレクトリ 777 or 707 701 or 700 -
    vml/1.cgi ...
    (update.cgiで自動生成)
    666 or 606 600 アスキー



  10. アップデート作業中、旧バージョンのデータにアクセスされないようにする。

    以降の作業の前に、 http://〜/olddir/wvmlf.cgi を 仮に wvmlf_.cgi などの名前に変更する。
    この他に wvmlf_reg.cgi も同様にする。

    ※これは一例に過ぎません。その他適当な方法で旧バージョンファイルにアクセスされないようにして下さい。
    (尚アップデート作業では 旧バージョンのwvmlf.cgi , wvmlf_reg.cgi にアクセスすることはありません。)


  11. http://〜/newdir/update.cgi にアクセスして次の手順で作業を行います。

    1. 設定ファイル作成

      v1.2 → v1.3 の場合は旧設定情報を引き継いで新しい設定ファイルが作成されます。
      [設定ファイル作成]を選択。 5-2. で設定したパスワードを入力して[実行]をクリックする。

      1. 「処理が終了しました。」となったら 例〜/newdir/wvmlf_conf.cgi が生成されています。

      2. エラーが出たときは次の点を確認・修正後再実行して下さい。(注)
        • "Open Error: 〜" の場合  (関連: update.cgiの$setfile_old )
            ファイル又はディレクトリの指定が正しくない可能性があります。
        • "Write Error: 〜" の場合  (関連: update.cgiの$setfile_new )
            ディレクトリのパーミッションが正しくない可能性があります。



    2. ログ変換・更新

      旧ログファイル(例 : 〜/olddir/wvmlf_log.cgi)をv1.3形式に変換して
      新しいファイル(例 : 〜/newdir/wvmlf_log.cgi)が作成されます。

      [ログ更新]を選択。 5-2. で設定したパスワードを入力して[実行]をクリックする。

      1. 「正常に処理されました。」となったら以下の状態になっています。

        • newdir/wvmlf_log.cgiが作成されます。
        • newdir/past/0001.cgi ... が作成されます。(5-7. 過去ログ機能が1の時)
        • newdir/vmlディレクトリ の中にいくつかの 1.cgi , 2.cgi ... ができています。
            (お絵かき作品の数だけファイルが作られます)
            (ちなみにファイル名の番号は記事の番号とは無関係で又古い順という訳でもありません)

      2. エラーが出たときは次の点を確認・修正後再実行して下さい。(注)
        • "(reg_vml)Open Error: 〜" の場合  (関連: update.cgiの$vml_nofile )
        • "(reg_vml)Write Error: 〜" の場合  (関連: update.cgiの$vml_nofile 又は $vml_dir(規定値 ./vml) )
            ファイルかディレクトリが見つからない又はパーミッションが正しくない可能性があります。
        • "Open Error: 〜" の場合  (関連: update.cgiの$logfile_old )
            ファイル又はディレクトリの指定が正しくない可能性があります。
        • "Write Error: 〜" の場合  (関連: update.cgiの$logfile_new )
            ディレクトリのパーミッションが正しくない可能性があります。


    1.設定ファイル作成 、 2.ログ変換・更新 共に正常に処理できた時は、次の最終設定・動作確認の作業に移ります。


    注 : エラーその他の理由でupdate.cgiの実行をやり直すときは下記のようにして下さい。

    1. 設定ファイル作成 をやり直す時

      • newdir/wvmlf_conf.cgi を削除する。(ファイルがあった場合)


    2. ログ変換・更新 をやり直す時

      • newdir/wvmlf_log.cgi を削除する。(ファイルがあった場合)
      • newdir/past/0001.cgi ... 全てを削除する。(ファイルがあった場合)
      • newdir/vmlディレクトリ内の 1.cgi , 2.cgi ... 全てを削除する。(ファイルがあった場合)





  12. 最終設定・動作確認

    1. 「olddir」ディレクトリを適当な名前 例 :「oldbak」にリネームする

    2. 「newdir」ディレクトリを「olddir」にリネームする

    3. http://〜/olddir/wvmlf.cgiにアクセスして以下の作業を行います。
      旧バージョンv1.2でスクリプト名をwvmlf.cgiと異なる名前に設定していた場合はアクセス前にファイル名自体をその名前に変更しておく必要があります。

      1. 記事・お絵かき作品が正常に表示されていることを確認する。

        エラーが出た時は以下の点を確認・修正する
        • サーバエラーが出る時
          1. wvmlf.cgi の修正箇所 (例: #!/usr/local/bin/perl ) が正しいか
          2. wvmlf.cgi のパーミッションが正しいか

        • 掲示板は表示されるが記事部分に「Open Error : 〜」などのエラー表示が出る時
            管理画面にログイン(後述)して以下の項目を確認修正します。
          1. [ログファイル] (例: ./wvmlf_log.cgi ) が正しいか。
            ファイル名、パーミッションは正しいか。

        • 記事は表示されるが画像表示部分に「Open Error 〜」のエラー表示が出る時
            管理画面にログイン(後述)して以下の項目を確認修正します。
          1. [お絵かきデータ保存ディレクトリ] (例: ./vml )
          2. [お絵かきデータNo管理ファイル] (例: ./vmlno.cgi )
            ファイル名、パーミッションは正しいか。

      2. 管理画面(設定)にログイン・設定をする。
        • v1.2 → v1.3 は以前使っていたパスワードでログインできて設定情報が引き継がれていれば問題ありません。
          もしログインできない、設定が引き継がれていない等の場合はupdate.cgiの$setfile_oldで指定したファイルが正しいか再確認、前項の[設定ファイル作成]を再実行して下さい


      3. 「お絵かきエディタ」の環境設定をして下さい。
        • この設定が初めての方は解説ページの「お絵かきエディタ設定」をご覧下さい。

        • v1.2 と同じ設定手順で行えます。
            vmledit1.html , vmledit2.html は v1.2のものを v1.3のディレクトリに上書きコピーして構いません。
            vmledit3.html はバグ修正してありますので v1.3のファイルを使って下さい。

      4. お絵かきを含めたテスト投稿と削除が正常にできることを確認する。
        エラーが出た時は以下の点を確認・修正する
        1. ./vmlディレクトリのパーミッションが正しいか
        2. vmlno.cgi のパーミッションが正しいか
        3. ログファイル wvmlf_log.cgi のパーミッションが正しいか

      ※この段階では以下の手順で旧バージョンの環境に戻すことができます。
      1. 「olddir」ディレクトリを「newdir」にリネームする
      2. 「oldbak」ディレクトリを「olddir」にリネームする
      3. 10. でリネームしていた場合は、 そのファイルを元の名前に戻す



  13. 後処理

    動作確認に問題なかったらアップデート作業は終了です。以下の作業が可能です。





*: 疑問・質問は掲示板にどうぞ

オリジナル版からの移行について

オリジナル版 "WEB FORUM" から "WebVMLForum" に移行する方は下記の点をご確認下さい。



HOME > WebVML Forum