ID-Blogger

Drupalで企業サイト構築メモ

Drupalで企業サイト構築メモ01

いままでWebサイト構築のCMSにはMovable Typeを利用してきたのですが、開発元のシックス・アパート日本法人がインフォコム社に売却されたのがあまり好材料とは捉えられず、この機会に他のCMSもテストしておこうと思いたちました。

CMSといってもいろいろあるのですが、以前からオススメされていたDrupalのVer6.xで企業サイトを構築するのを想定してテストしてみました。
という事で実際にテストしてみて分かった事を備忘録として残しておきたいと思います。

Drupalの特徴

Drupalというと米ホワイトハウスNASAの公式サイトで利用されているので有名です。
またOpen Source Awardsでも数々の受賞歴があり機能性も折り紙つきと言えるでしょう。

大まかな解説はWikipediaのDrupalの項目で確認できるので、それとは別にWebサイト制作者として自分なりに使ってみて感じた感想と特徴をあげてみたいと思います。

Drupalで企業サイト構築メモ02
  • オープンソースなので無料で使える。
  • インストールしたディレクトリのindex.phpがホームページになる。
  • ディレクトリを移動させてもそのまま稼働。お手軽引越しが可能。
  • 動的にページ生成しているので更新の反映が早い。
  • 動作が軽い。
  • 特定の管理画面URLは存在せず、管理者でログイン状態なら開いているページをその場ですぐ修正できるので初心者にも直感的で分かりやすい。もちろんページ一覧からの全体管理も可能。
  • 固定ページとブログページといった違う種類のページ同士の構造を柔軟に連結可能。柔軟すぎて管理できない人には逆に難しいかも。
  • モジュールを追加する事でブログサイトやコミュニティサイト、ECサイトなど多彩なスタイルのWebサイトを構築可能。
  • 基本がコミュニティサイトを目指していたのか?ユーザー権限の微細なコントロールが可能。
  • インストール直後のモジュールが最小構成なので自分で追加しないと使い物にならない。
  • 7,000種類を超えるモジュールが開発されているが、種類が多すぎてどれが適切なのか分からない。
  • 世界規模のコミュニティなので情報が満載。しかし日本のユーザーはまだ少ないので日本語の深い情報を探すのは現時点では困難。
  • 管理メニューはシンプルでわかりやすいが、モジュールを追加し始めると加速度的に難易度が上がって行く。かなり小規模なサイト or キチンと管理者のいる大規模サイトに向いているかも。
  • モジュールの説明が英語でも自分で日本語に書き換えて設定可能。管理を技術者以外に渡す場合はこの辺の手間をかけないといけないかも。
  • モジュール同士で依存関係がある。モジュール管理画面で依存関係を示してくれるので便利。
  • ひとつのモジュールを追加すると依存関係にあるモジュールをどんどん追加しなければならない場合もある。
  • テーマを変えるだけで見た目のデザインを変更可能。テーマファイルも1,000種類くらい配布されてるので目的にあったものがあるはず。もちろん自作も可能。

Drupalで企業サイトを構築するためのモジュール

前述の通りインストール直後のモジュールは最小構成なので、企業サイト(または店舗サイト)などの構築に必要と思われるモジュールを探してある程度使えるようにしてみました。
最初から入っているコアモジュールも含めて解説してみたいと思います。

Drupalで企業サイト構築メモ03
  • Blog
    いわゆるブログが作れるコアモジュール。実はストーリーというまったく似たような機能が最初からついています。違いがわからなかったのでテキストのみのお知らせ的な内容はストーリー、写真がある長文みたいなのはBlogという風に分けて使うのが良いかと思います。
  • Book
    Q&A集のような階層構造を持つコンテンツを制作する場合に適したコアモジュール。自動でナビゲーションに反映してサブメニューみたいなのを作れるので便利です。通常ページをBook構造の中に組み込んだりと柔軟な構成が可能ですが、間違って組み込んだら外せなくなりました...
  • Path
    URLエイリアスを使えるようにするコアモジュール。動的ページ生成なので何もしていないと「http://www.example.com/node/5」みたいなページのID番号毎のURLにされてしまいます。これを「http://www.example.com/contact」のような自分で決めたURLエイリアスでアクセス出来るようにしてくれます。
  • Webform
    お問合せやアンケートといったフォームを作成できるモジュール。あっという間に作れて便利です。コアモジュールの「Contact」はまた機能が違うのでご注意。
  • XML sitemap
    検索エンジンにサイトの更新情報や構造情報を送るための「sitemap.xml」を生成するモジュール。
  • FCKeditor
    ページの編集画面でWYSIWYG形式のHTMLエディターの機能を使えるようにするモジュール。HTMLタグに詳しくないクライアントさんに渡す場合など必須です。
  • IMCE
    「FCKeditor」などのWYSIWYG形式のHTMLエディターと連携して画像などのファイル管理をできるようにするモジュール。デフォルトではファイルアップローダ-が付属してないのでその代わりでもあります。画像ファイルのサムネイルも作れるので便利。
  • Pathauto
    「Path」のURLエイリアス生成を使い易くしてくれるモジュール。最初に設定しておけばブログ記事の場合は「blog/ノードID」みたいなURLエイリアスを半自動で設定してくれます。「Token」モジュールも必要です。

【2011年2月26日追記】元々Drupalをオススメしていただいたkeiziさんから下記のモジュールも入れるべきとアドバイスいただきました。ありがとうございます!

  • Content Construction Kit (CCK)
    独自のコンテンツタイプを追加してフィールドの項目も自由に設定できるようにしてくれるモジュール。例えば製品紹介用の「製品」というコンテンツタイプを拡張し、価格や製造番号といった共通するフィールドを持たせたりするのに使えるかと思います。
  • Content Templates
    コンテンツタイプ毎に表示形式のテンプレートを作れるモジュール。「Content Construction Kit (CCK)」などでフィールドが拡張された場合に、表示位置などをテンプレート化するのに使えます。
  • Views
    コンテンツやユーザなどの任意の一覧を作れるモジュール。「オススメ商品」として任意に10点のコンテンツページを選んで一覧としてTOPページに表示したりするのに使えます。

500 Internal Server Errorからの復旧

バンバンモジュールを追加していたら「500 Internal Server Error」を吐いて動かかなくなりました。
インストールしたモジュールが対応するDrupalのバージョンが、マイナーバージョンで適合していなかったのが原因でした...

サイトのページも管理画面も全て共通なのがあだとなって一度エラーが出るとサイト全体が死亡しますので、モジュールの取扱には注意しましょう。

復旧させるにはエラーが起きた段階でインストールしたモジュールをFTPで削除するだけでエラーからは復旧するみたいです。
データベースにモジュールの設定が残ってしまうので、モジュール管理画面でアンインストールしていけばキレイに消えると思います。

参考になったサイト

Drupalのテストをしている中で情報を探すのがなかなか大変でした。いろんなサイトを見ましたが特に参考になったサイトをご紹介しておきます。