プロWEB制作者向けXOOPS基礎実習
Section2-デザインコンシャスな商用サイトを作る(実践編-1:下準備)
この章では、実際のサイト制作を通してXOOPSのカスタマイズ法を理解していただきたいと思います。作成手順などは著者のやり方なので、そのつど 自分のやり方に置き換えて理解してください。題材はワンオフ(一品制作)で作るデザインコンシャスな商用サイトということにします。ワンオフなのでテーマ の二次利用などを考えず、自由にデザインして良いことにします。また、今後の運営によってのコンテンツの追加なども基本的に無いものとし、デザインによっ て自由度が制限されても可とします。
そしてまず、前提としてどのようなサイト機能が備わっているかなど、動的サイトとしての仕様が固まっていることとします。そしてサーバーには正常に 最新バージョンのXOOPSがインストールされ、あなたのPCには前章で紹介したXOOPSのローカル環境が備わっていることとします。
1.最初にデザインありき
静的サイトの時とやり方を変えなくともいい
既存の静的なサイト制作では、最初にPhotoshopやIllustrator、Fireworksなどで一枚画像としてページデザインを作って しまってから、それを切り出してHTMLを組むという方が多いと思います。私もそうです。そして、それはXOOPSサイトを構築する場合でも同じです。
まずは完全にデザインされたものを作ってしまいましょう。XOOPSの流儀や動的なサイト制作ということはあまり考えなくともいいです。もし、技術 的に問題があればそれはその時に回避策を考えましょう。良いデザインを作る為には、できるだけシステムに束縛されたくありませんので、いつも通りに作成す ることが最善策です。
ここに今回私が作成したページデザインの見本を置いておきます。あとはいかにこれをXOOPS上で正確に再現するかが問題です。
2.使用モジュールを選定する
できるだけアクティブなモジュールを
実はこれと前項のデザインはどちらが先でも良いと考えます。ただ私の場合、デザインに合わせてモジュールを選定する事もあるためにこちらを後にしています。
この場合の注意は、できるだけ「アクティブ」なモジュールを選ぶということです。「アクティブ」とは現在でもモジュール作者が活動中で、頻繁にアッ プデートを繰り返しているという意味です。何故かと言うと、何年もアップデートをしていないモジュールや、既に作者がXOOPSをやめてしまっているモ ジュールの場合、セキュリティに大きな問題がある場合が多いからです。また、古いモジュールの場合、最新のXOOPS(Cube)では正常に動かない場合 もあります。現在活躍中のモジュール作者であれば、直接リクエストを投げかけたり、問題が発生した場合は問い合わせたり、商用サイトであれば制作に参加し てもらって希望通りのモジュールを作ってもらうことさえできます。(そこまで無料でやってもらおうなんて思っていないですよね?まさか一万円などと・・・ まれにモジュール作者の冗談を真に受ける人もいますから(笑))
モジュールの選定にはXOOPS Wikiや書籍などを利用してください。「ホダ塾・モジュールレビュー」は実際にインストールして使ってみたインプレッションや、スクリーンショット(カスタマイズ前の)があるので参考にしていただけると思います。
場合によっては「クリエイティブ・コモンズ」という契約内容になっているモジュールもありますので、商用利用の場合は注意が必要です。時々公式サイトでもコピーライト表示の問題が提言されていますので、後々問題にしないためにもこの辺は気にしたほうが良いでしょう。
今回のテストサイトでは、以下のモジュールを使用しています。
Xoops Protector
blocksadmin
BluesBB
MultiMenu
InquirySP
XOOPS検索
ThemeChanger
うぇブログ
none
TinyD
どこでもXOOPSコメント
3.モジュールを組み込む
先にXOOPSの完動状況を作ってしまう。
モジュールが決まったら、すぐにローカルの環境に組み込んでしまいましょう。ついでに本番サーバにも組み込んでも良いです。最初にデフォルトデザイ ンのままで、「完全に動く」XOOPSを作ってください。実際のモジュールの動きやデザイン、サブメニュー項目の造りなどが理解できますし、後に問題が発 生した場合にその原因が元々の環境によるものなのか、それともカスタマイズによるものかの切り分けができます。静的コンテンツは、この時はまだ空のままで も良いですが、モジュールだけは組み込んでおきましょう。
4.モジュールのインストール法
簡単にモジュールの組み込みかたを
ここでは基本的なXOOPSの操作方法を解説することが目的ではないので、さらっと説明します。詳しく知りたい方は、入門向けの書籍やサイトをご覧下さい。
・文系のためのXOOPS入門
・一番やさしいXOOPS入門
・ITmedia XOOPSインストールガイド(少々古いが基本的に変わっていない)
-
モジュールを手に入れたら当たり前の事ですが解凍して下さい。多分modulesというフォルダの中に入っている場合が多いと思いますが、その中 にあるモジュールフォルダだけをXOOPSの/modulesディレクトリ内にアップロードします。インストールする前にフォルダ内にあるReadme ファイルは「必ず」読んでください。中には事前に他のファイルに手を加えないと動かないモジュールもあります。
-
モジュールが/modelesディレクトリ内に正常にアップロードされると、「管理メニュー>システム管理>モジュール管理」で下の段に未インス トールのモジュールアイコンが見えると思います。初期状態のXOOPSでは上のインストール済みの段には「システム管理」しかありません。右側「操作」に ある「フロッピーのアイコン」をクリックすることによりそのモジュールがインストールされます。
-
インストールが成功すると、そのモジュールアイコンは上の段に移ります。(fig2-1)モジュール名の部分はフォームのテキストエリアになって いますので、そこを書き換えて「送信」ボタンを押すことにより「メインメニュー」で表示されるモジュール名を変えることができます。また、アクティブ・ チェックボックスを外すことにより、一時的にモジュールの動作を止める事ができます。(この時点ではデータベースの内容は失われません)
その右側 の表示順はメインメニューに表示される順番です。この数値をXOOPSではWeight(重さ)といいます。数値が少ないほど上に表示されます。この仕組 みはXOOPSの各所に使われているので、覚えておいて下さい。なお、メニューの場合ここを0にすることによりメニューに非表示にすることができます。 (モジュールはアクティブ状態です)
fig2_1 モジュール管理画面上部(参考)
5.モジュールのアンインストール方法
組み込み方があれば外し方もある
もし、組み込んだモジュールが思っていたような働きではなかった場合や、いくつか試験的にモジュールを試す場合など、インストール済みのモジュールをアンインストールする場合も多いです。
1)最初に該当モジュールを「非アクティブ」にします。(前項参照)
2)非アクティブになったモジュールの右には「アンインストール」アイコンが現れますのでそれをクリックすることによりアンインストールが行われます。
3)アンインストールされたモジュールはセキュリティ上問題があるので必ずmodulesディレクトリ内から削除してください。以上で完了です。
コラム:XOOPSとセキュリティ
XOOPSのセキュリティに関しては、ネガティブな意見が多いかもし れないですが、それは当たっているとも外れているとも言えます。高額な料金を取る商用CMSでもXOOPS以上に穴だらけのものはありますし、特に XOOPSに多くの問題があるともいえません。また、問題があったとしても、それはXOOPSのコアの部分ではなくモジュールであったりします。アマチュ アプログラマーの作成したモジュールも数多くありますので、問題を内包しているモジュールも少なからずあります。
実は問題なのはそのことではなくて、運用する側にセキュリティに対する認識が希薄なことです。たとえ数百万かけて一見堅牢に作ってもらった筈のシス テムでも、運用如何で非常に危険な場合もあります。システムは放っておけば自然と穴だらけになります。一品制作のシステムは一度作ればそのままですので、 たとえ穴があっても気が付かない事もあります。カカクコムを例に出すまでも無いでしょう。
対してXOOPSは非常に細かくセキュリティアップデートを繰り返しています。これはいつでも最新のセキュリティパッチを当てられるということを意 味します。モジュールにおいても、公式フォーラムで問題が指摘されたモジュールはすぐに作者が対応したバージョンを発表する筈です。但し最新アップデータ が存在したとしても、それをすぐに適用しなければまったく意味を持ちません。もし、完成後に手を離れる場合でも、クライアントとアップデートに対しての打 ち合わせをしておく事をお勧めします。また、クライアントによるアップデートが困難な場合は、運用管理費をいただいてこちらでアップデート作業を行うこと も視野に入れて置いた方が良いでしょう。
そしてモジュールに関してですが、XoopsProtectorは必須だと考えてください。本来このモジュールはインストール時に自動で組み込まれるようにしても良いぐらいです。これを入れるだけで、攻撃の9割程度は防げます。最低限のセキュリティ対策と考えてください。
また、使用していないモジュールは本番サーバ上のmodulesディレクトリから速やかに削除するようにしましょう。これは XoopsProtectorの作者、日本XOOPS界の守護神GIJOE氏が著書Customizung XOOPSで述べているのですが、「未インストールでも、modulesディレクトリ内にあるだけでセキュリティホールとなるモジュールが存在する」ので す。基本的に不必要なファイルを本番サーバ内に置かないようにしましょう。そしてモジュールのバージョンはいつでも最新にしておく事をお勧めします。
(余談ですが、Googleでphpinfoを検索して驚きました。クラッカーに表戸を開けて「おいでおいで」をしているサーバ管理者が多すぎます。私はプログラムソースにもサーバ管理にも疎いですが、それでもこの危険さは分かります。)