Home » 3-モジュールの説明からインストールぐらいまで

ブログ、ポータル……XOOPSを何役にもする“モジュール”とは [Permalink]

 インストールに成功したはいいが、ブログのように“ここに文章を書いてボタンを押せば公開されるだろう”という場所が存在しない初期状態のXOOPS。ここで考えないといけないのは、ブログとCMSの根本的な違いである。
 ものすごく大雑把にたとえると、ブログはゲームウォッチ、XOOPSはファミリーコンピュータである。ゲームウォッチ(ブログ)は最初からゲーム(書いた文章を簡単に表示できる機能)が一つ入っている。だから、単体だけで遊ぶことができる。ファミリーコンピュータ(XOOPS)はそれだけであればただの箱である(※実際にはブログもXOOPSもそんな単純なものではないが、イメージ的にわかりやすい説明ということでお許し願いたい)。スイッチを入れても黒い画面が表示されるだけ。遊ぶためにはカセットを買ってきて差し込まなければならない。このカセットにあたるのが「モジュール」と呼ばれるプログラムである。ようするに、XOOPSをインストールしたばかりの状態ではなにもできないのは当たり前なのだ。焦る必要はまったくない。お茶でも飲んで一息ついてからモジュール探しの旅に出掛けよう。

モジュールを探してみる [Permalink]

XOOPSを彩る多彩なモジュールたち [Permalink]

 日本語が通るモジュールの多さというのが他のCMSと比べてXOOPSの一つの売りなので、とにかくたくさんの種類がある。なんでもかんでも取り込むその雑食性は圧倒的であり、そういう面でもファミコンっぽい。そんな中で特徴的で見栄えのするモジュールを挙げるなら、

 自サイトをソーシャルネットワーク化する「MyFriend Module

 MyFriend Module

 動画ファイルの投稿やYouTubeのURLの投稿ができる「X_MOVIE CUSTOM

 X_MOVIE CUSTOM

 ユーザがそれぞれ自分のスケジュールなどを書き込める「piCal

 piCal

 ジャンルを設定してAmazonの商品データを表示できる「Amazonくん

 Amazonくん

 自サイト内にGoogleマップを表示できる「MyGmap Module

 MyGmap Module

 この辺りだろうか。ブログやフォーラムといった、サイトに欠かせない類のモジュールも当然のことながら多数存在し、組み合わせはほぼ無限で、モジュール探しはしばらく飽きないと思う。

↑このページの一番上へ

具体的なモジュールの探し方 [Permalink]

 で、問題はどこを探せばモジュールが見つかるのかということであるが、

モジュール情報 | XOOPS Cube日本サイト
X難 - XOOPS Cubeってむずかしい !? - リンク集 : モジュール

 などを見て回りつつ、当サイトの

モジュール情報データベース

 に一通り目を通していただきたい。そうすれば、全部というわけにはとてもいかないが、日本発のモジュールはだいたい拾えると思う。

 見てみたが種類が多すぎてどれを選んでいいのかわからないという人のために、モジュール構成の一例を書いておこう。
 オーソドックスに「ブログ」「掲示板」「文章や画像を好きなように貼りつけられるモジュール(自己紹介、会社概要といったプロフィールや、ブログではない独立した読み物のコンテンツを作成するのに有用)」「メールフォーム」を設置するとして、

XOOPS Cube Legacyを用いた場合の、モジュール構成の一例

 ブログ
 →d3blog(D3モジュール)
 掲示板
 →d3forum(D3モジュール)
 文章や画像を好きなように貼りつけられるモジュール
 →pico(D3モジュール)
 メールフォーム
 →inquirySP

 こんな感じの組み合わせでいける。以上4つに加え、セキュリティ向上のために「Xoops Protector」、アクセス権限の設定やテンプレートの管理などを容易にできるように「altsys」を入れれば、ベーシックな構成として問題ないだろう。この組み合わせはXOOPS2.0.16a JPでも勿論使える。
 6つのモジュールうち5つがD3(Duplicatable V3)モジュールだが、D3については以下のページを参照してほしい。通常のモジュールと比べるとインストール方法に違いがあるが、慣れればさほど難しくない。

