LOGIN ID Password Auto Login Register Now! Lost Password?
XUGJ Wiki

QuickReference

Page Top

XOOPS_ROOT_PATH 外に xoops_trust_path が設置できる場合(推奨) anchor.png

ほとんどのサービスはこの方法でいける。

  • mainfile.php を編集可能なアクセス権に変更(もし変更不可にしていたなら)
  • Web公開ディレクトリ*1と同じレベルに、xoops_trust_pathというディレクトリを作成する
  • XOOPS_ROOT_PATHを定義している行の直下に XOOPS_TRUST_PATH を追加
define('XOOPS_ROOT_PATH', '/home/xugj/public_html'); 
define('XOOPS_TRUST_PATH','/home/xugj/xoops_trust_path');  // これを追加
define('XOOPS_URL', 'http://www.xugj.org'); 
    • パスは自分の環境に合わせて変更すること。当然、xugj という部分はサイト毎に別の値になる。
Page Top

XOOPS_ROOT_PATH 外に xoops_trust_path が設置できない場合 anchor.png

ロリポップなど一部のホスティングサービスの中には、Web公開ディレクトリ(public_html等)にしかFTPアップロードが出来ないものがある。
そういう不思議な制限をかけるサーバは解約するのがいろいろな意味からも一番お勧めではあるが、どうしてもそこを使わざるを得ない理由がある場合、XOOPS_TRUST_PATHフォルダ以下を .htaccess 等で必ずアクセス制限すること。

  • mainfile.php を編集可能なアクセス権に変更(もし変更不可にしていたなら)
  • public_html 以下になるべく他者に判らない名前のディレクトリ(この例ではfoobarとする)を作成
  • mainfile.php 内にXOOPS_TRUST_PATHの指定を追加
define('XOOPS_TRUST_PATH','/home/xugj/public_html/foobar');  // もちろん実際に作成したディレクトリ名に変えること
 
  • 以下のような.htaccess ファイルを用意し、先ほどのディレクトリ内に格納
order deny,allow
deny from all
  • xoops_trust_path フォルダにアクセスができないことを確認。下記のようにアクセスした場合に、403 または 500 error になることを確認。
http://www.xugj.org/xoops_trust_path/
    • 403エラーにも500エラーにもならない場合は、.htaccessを完全に無視するサーバだと思われる。Web公開ディレクトリ内にしかファイルを置けないのに、.htaccessも効かないサービスは解約するしかない。(XOOPSだけでなく、CGIでもパスワード等の置き場所がないため)
Page Top

apache以外の場合(.htaccessが使えない場合の参考) anchor.png

  • IIS
    インターネットインフォメーションサービスの中からXOOPS_TRUST_PATHのフォルダのプロパティにて、「ディレクトリ セキュリティ」タブの「IPアドレスとドメイン名の制限」の編集より、「既定では、すべてのコンピュータからのアクセスを、許可する(R)」になっているところを、「拒否する(N)」に変更すること。例外は許さないこと。確認のため、http://www.xugj.org/xoops_trust_path/ のようにアクセスし、「このページを表示する権限がありません」と出るのを確認すること。他にも trust_path内にあるファイル( 例: http://www.xugj.org/xoops_trust_path/modules/protector/module_icon.png )などでも「このページを表示する権限がありません」が出るのを確認すること。
Page Top

XOOPS Cube Legacy 2.1 でのハマリポイント anchor.png

XOOPS Cube Legacy 2.1 で作成されるmainfile.phpには、最初から、以下のようなXOOPS_TRUST_PATH定義が存在する。

   // XOOPS Trusted Path
   // This is option. If you need this path, input value. The trusted path
   // should be a safety directory which web browsers can't access directly.
   define('XOOPS_TRUST_PATH', '');

この行を書き換えるようにすること。

誤って、この行の後ろに「追記」すると、その行は有効にならず、XOOPS_TRUST_PATHの設定がないものとして扱われてしまう。

Page Top

mainfile.php 記述の際のトラブルシューティング anchor.png

XOOPS_TRUST_PATHを記載する際に、mainfile.php の変更が必要ですが、その際のトラブルが多いので原因別にまとめてみました。

  • Warning: main(/www/dev03/include/common.php): failed to open stream: No such file or directory in /www/dev03/mainfile.php on line 96
    • define('XOOPS_ROOT_PATH', '/www/dev03'); のパスの記述が正しくありません。本当に/www/dev03 以下に、include/common.php があるか、パスの記述そのものが間違っていないか確認する。
  • 真っ白
    • XOOPS_DB_PREFIX の項目が正しくないか、そのprefixがDBにありません。
  • This page cannot be displayed due to an internal error.
    • define('XOOPS_DB_HOST', 'localhost'); が正しくない
    • define('XOOPS_DB_USER', 'root'); が正しくない
    • define('XOOPS_DB_PASS', ''); が正しくない
    • define('XOOPS_DB_NAME', 'dev031'); が正しくない
  • Parse error: parse error in /www/dev03/mainfile.php on line 95
    • mainfile.phpの該当行にゴミ(typo?)が入っている。先頭行などに不意に打った文字など無いでしょうか?

*1 FTPでログインした時に、public_htmlやwwwやhtdocsというディレクトリが見つかったら多分それ。より正確にはDocumentRootと呼ぶ

トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 10352, today: 1, yesterday: 1
初版日時: 2007-02-27 (火) 01:47:53
最終更新: 2014-01-13 (月) 22:06:02 (JST) (1315d) by chika3
Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities