カテゴリー
XOOPS

XOOPS Cube Legacy導入記

 いつものことだが,今回もTODOSの話に触発されて,XOOPS Cube Legacyを導入してみた。導入先は自鯖ではなく,先日ちょっと遊んだ後そのままになっていた@PAGES。
 XOOPS Cube Legacyではデータベースが必要だが,@PAGESの無料サービスでは登録時に作られるもの一つしかデータベースが使えない。先日のWordPressでこれを使用する形になっている。そのデータベースにXOOPSのテーブルを追加ということでもよかったのだが,@PAGESのWordPressには大したことはやっていなかったので,すっきりさせるためにまずFTPクライアントで接続して,WordPress関連のすべてのファイルを削除した。その後,「アカウント管理ページ」から「ブラウザからデータベースを操作する」(←phpMyAdminを使う操作です。)に入ってテーブルもすべて削除。

 これでXOOPS Cube Legacyがさらな状態で導入できる。
 手順は以下の通り。
 (注) Package_Legacy_2_1_8a.zipに含まれるdocs内のINSTALL.ja.htmlの記述と,ver.2.1.8aのダウンロードページのリリースノートのページのサイドバーのリンクから跳べるインストールの解説ページのうち,「XOOPS Cube Legacy をインストールしてみよう!(魚拓です)」を参考にした。

  1. Package_Legacy_2_1_8a.zipをダウンロード
  2. Package_Legacy_2_1_8a.zipを解凍。
  3. FTPクライアントでアクセスして,public_htmlにXoXディレクトリを作成。(ここにXOOPSを入れる。名前は適当。もちろんXOOPSのままでもよいし,public_htmlにじかにファイルをアップロードしてもよい。)パーミッションは705。
  4. 解凍で出来たフォルダ内のhtmlフォルダのすべてを,XoXディレクトリにアップロード。
  5. 文字コードをUTF-8にするために,解凍フォルダ内のextrasextra_languagesja_utf8htmlの内容を,XoXディレクトリに追加アップロード。
  6. http://www22.atpages.jp/~o6asan/XoX/ にアクセスする。
  7. 画面指示に従って進めるが,準備のところで,「・uploads/、cache/およびtemplates_c/ディレクトリと、mainfile.phpファイルをPHPから書込み可能にする。」とあるので,3つのディレクトリのパーミッションを706に,mainfile.phpファイルを606に変更。
  8. 「データベース、およびパス・URLの設定」については,アカウント管理ページの「データベース(mysql)利用情報」を参照しながら記入。
  9. ここまではすんなり行って,インストール第2ステップへ。
  10. ところがここで,
    Warning [Xoops]: Smarty error: problem writing temporary file ‘該当ファイル名’ in file class/smarty/Smarty.class.php line 1093
    Warning [PHP]: include() [function.include]: Unable to access 該当.php in file class/smarty/Smarty.class.php line 1256
    Warning [PHP]: include(該当.php) [function.include]: failed to open stream: Permission denied in file class/smarty/Smarty.class.php line 1256
    Warning [PHP]: include() [function.include]: Failed opening ‘該当.php’ for inclusion (include_path=’.:/usr/local/lib/php’) in file class/smarty/Smarty.class.php line 1256
    が出たので,templates_cのパーミッションを707に変更。サーバの絶対パスなどが入るので上記では消してあるが,実は,該当と書いてある部分でtemplates_cがらみが分かる。
    706でPHPが書き込み可,707で実行可になるので,XOOPSのメッセージ通りなら本来は706で大丈夫なはずだが,このあたり,PHPの環境で違うのかもしれない。
    12/11(Sat) uploadsのパーミッションを707に変更。これを706にしていたせいで,FCKeditor で画像アップロードでハマちゃった(痛ッ)。@PAGESでは実行可能を付与しておかなくてはいけないようだ。
    cacheについても同様かもしれないが,エラーが出るまで待っておこう。
  11. Xoopsのサイト管理者名とパスワードを設定。
  12. ログイン後,必須モジュールとpmを導入。
  13. 「インストール完了!」が表示され,安全のためにinstall ディレクトリの削除がうながされたので,対処後ページを再読み込み。
  14. 右掲の画面が表示された。
  15. 管理者メニューに移動すると,mainfile.phpへの書き込みを禁止するようにうながされたので,パーミッションを404に変更。
    mainfile.phpをローカルにバックアップ。
  16. 「互換モジュール・全般設定」を行う。ほぼ,デフォルトのまま。
  17. 「ユーザーモジュール・一般設定」を行う。ほぼ,デフォルトのまま。

  以上で,下準備は完了。後は何に使うかによって,テーマやモジュールを追加していくということのようだ。
  何に使うかが一番問題だが,実際に自鯖に導入するなら,サイトの統合用に使うのがいいかもしれないと思っている。

    追記:

  • テーマを替えて見た。
    基本色は黒と決めているので,http://www.theme4u.net/xoopsthemearchive から fydarkblack.zip をダウンロードして入れた。アップロード場所はthemesフォルダに解凍したfydarkblackごと。その後サイトからログインして,「互換モジュール」→「テーマの管理」と行き,アクティベート。
    ついでにlogo.gifとファビコンを替えた。
  • 追記2:

  • cherrytiger さんのご指導で,altsysを入れて見た。サイトの説明によると,システム管理をしやすくしてくれるらしい。当りまえだろうが,見かけは変わらない。
    2011/1/2(Sun) 書き忘れていたこと。XOOPS_TRUST_PATHについてはドキュメントルート以外に設置するのがいいらしいが,無料レンタルサーバでは無理なことが多い。今回もドキュメントルートに設置せざるをえなかった。で,ディレクトリ名をランダム生成の文字列に変更した。
  • 追記3:

  • cherrytiger さんのご指導で,Protectorを入れて見た。サイトの説明によると,悪意ある攻撃から守ってくれるらしい。当りまえだろうが,見かけは変わらない。
    ところで,「Protector」の「セキュリティガイド」タグにおいて,mainfile.phpにパッチが当たっていないとのメッセージが出ていた。
    「当てたんだけどなぁ」と思いつつ,TODOSのcherrytiger さんの書き込みを見直したら,私が当てた「●XOOPS Cube Legacy 2.1へのインストール」のパッチではなく,一般的なほうを当てていた。「へぇ」と思いつつ,書き直したら「非推奨」メッセージが消えた。
    もうひとつは,’allow_url_fopen’ : on 「非推奨」なんだが,これは多分php.iniの中だから,@PAGESに頼んでみるかね。

    • PHP.iniの[Fopen wrappers]において
      allow_url_fopen = On
      になっているようですが,特別に何か使っているための仕様でしょうか。
      そうでなければ,気持ちが悪いのでOffにしていただけませんか。
    • というのを送ってみた。(12/6)

  • 追記4:

  • cherrytiger さんのご指導で,picoを入れて見た。サイトの説明によると,静的コンテンツ用モジュールらしい。当りまえだろうが,見かけは変わらない。と書いたけど,ちょっと変わったね。「トップ」と「ホーム」はどういう使いわけなんだろうね。
  • 追記5:(12/6)

  • cherrytiger さんのご指導で,d3blogを入れて見た。これを利用するのに早速altsysがいるらしい。で,これがD3版Xoopsブログシステムです。
    ファイルのアップロードにおいては以下の点に留意。

    • extra/html/class/smarty/plugins以下にあるsmartyプラグインのアップ先
      XC2.0.x 系を使っている場合は公開側/class/smarty/plugins以下へということで,こっちは普通。
      XCL2.1.xを使っている場合はtrust_path側/libs/smartypluginsへアップし,html/preload下にあるファイルを公開側へアップ。
      なんとも微妙なディレクトリ名の違いだねぇ。

    d3blogの使い方を参考にセッティングをやってみた。

    • 「管理者メニュー」→「D3ブログ」→「カテゴリ管理」と進み,カテゴリ「EverydayLife」を作成。
    • 「パミッション管理」で各グループの権限を設定。
    • 「ブロック管理/モジュールアクセス権限」/「言語定数管理」この2つがよくわからない。ひとまず,「ブロック管理/モジュールアクセス権限」のゲストに対して,「D3ブログ (1.08) モジュールアクセス権限」を与え,あとはデフォルトのまま。これでいいのかな?
    • 「CSSマネジャー」当面は,一般設定でダイナミックCSSを選択。