XOOPSの新型モジュールシステム「D3」の説明

 XOOPS Cube Legacyだと、どのモジュールが使用できないのかという情報は以下のサイトで確認できる。

XOOPSCubeLegacy/モジュール互換性情報 - XUGJ-Wiki
xoopscube.org - XOOPSCubeLegacy/ModuleCompatibility-Wiki(英語)

↑このページの一番上へ

モジュールをダウンロードする [Permalink]

 ダウンロードの仕方についてだが、モジュール作者のほとんどはXOOPSでサイトを構築しているので、それ前提に話を進めていきたい。
 モジュール情報データベースを見て、「このモジュールは面白そうだ。ダウンロードしてみよう」ということになったとする。ダウンロードURLをクリックすると、下にある画像のようなページが出てくるだろう。サイトによってデザインは違うが、ほとんど似たような感じだと思う。

モジュールのダウンロードページ

キャプション d3forumのダウンロードページ

 ダウンロードする場合は、左に見えるフロッピーディスクのアイコンをクリックする。画像には、「tgz」と書かれているものと「zip」と書かれているものの二つあるが、どちらも中身は一緒である。XOOPS本体の圧縮ファイル同様、zipファイルの方が簡単に扱えるだろう。
 ダウンロードページには、モジュールをインストールするにあたって注意すべきことが書いてあったりするので、一通り読むこと。あまり多くはないが、モジュールファイル以外に、同梱されていない別のファイルをインストールしなければいけないというものや、あるサイトでユーザ登録してから、固有の番号を取得し、それを入力しないと使えないというのもある。

モジュールファイルだけでは使えないモジュールの一例

 モジュールファイル以外のファイルが必要

 別サイトでのユーザ登録が必要

 注意書きをまったく読まずにはまってしまい、Googleなどで検索することもなく作者のフォーラムで質問したとしたら、多分快い対応はされないだろう。

参考までに、うちの本家で稼働しているモジュール一覧

↑このページの一番上へ

モジュールをインストールしてみる [Permalink]

D3モジュールはインストール前に設定が必要 [Permalink]

 使いたいモジュールを見つけたら、ダウンロードしてインストールすることになる。ここでは、「XOOPSをインストールした後、トップページになにかしら文章を表示する」ということを目的として、ブログモジュール「weblogD3」を導入するという方向で話を進めていく。インストールの流れはどのモジュールでも基本的に一緒なので、ブログを書くつもりはないという人でも読んで参考にしてみてほしい。

weblogD3の画面

キャプション weblogD3の画面

 さて、皆さんは「モジュールのインストール」と聞いて、どんなイメージを持たれるだろうか。今までサイトを作ったことがない人で、Windowsユーザならば「setup.exe」とか「install.exe」というようなファイルがあって、それをダブルクリックし、どこになにをインストールするか自分で決めていくのでは、なんていうイメージを持つかもしれない。掲示板スクリプトなどを自分でインストールしたことがあるという、決してサイト作成の初心者とはいえないような人でも、「config.cgi」とか「install.cgi」といった、“いかにもインストールに必要そうなファイル”を見つけ、それをエディタなどで開いてマウスのホイールをぐりぐり回しながら、個別のデータを記述して進めていくというイメージを持つのではないだろうか。

Movable Typeの設定ファイル

キャプション Movable Typeでは、ファイルをサーバにアップロードする前にmt-config.cgiというファイルをエディタで開き、設定を書き込む必要がある

 XOOPSのモジュールのインストールでは、configやinstallという名前がついたファイルを探す必要はない。インストール作業、及び、モジュールを使うための細かな設定はファィルをアップロード後にブラウザから行える。しかし、あるシステムを採用したモジュールをインストールする場合に限り、アップロード以前の段階でやることがある。そのシステムとは「D3(Duplicatable V3)」というものだ。そして、weblogD3は名前を見てわかるように、このシステムを採用している。
 D3については『「XOOPS Cube Legacy 2.1」と「XOOPS 2.0.16a JP」の関係』という項でも書いたが、

XOOPSの新型モジュールシステム「D3」の説明

 を参照してほしい。初めてサイトを作るという人にとっては多少難解かもしれないが、一度、XOOPSでD3を使えるように設定してしまえば、それから後のD3モジュールのインストール作業はすべてルーチンワーク化できる。D3モジュールを一切使わずに普通のモジュールだけでサイトを構築することももちろん可能で、それならばモジュールのインストールはもっと簡略化できるのだが、サイトの可能性が限定されてしまうという意味であまりおすすめではない。本当に、数分から数十分でできる作業なので、是非チャレンジしてみてほしいと思う。

 D3の設定ができたら、weblogD3をインストールしてみることにする。
 まずは、weblogD3のダウンロードページへ。

weblogD3のダウンロードページ

「モジュールをダウンロードする」の項で書いたように、フロッピーディスクのアイコンをクリックする。ここですんなりとダウンロードできる場合の方が多いのだが、weblogD3は別ページへ飛ぶ。

weblogD3のダウンロードページその2

 XOOPS本体のダウンロードと一緒でファイル名が二つ見えるが、zipという拡張子を落とす方が簡単だろう。

↑このページの一番上へ

ファイル群をサーバにアップロードする [Permalink]

 ファイル解凍後、サーバにアップロードする。『XOOPSの新型モジュールシステム「D3」の説明』で書いたように、D3モジュールのインストールは、二箇所にアップロードすることになる。

普通のモジュールをアップロードする場合

 解凍したファイルに、「modules」というフォルダがあったら、そのフォルダを選択してサーバ上にある同名フォルダに上書きする形でアップロードする。

piCalのフォルダ構成

キャプション D3モジュールではない、piCalというモジュールのフォルダ構成。modulesというフォルダがある。余談のような形になってしまうが、このモジュールのようにmodulesフォルダと並列して、別のフォルダが存在することがある(piCalではcommonフォルダ)。もしそういったフォルダが存在していたら、サーバ上の同名フォルダに上書きする形でアップロードするとモジュールを拡張できる。どう拡張できるのかは、readmeファイルなどに書かれていることが多い。

FFFTPの画面

キャプション FFFTPでmodulesフォルダを選択し、サーバ上のmodulesフォルダに上書きする形でアップロードすればOK。サーバ上のmodulesフォルダを開いて、その中にアップロードしないように注意。

 もし、「modules」というフォルダがなかったら、「admin」というフォルダを探し、その直上のフォルダ(モジュールの名前になっていることが多い)を、サーバ上にある「modules」フォルダにアップロードする。

D3モジュールをアップロードする場合

 解凍したファイルに「html」というフォルダがあるのでそれを開く。すると「modules」フォルダが出てくると思うので、それをサーバ上にある同名フォルダに上書きする形でアップロードする。

weblogD3のフォルダ構成

キャプション weblogD3のフォルダ構成。htmlフォルダの下にmodulesフォルダがある。

 続いて、「xoops_trust_path」というフォルダを、ドキュメントルート外(サーバによってはドキュメントルート内)に作成した同名フォルダに上書きする形でアップロードする

FFFTPの画面

キャプション htmlフォルダと並列している「xoops_trust_path」フォルダを選択し、サーバ上の同名フォルダに上書きするような形でアップロードすればOK。

 念のために書いておくと、modulesフォルダのアップロードと、xoops_trust_pathフォルダのアップロードの順番は逆でもまったく問題ない。

↑このページの一番上へ

インストールはXOOPSの管理画面から [Permalink]

 アップロードが終わったら、管理者メニューから「モジュール管理」を選択する。そして、画面の一番下を見てみよう。今までなかったアイコンが表示されているはずだ。

モジュール管理画面

キャプション モジュール管理画面の一番下に、未インストール状態のモジュールアイコンが並ぶ。

コラム [コラム]モジュールのアイコンがちゃんと表示されない場合 [Permalink]

 モジュールファイルをちゃんとアップロードしたつもりなのに、モジュールのアイコンが表示されないということがある。このケースはアイコンの表示状態によってトラブルの要因が大きく違うので切り分けて説明したい。
 まずは、「モジュール管理画面の一番下にインストールしたモジュールの情報は出てくるのだが、本来、アイコンが表示されるところが赤い×マークになっている場合」。

