This Project Has Not Released Any Files
1.通常のモジュールと同様にファイルをmodules配下に設置します。
2.管理画面からモジュールインストールします。
3.logディレクトリをPHPから書き込み可能とします。(例: 707)
4.ディスカスの管理画面にアクセスし、少なくとも1つ以上のディスカッションを作成してください。
5.適宜ブロックを有効にします。
1.ディレクトリ構成が変わっています。古いファイルをサーバーに残さないようにディレクトリごと削除します。
2.新しいファイルを配置します。
3.管理画面からモジュールアップデートします。
4.ブロックオプションが変更されています。ブロックを使用していた場合は一度かならず設定をやりなおします。
5.インストールの3以降に従います。
今バージョンでは負荷削減の為、直近の発言をキャッシュファイルに保存してクライアントから直接アクセスするようにしています。ファイル名は十分に長く推測困難なランダムな名前で生成されますが、ファイル名さえ分れば(例えゲストに公開されていないサイトであっても)世界中の誰でもアクセスすることができます。これはこのバージョンのディスカスの仕様です。
この仕様がいくつかの問題となる事があります。この問題を緩和するために以下の記述を参考に可能な対応を行ってください。
共用サーバーで使用する場合はグループに一切の権限を与えないでください。
あなたがApatchの設定を指定できるのであれば、Optionsディレクティブで、-Indexes を指定します。 一般的なレンタルサーバーでは予め指定されているはずです。またOptionsディレクティブを、.htaccessファイルで指定できるケースは少ないでしょう。
1)(レンタルサーバー利用者の場合)適当なディレクトリを作成し、その中に index.html や index.php 以外の名前(test.txt、1.txt等)でいくつかのファイルを作成します。そしてブラウザでそのディレクトリにアクセスしてみてください。その中のファイル名が一覧表示されるようであれば、Options -Indexes が指定されていません。作ったディレクトリやファイルは後で消しておきましょう。
2)(1の結果、一覧表示される場合のみ)logディレクトリの中の .htaccess.Options-Indexes ファイルをリネームして .htaccess とします。その上でブラウザでlogディレクトリにアクセスします。サーバーエラーになったら元に戻します。
3)(2の結果、.htaccessが使えなければ)logディレクトリの中の index.html ファイルは決して削除してはいけません。
書き込み可能であるlogディレクトリに予期せぬファイルが置かれてしまった場合の問題を回避します。
1)logディレクトリの中の .htaccess.AllowOnlyJson ファイルをリネームして .htaccess とします。ディレクトリに拡張子jsonのファイル(test.jsonなど)を作成します。その上でブラウザで作成したファイルにアクセスします。サーバーエラーになったら元に戻します。test.jsonは削除しておきます。
※ Options -Indexes も指定する場合は中身をマージします。
※ もしキャッシュファイルの拡張子をjson以外にしている場合はそれに合わせて中身を修正します。
settings/definition.inc.php で、DISCUSS_CACHE_NAME が設定されています。これを変更することでキャッシュファイルを置くディレクトリ名や拡張子を指定できます。%s の部分にはランダム生成される32桁の文字列が入ります。決して%sを消さないでください。 変更した場合は上記記述を変更後のディレクトリ名やファイル名に置き換えてください
ディスカスモジュールへのアクセス、あるいはサイト全体のアクセスを特定のユーザーに限定している場合はBasic認証の併用も検討してください。その場合logディレクトリだけにではなくdiscussディレクトリあるいはxoops_rootに設定します。
.htaccessによるrefererチェックもキャッシュファイルへの直リンクを掲示板等に晒される可能性に対して一定の効果があります。正規の処理ではrefererが、yoursite.com/modules/discuss/にマッチしますが、セキュリティソフトなどで省かれるかもしれません。 キャッシュは30分で新しいファイルに切り替わりますので、もし晒されても30分のデータのみしか晒されません。
XOOPS Cube Legacy 2.1 は,ノーマル状態の場合,インストールウィザードでの言語表示の選択において japanese を選択することになります。 この場合,文字コードは EUC が選択されることになります。 ディスカスは,文字コードに UTF-8 を利用しますので,次のどちらかを予め実施しておく必要があります。
1)これから XOOPS Cube Legacy を設定する場合
2)japanese を選択し,運用を開始している場合
上記のいずれかを実施していなかった場合には,次の現象が発生します。
a)文字を入力しても,画面が真っ白のまま。
b)log ディレクトリ内の *.json ファイルは作成されるがサイズはゼロ。