xrea で yybbs 5.8 の「投稿キー機能」を使う方法


 連日の個人用メモではあるのですが、ほかにお役に立てる方がいれば嬉しいです。……というか、とてもメジャーな掲示板 cgi なのに、特定環境での新機能の使用方法がググっても見つからない……ってどうよ?


 xreaというサーバーは、cgi も php もバシバシ置けて使える大変貴重な無料(有料オプションあり)レンタルサーバーなのですが、cgi を呼び出すとデフォルトで広告表示してくれるので、yybbs で「投稿キー」表示に使う registkey.cgi のように html 以外をアウトプットするような cgi にとっては、ある意味「鬼門」なのです。では、その突破方法を。


 (1) ズバリ、ディレクトリ構成を、このようにしてしまいましょう。( "yybbs" ディレクトリは名前を変えてもよいが、(3)の書き換え内容も変わるので要注意。)

public_html / index.html (トップページ)
    |
    +-- yybbs [705] / yybbs.cgi  [700]
    |     |           yyregi.cgi [700]
    |     |           yyini.cgi  [600]
    |     |           yylog.cgi  [600]
    |     |           count.dat  [600]
    |     |           jcode.pl   [600]
    |     |           pastno.dat [600] ... 過去ログを生成する場合
    |     |
    |     +-- img [705] / home.gif
    |     |               *.gif (アイコン画像)
    |     |               0.gif ... 9.gif ... 投稿キーオプションを使用する場合
    |     |
    |     +-- lock [705] /
    |     |
    |     +-- past [705] / 0001.cgi [600] ... 過去ログを生成する場合
    |
    +--  x [705]  /  gifcat.pl     [600] ... 投稿キーオプションを使用する場合
                     registpl.cgi  [600] ... 投稿キーオプションを使用する場合
                     registkey.cgi [700] ... 投稿キーオプションを使用する場合

 広告表示されない x サブディレクトリ(これは xrea 独自の仕様)に、投稿キーの gif 表示関連モジュール「だけ」を移設します。このことによって、デフォルトの広告表示をなくすことなく(すなわち規約違反を一切せず)、投稿キー画像の gif も問題なく表示できるようになるわけです。カスタマイズも最小限で、 <!--nobanner--> とかいう変なタグや、.htaccess ファイルなどを使用する必要もありません。


 (2) 当然、registpl.cgi, registkey.cgi の場所を指定する変数も指定変更します。yyini.cgi の 76行目あたりから。意味はわからなくてもこのまま書けばOK。

# 投稿キー画像生成ファイル($regist_key=1のとき)
$registkeycgi = '../x/registkey.cgi';

# 投稿キー実行ファイル($regist_key=1のとき)
$registkeypl = '../x/registpl.cgi';

 (3) 最後に、registkey.cgi から画像の呼び出し先を変更して完了。15行目あたりから。

# 投稿キー画像ディレクトリ
$gifdir = '../yybbs/img/';

 ……以上です。このほかに必要な変更(kent-webのyybbsのページを参考にしてください)が完了したら、アップロードして、投稿キーの4桁数値 gif が正しく表示されることを確認してください。それから実際に投稿してみて、無事反映されれば公開可能になります。


 #……って、これをやってなかったのが原因で書き込みできなかったのを2週間も放置したあげく、「書き込みがないよ〜」ってほざいてた自分はどうなのよ……orz