リンク切れを表す赤い×マークと、Module File for Not Found!という文字列が表示されている管理画面

 これは二つのケースが考えられる。一つ目は「アップロードした場所が間違っている」というケース。本来だったら/modules/の中に入れないといけないのに、/modules/と並列した場所にアップロードしてしまうという間違いが一番多いのではないだろうか。

 public_htmlをルートとした場合、

 public_html
 ┃
 ┣modules
 ┗weblogD3

 これでは駄目。

 public_html
 ┃
 ┗modules
    ┃
    ┗weblogD3

 が正解になる。
 二つ目は「アップロードしたものが間違っている」というケース。

 public_html
 ┃
 ┗modules
    ┃
    ┗html
      ┃
      ┗weblogD3

 weblogD3フォルダを/modules/の下にアップロードしなければいけないのに、その上のhtmlフォルダからアップしてしまうと、当然のことながらエラーが発生する。
 以上のようにこのトラブルはケアレスミスによって起きるものなので、間違ってアップロードしたものをFFFTPなどのFTPクライアントソフトで削除して、正しい場所に入れ直してやれば簡単に解決する。

 問題は「アップロードした場所もファイルも間違っていないのに、モジュールのアイコンどころか情報すら一切出てこない」という場合だ。このケースはしばしば「なにもいじった記憶がない」という意識下で発生し、「いつの間にかそういう風になっていたみたいで、原因がさっぱりわからない」ために、うまく解決できないことがある。
 以下の画像を見てほしい。

モジュール管理画面

 モジュール管理画面の一番下に、未インストール状態のモジュールは存在しない。ところが実際はweblogD3のファイルを然るべき場所にアップロードしているのだ。なぜ、正しくアップロードしたのにもかかわらず、なんにも表示されないのか。
 いくつかの原因が考えられるが、まず最初に疑いたいのはmodulesフォルダのパーミッションの設定だろう。セキュリティ向上のためにサーバにあるすべてのフォルダのパーミッションを「701」にした、なんていう記憶があるならば、modulesフォルダのパーミッションだけ「705」にしてみる。
 次に疑いたいのは、以前、アップロードし、その後、アンインストールしたが、サーバから削除せずにそのまま置いてあるというようなモジュールがなにかしらの影響を与えているのではということ。
 たとえば、MyFriend ModuleはXOOPS Cube Legacy専用のモジュールだが、それを知らずにXOOPS 2.0.16aを使っているサーバにアップロードしたとする。すると、モジュール管理画面で「Fatal error」というエラーが発生し、ある条件下において、別にアップロードしたモジュールの情報が表示されなくなってしまうのだ。

PHPデバグをONにしてエラーが表示されたモジュール管理画面

キャプション PHPデバッグをONにすると、モジュール管理画面の下にエラー表示が出る

 この場合は影響を与えているモジュールのファイルをサーバから削除することで問題は解決する。

 エラーが発生していないのを確認してから、「操作」という項目の下にあるフロッピーディスクのアイコンをクリックする。

weblogD3のインストール画面

キャプション 二つ並んでいるアイコンの左の方。

 すると下のような画面が出てくるので、インストールボタンをクリック。

「このモジュールをインストールするためには下のボタンをクリックしてください」という指示と、「インストール」「キャンセル」というボタンが表示されている

インストール直後の画面

キャプション 画面にわーっとたくさん出てくるが焦らずに

インストールが正常に完了し、successfullyと表示されている

キャプション 一番下までスクロールして、「インストールが完了しました」という文字列を確認

 無事にインストールが完了する。

↑このページの一番上へ

XOOPS Cube Legacyでのモジュールのインストール [Permalink]

 参考までにXOOPS Cube Legacyにおいてのモジュールのインストール方法を書いておこう。インストールからアンインストールまで、すべてをモジュール管理画面から行う2.0.16a以前のXOOPSと違い、XOOPS Cube Legacy 2.1では、インストールに限っては管理メニューにある「互換モジュール」という項目の中の「モジュールのインストール」という場所から行う。モジュールファイルをサーバにアップロードすれば、ここにアイコンやバージョン情報が出てくるはずだ。

XOOPS Cube Legacyでのモジュールインストール画面

キャプション インストールできるモジュールはすべて「モジュールのインストール」の中にある。

XOOPS Cube Legacyでのモジュールインストール確認画面

キャプション インストールの確認画面。バージョンや簡単な説明が付加されている。XOOPS Cube Legacyは2.0.16aまでのXOOPSと違い、なにをするにもメリハリがつき、ユーザに提示される情報が多くなった。

 インストールの流れは2.0.16a以前のXOOPSと同様であり、特筆するようなことはない。過去のXOOPSに慣れているとここは戸惑いそうだが、インストールする場所がはっきりしているという点において、ユーザビリティはXOOPS Cube Legacy 2.1の方がはっきりと上だ。

↑このページの一番上へ

モジュールをアンインストールしてみる [Permalink]

 ちなみにモジュールをアンインストールしたい場合だが、ちょっと変わっているのでついでに書いておこう。

 ただ単にサーバにアップロードしたファイルを削除すればいいのでは? と思ってしまうが、それだとモジュールにアクセスすることはできなくなるが、データベースにあるデータはしっかりと残ってしまう。この状況を実社会にあてはめて考えると、別れた彼女への連絡手段はもうないが、彼女との思い出の品は山のように残っているという感じになるだろうか。トラブルの予兆を感じるのは私だけではないだろう。
 ファイルはもちろんのこと、データベースにあるデータもしっかりと削除したいならば、きちんとアンインストールの手順を踏もう。

アクティブという項目にチェックが入っている状態

キャプション モジュール管理画面で、アンインストールしたいモジュールの、「アクティブ」という項目のチェックを外す

アクティブのチェックを外した画面

キャプション チェックを外したら、下の方にある「送信」ボタンをクリック

非アクティブにすると赤字で表示されている画面

キャプション 該当モジュールの「操作」という項目が「非アクティブ化する」と赤字で書かれていることを確認し、送信ボタンをクリック

非アクティブ化が行われた画面

キャプション 該当モジュールが非アクティブ化される。この時点ではモジュールにアクセスはできなくなるが、データベースにデータは残っているという状態

モジュール管理画面において、アンインストールしたいモジュールのところにフロッピーディスクのアイコンが表示されている

キャプション 再びモジュール管理画面へ行き、該当モジュールの「操作」という項目にあるフロッピーディスクのアイコンをクリック

モジュールのアイコンの下に、「本当にアンインストールしてもよろしいですか」という文章と、「はい」「キャンセル」というボタンが表示されている

キャプション 本当にアンインストールしていいですかと聞かれるので、「はい」をクリック

アンインストール完了画面

キャプション データベースのデータが消え、無事、アンインストールが完了する

 あとはFFFTPなどのFTPクライアントソフトを利用して、modulesフォルダに残っているモジュールファイルを削除すればいい。

 ポイントとしては、非アクティブ化までならデータベースのデータは消えない、アンインストールまでいくと完全に消えてしまうということだろう。一応、モジュールのアンインストールパターンとその結果を整理しておこう。

アンインストールパターンとその結果

 ファイル→消える データベースのデータ→残る

 ファイルが消えるのでモジュールにはアクセスできなくなるが、データベースのデータは残る。同じモジュールを改めてインストールするとき、トラブルが起きる可能性がある。どういう目的でもやってはいけないパターン。

キャプション サーバにあるファイル(画像では標準のFAQモジュール)をいきなり削除すると、管理画面ではこんな感じになる。削除したモジュールファイルによって、画面が真っ白、管理画面に入れないなどなど、様々なトラブルが起こりうる。

 ファイル→残る データベースのデータ→残る

 モジュールにはアクセスできなくなるが、ファイルはそのままなのでなにかしら他に影響を与える可能性がある。データベースのデータは残るので、元に戻すのが簡単。

キャプション モジュールを非アクティブ化すると管理画面ではこんな感じになる(画像では標準のFAQモジュール)。この状態でインストールボタンをクリックすれば、非アクティブ化する前とまったく同じ環境に戻すことができる。

 ファイル→残る データベースのデータ→消える

 モジュールにはアクセスできなくなるが、ファイルはそのままなのでなにかしら他に影響を与える可能性がある。再インストールは簡単だが、データベースのデータは消えるのでアンインストール前の状態には戻らない。

キャプション 管理画面でモジュールのアンインストールまでを行い、ファイル自体はサーバにそのまま残しておくと管理画面ではこんな感じになる(画像では標準のFAQモジュール)。インストールボタンを押せば問題なく再インストールされるものの、記録されていたデータベースのデータはアンインストール時点で消えてしまうために、完全に一からということになる。

 ファイル→消える データベースのデータ→消える

 モジュールにアクセスできなくなり、データベースのデータも消える。影響力は完全になくなる。

 自分がどのレベルでモジュールを消したいのか、なんらかの理由で少しの間アクセスできなくなればいい、後で戻すという感じなのか、存在したものを完全に消滅させるという意気込みなのか、しっかりと確認してからアンインストール作業を行うようにしよう。

↑このページの一番上へ

XOOPS Cube Legacyでのモジュールのアンインストール [Permalink]

 インストールと違って、アンインストールについてはほとんど違いはない。モジュール管理画面から、チェックを外して非アクティブ化、その後、アンインストールボタンを押すという部分においてはまったく同じだ。
 ちょっとだけ違うのは、非アクティブ化、そしてアンインストールを決定する際にクリックするボタンが「送信」ではなく「アップデート」だというところだろう。

モジュールを非アクティブ化する前の画面

キャプション 非アクティブ化にする画面。アップデートと書かれているボタンが見える。

これは違いという意味においては些細なものだが、心理的にはかなり戸惑う部分ではないだろうか。なぜなら、アップデートというのは往々にして機能を追加するといったプラスの作業を指すことが多く、モジュールを“削除”する場合においては似つかわしくない感じがするからだ。だがよく考えてみれば不必要なファイルを捨てるということもサイトの質を向上させることに違いないので、自信を持ってアップデートボタンをクリックしよう。

 なお、非アクティブ化後、アンインストールを行ったがファイル自体はサーバから消していない場合、「モジュールのインストール」から再びインストールすることが可能なことを付記しておく。

↑このページの一番上へ

コラム [コラム]普通に文章を表示したい場合(カスタムブロックを有効に使う) [Permalink]

「いやブログモジュールとか興味はあるんだけど、そういう難しいことはひとまず置いといて、とりあえず普通にトップページに文章を表示したいんだよね」

 こう思う人は結構多いはずだ。ホームページビルダーのようなツールで1ページ、1ページ作っていた人ならなおさらである。モジュールに依存せず、挨拶とか自己紹介とかサイトの方向性とかを恒久的に同じ場所に表示させておきたい。このような場合には、「新規ブロック」を使うのが一番簡単だ。
 新規ブロックはXOOPSで構成されたページのほぼどこにでも置くことができ、また、自由に文章を書き込んだり、画像へのリンクを貼ったりすることができるので地味なわりには小回りが利いて使い勝手がよい、かなり強力なツールである。
 作成方法だが、とりあえず「こんにちは!」という挨拶が書かれたものをトップページの真ん中の一番上に表示するとしよう。まず、管理メニューにアクセスし、「システム管理(System Adminと書かれている)」のアイコンをクリック、右に「ブロック管理」というのが出てきたのを確認し、画面を一番下までスクロールさせると編集画面が現れる。

ブロックの編集画面

「ブロックのタイプ」には、サイドブロック左、右、中央ブロック左、右、中央というものがある。対応表は以下の通り。

ブロックの配置

 トップページ真ん中の上に表示したいわけだから、「中央ブロック-中央」を選択、並び順は「0」にしておく。「表示する画面」はもちろん「トップページ」。タイトルには「ようこそ」とでも入れておこう。

「コンテンツ」は表示したい本文なので、

 と入力。あとは送信ボタンをクリックすればいい。トップページに戻れば、今作ったブロックが表示されているはずだ。
 ブロック管理機能をうまく使えば、フォーラム専用の利用規約が書かれたブロックをフォーラムの上に置く、などというピンポイントの配置も簡単にできる。

↑このページの一番上へ

2005年1月6日執筆 2008年10月20日加筆修正