Drupalとは? - 特徴・強み・仕組み

Drupal logo

進化し続ける Drupal でウェブサイトを作ろう。

Drupal 最新版ダウンロード

Drupal(ドゥルーパル/ドルーパル)の情報をチェックしよう

このページでは Drupal の導入を考えている方に向けて、日本語でどこよりも詳しく Drupal の特徴やインストール方法、基本的な使い方や開発の基礎を詳しく説明しています。またセキュリティー関連情報や Wordpress など他の CMSとの比較もご紹介しています。このページの各コンテンツをお読みいただけると Drupal に関する基礎知識が身に付きます。

Drupal:柔軟・安全・パワフルなオープンソース CMS

Drupal(ドゥルーパル/ドルーパル)は世界的な大企業、政府機関、大学、NGO など大規模なサイトを中心に幅広く利用されている、プログラム言語 PHP で記述されたオープンソースの CMS(コンテンツ管理システム)です。Drupal は非常に柔軟で拡張性の高いプラットフォームのため、単に通常のウェブサイトを公開するだけではなく、多言語でさまざななデバイスに向けた情報の配信が可能です。Drupal は drupal.org で配布されています。

drupal.org

Drupalの導入、開発、保守管理をお考えの方へ

Drupalの導入や保守管理をご検討されている方は以下の、ANNAIの提供する以下の書籍やサービス、資料をご参考ください。Drupalについてご不明点がある場合はお気軽にお問い合わせください。

Drupal の特徴とできること

Drupal は「CMS」としての側面と、「ウェブアプリケーションフレームワーク」という2つの側面を合わせ持つシステムです。Drupal を単に CMS として解説している記事を多く見かけます。しかし、Drupal は一般的な CMS に比べて汎用性が高く、複雑なシステムを構築できるフレームワークとしての特徴を合わせもっています。

Drupal を利用する事で、会員制サイト、SNS、社内のイントラシステム、などを構築することができます。また、最近では Drupal を情報を配信するためのハブとして利用し、様々なデバイスやシステム向けに情報を配信していく「ヘッドレス Drupal」という活用でも注目を集めています。

Drupal の強み

数あるウェブアプリケーションフレームワークの中で私たちが Drupal をお勧めする理由は4つあります。
Drupal は「Web ガバナンス」「多言語対応」「セキュリティ」「拡張性」の観点から、非常に優れたシステムであるためです。

Drupal は Web ガバナンスの統制に向いてる

大規模なサイトにおいては、大量のコンテンツを統制を保ちながら、どのように管理していくかは大きな課題です。数百人~数千人規模で、複数の拠点にてサイト運営が行われる場合もあります。それに加え、それぞれのコンテンツや編集者には部門や部署などの所属組織が存在します。これらのコンテンツを所属組織毎に承認フローを経て公開するなど、組織内のガバナンスを維持しながら大量のコンテンツを維持管理してくのはとても大変なことです。

大量のコンテンツを効率的に一元化管理

Drupal の利点は、他の CMS やプラットフォームと比べて「サイト内のデータを効率的に再利用できる点」です。一つのコンテンツを様々な表示方法やデータ形式で公開する機能が充実しています。そして、それらのコンテンツをカテゴリ毎に分類し、ユーザーや組織と紐づけながら管理する機能を実装しています。また、ユーザーや組織に対して、非常に詳細な権限設定を行う事も可能です。Drupal の持つこれらの機能を活用する事で、組織内の大量のコンテンツを効率的に一元化管理する事ができます。

Drupalによるコンテンツの一括処理

大量のコンテンツ運営に役立つコンテンツの一括処理機能 (Drupal コアで実装)

Drupal コアに標準実装される承認ワークフロー機能

Drupal コアには標準で承認ワークフロー機能が備わっています。また、拡張モジュールを利用する事で、所属グループ毎の縦割りの権限設定を実装することも可能になります。これらの機能を駆使することで、より効率的にコンテンツを管理できます。

Drupal8で標準実装されたワークフロー機能:承認ステータスと各ステータスからの遷移を独自に設定可能
Drupal コアに標準実装されるワークフロー機能:承認ステータスと各ステータスからの遷移を独自に設定可能

Drupal は標準で多言語対応

Drupal がグローバル展開している大企業や国際機関に広く採用されている理由に「強力な多言語機能」があります。例えばグローバルに多言語で展開する組織において国ごとに個別のサイトを立ち上げ管理していた場合、もしサイトに変更が出た場合には、それぞれの言語や地域のサイトに対して個別に変更を加える必要があります。これには非常にコストがかかります。仮にDrupalの多言語機能を利用して、一つのサイトで全ての言語のページを管理していればこれらの手間を大幅に削減することができます。
Drupal の最新バージョン Drupal 10 では、標準で 100 近い言語に対応し、サイト内のあらゆるコンテンツや要素に対して翻訳を追加できます。他のCMSでは言語ごとにサイトを立ち上げて擬似的に多言語対応をするケースがありますが、Drupal の場合はそれぞれのページ、URL 単位での多言語化に標準で対応しています。

Drupal の標準の多言語機能のみを利用して作成された「Drupalの専門会社によるコンサルティング、システム診断、開発、保守管理 KAIZEN」の日本語ページと英語ページをご紹介します。

Drupalの多言語機能
Drupal の専門会社によるコンサルティング、システム診断、開発、保守管理 KAIZEN 日本語ページ
Drupalの多言語機能
Drupal の専門会社によるコンサルティング、システム診断、開発、保守管理 KAIZEN 英語ページ

Drupal はセキュリティが強固

Drupal はグローバル企業や大学だけでなく、ホワイトハウスやオーストラリア政府など、各国の政府機関でも利用が進んでいます。その理由は「セキュリティの高さ」です。Drupal には専門のセキュリティーチームがあり、システムの状況を常に監視しています。Drupal セキュリティチームは、潜在的な脆弱性を調査、検証、勧告するために活動しています。その他、Drupal 本体や拡張モジュールなどの脆弱性の解決や、安全なコードの書き方などのドキュメントの提供、セキュリティーに関する勧告の周知を行っています。

脆弱性はその重要度に応じて5段階で評価され、定期的に周知されます。これらの周知の度にシステムのアップデートを行い、システムを最新に保つ事で Drupal の持つ強固なセキュリティーの恩恵を得る事ができます。「Drupal のセキュリティ:Drupal の安全性について」も参考になりますので、よろしければご覧ください。

Drupal のセキュリティ情報は以下のページや Twitter で公開されています。Drupal でサイトを運営されている方は、Email や rss フィード、Twitter による配信等を利用して、常に最新の情報を取得できるようにしてください。

Drupal はテクノロジーの進化に応じてバージョンアップします。その際、各バージョンのリリースサイクルが明確に定められています。そのため、現在使用しているバージョンに対するセキュリティアップデートがいつまで継続されるのかを事前に知ることができます。このサイクルを念頭に置きながら開発やサイトのリニューアルを行う事で、将来的なセキュリティリスクを大幅に低減する事ができます。

A chart that depicts the Drupal release cycle

Drupal のリリースサイクル

優れた拡張性

Drupal の開発スタイルは「欲しい機能を最初から作る」ではなく「欲しい機能は既存の拡張モジュールを組み合わせて作る」というものです。Drupal のエコシステムには数千もの拡張モジュールが存在します。個々の拡張モジュールは比較的小さな機能を提供おり、それらを組み合わせて目的の機能を実装していくのが Drupal の開発スタイルになります。

そのため、Drupal による開発や機能実装を行う場合には、以下のアプローチで開発を行うことで、コストを抑え、品質の高いシステムを構築することができます。

  1. まずその機能を実現できるモジュールが無いかを drupal.org のモジュールページで探してみる。
  2. モジュールで実現できない場合にはコードによる開発を行う。

Drupal の仕組み コア、拡張モジュール、テーマについて

Drupal を構成するファイルは大きく分けて、コア、モジュール、テーマに分かれています。コアは Drupal 本体、モジュールは機能を提供します、テーマはレイアウトやデザインなど外観に関することを担っています。これらは、全て drupal.org から無料でダウンロード可能です。

Drupal システムのレイヤー構成
Drupal システムのレイヤー構成

Drupal コア

「コア」とは Drupal 本体そのものを指します。Drupal コアだけでシステムを稼働させることも可能です。コア単独でも多言語機能やワークフローなど、一般的な CMS に求められる機能を実装しているので、かなり多くの事がコアのみでも可能になっています。

Drupal コアのダウンロードページ (drupal.org)

FAQ:どの Drupal のバージョンを利用すべきですか?

2023 年 2 月現在、サポートされているバージョンは 7, 9, 10 の三つです。これから開発や導入を行う際に、どちらを選ぶべきかという質問を多くいただきます。以下にそれぞれのバージョンの現状のメリット、デメリット挙げました。どちらを利用するかは、Drupal を利用して、何を実現したいのか、予算、これから先何年メンテナンスを行うのかを考慮して決定する必要があります。以下のガイドラインを参考に要件にあったバージョンを選ぶようにしてください。

なお Drupal 7 は様々な理由により、当初 2021 年 11 月にコミュニティーによるサポート終了(EOL)を予定していたものの、2 度の延長を経て 2025 年 1 月までサポートされることになりました。 Drupal 8 から Drupal 9 へのアップグレードは比較的容易に行えるため、Drupal 8 の EOL は当初の予定通り 2021 年 11 月までとなりました。

Drupal のバージョンを選択する際のガイドライン
  メリット デメリット
Drupal 10
  • より快適に使えるエディター CKEditor 5 を搭載。また今後、自動アップデート機能や GUI からモジュールをインストールできる Project Browser などの新機能が追加予定
  • Drupal 9 との後方互換性を確保しているので、Drupal 9 向けのモジュールでも、Drupal 10 で利用できるものがある
  • リリーススケジュールが決まっているため、アップグレードに対応しやすい
特になし
Drupal 9
  • 前バージョンよりも更に多くの新機能やテーマが追加
  • Drupal 8 との後方互換性を確保しているので、Drupal 8 向けのモジュールでも、Drupal 9 で利用できるものがある
  • リリーススケジュールが決まっているため、アップグレードに対応しやすい
  • コミュニティーによるサポート期間が 2023 年 11 月で終了

Drupal 8(サポート終了)

  • Drupal 7 に比べて多言語対応が無理なく可能
  • コアだけで Drupal 7 よりも多くの機能が実現可能
  • Drupal 9 との互換性が高いため、Drupal 9 へのアップグレードが比較的容易
  • コミュニティーによるサポートが既に終了(2021 年 11 月)
Drupal 7
  • 導入実績が多く、情報が多い
  • 多言語対応に手間がかかる
  • 2025 年 1 月にサポートが終了され、LTS は提供されない
  • コアだけでできる機能は少ない。モジュールを多く導入する必要がある。
  • カスタムコードや、Drupal 7 のみ対応のモジュールを利用している場合、Drupal 9/10 へのアップグレードにかかる作業が大きくなる

拡張モジュール

Drupal の強みは拡張モジュールを利用して様々な機能を追加、拡張できることです。Drupal のモジュールは WordPress におけるプラグインに相当するものと考えていただけると分かりやすいと思います。モジュールもコアと同様に drupal.org から無料でダウンロード可能です。

Drupal モジュールのダウンロードページ (drupal.org)

拡張モジュールの提供する機能と特徴

drupal.org で公開されている拡張モジュールの数は数千にも及びます。そのため、拡張モジュールを導入すると何ができるかは、モジュールによって異なるため一概には言えません。Drupal のモジュールの特徴としては、多くの場合において個々のモジュールは小さい機能を提供し、それらの小さな機能同士を組み合わせてシステムを構築することが可能な点です。

小さな部品(モジュール)を組み立てながらシステムを構築していくスタイルから、Drupal はレゴブロックに例えられます。一つ一つの機能は小さいですが、それらを組み合わせることによって大きな機能を実装できます。では、実際にモジュール同士を組み合わせて機能を実装した例を見てみましょう。

モジュールを同士を組み合わせて実装した機能の実例

弊社提供サービス Drupal の導入支援・開発・保守管理サービス KAIZEN のお申込みフォームには Webform モジュールを利用しています。そして、Webform で実装されたフォームのスパム対策として、reCAPTCHA モジュールを導入しています。このように、モジュールにより提供される機能同士を組み合わせてシステムを構築する事が可能な点がDrupalの特徴とも言えます。

モジュール同士の組み合わせで機能を実装した例:webformにreCapthaを導入
モジュール同士の組み合わせで機能を実装した例:Webform に reCaptha を導入

Drupal の導入支援・開発・保守管理サービス KAIZENで使用している拡張モジュールを以下にまとめました。モジュールがどのような粒度でどのような機能を提供するのかお分かりいただけると思います。

モジュール名 提供する機能
Simple XML Sitemap xml サイトマップを自動で生成します。
Webform 高機能なフォーム機能を提供します
reCAPTCHA Google の提供する reCAPTCHA をフォームに導入します
Metatag コンテンツのメタタグを管理する
Admin Toolbar 管理者用メニューにドロップダウン機能を追加する。

モジュールの探し方と選定時の注意点

数千ものモジュールの中から、目的の機能を実現するモジュールを探すのは大変なことです。中には開発状態で不安定なモジュールや、セキュリティアップデートの対象外のモジュールも存在します。安全に安定したシステムを開発するためには、それぞれのモジュールの開発状況や利用実績などを考慮して慎重に選択する必要があります。モジュール選定時には Drupal 初心者講座 第 15 回 Drupal の拡張モジュールの選定と使い方を参考にしてください。

テーマ

Drupalのテーマはサイトの外観やレイアウトに関する部分を担っています。Drupalのテーマはdrupal.orgから無料でダウンロードできます。また、有料テーマなども広く販売されています。以下のリンクからDrupalのテーマをダウンロードできます。

Drupal テーマのダウンロードページ(drupal.org) themeforest (Drupal有料テーマ販売サイト)

Drupal のテーマの提供する機能と特徴

Drupal をインストールした直後から、レスポンシブかつアクセシビリティーに配慮したテーマ Olivero が利用できます。また、他のテーマをインストールすることで簡単に外観を変更することができます。テーマは通常のページと管理ページで個別に設定可能です。そのため、通常ページと管理ページの外観を分けることも可能です。

インストール直後の Drupal の初期画面
インストール直後の Drupal の初期画面​​​

また、Drupal ではブロックを配置しながらサイトを構築していきます。そのため、Drupal のテーマには外観以外にもどこにブロックを配置する場所(リージョン)を定義する情報も含まれています。そのため、以下の図のようにテーマ毎にブロックを配置可能なリージョンも異なります。

テーマ毎にブロックリージョンの構成が異なる
テーマ毎にブロックリージョンの構成は異なる​​​

Drupal のインストール方法

Drupal を動かすには、データベース、PHP、Web サーバーの 3 つが必要になります。まずデータベースは、MySQL やその互換ソフトウェア(MariaDB、Percona Server)が推奨されています。PHP はバージョン 7.3 以上が必要です。Web サーバーは、Apache のほか Nginx も広く使われています。これらは WordPress を稼働可能な一般的なレンタルサーバーの要件と同程度です。Drupal の稼働要件の詳細については以下のページを参考にしてください。

Drupal のディストリビューション

Drupal には特定の用途や目的に最適なモジュールや構成を 1 つのパッケージとして配布している、ディストリビューションが存在します。 要件に合ったディストリビューションを利用するで、開発を最小限に抑え、低コストで迅速なシステム構築可能となります。

Drupal ディストリビューションのダウンロードページ

国内における Drupal ディストリビューションの活用例

国内におけるディストリビューションの活用事例として有名なケースでは、自治体の運営するデータポータルサイトへの DKAN の導入です。 DKAN はデータポータルサイトを構築するためのディストリビューションで、各国の政府機関で広く利用されています。 国内においては、京都市の運営する「京都市オープンデータポータルサイト」で利用されています。

京都オープンデータポータル
DKAN の導入事例 京都オープンデータポータルサイト

Drupal をもっと知りたい方、お困りの方は以下もご利用ください。

KAIZEN イメージ

15 年以上の実績を持つ Drupal 専門会社によるコンサルティング、診断、開発、保守管理サービス KAIZEN ANNAI

ANNAI は 2007 年から Drupal 専門の開発会社として多くの案件に携わってきました。その中で、Drupal をお使いの方々から、さまざまなご相談をいただいてきました。
Drupal のプロとして、本当に信頼のできるサービスをご提供したいという信念の下、Drupal に関するコンサルティング、診断、保守、開発サービス「KAIZEN ANNAI」をご提案します。

KAIZEN ANNAI を見る
Drupal ホワイトペーパー表紙

「大規模サイトに Drupal が適している 3 つの理由」ホワイトペーパーを無料ダウンロードできます

国連、アメリカ政府、オーストラリア政府、テスラ、ファイザー製薬、スタンフォード大学など、政府やグローバル企業、大学などで利用されるオープンソースフレームワーク Drupal。
近年、日本でも政府や自治体、大企業を中心に導入が進んでいます。大規模サイト・多言語サイトの構築やリニューアルを検討されている方向けにホワイトペーパーを無料提供しています。ぜひダウンロードください。

ダウンロードする
Drupal8 スタートブック表紙

ANNAI 執筆 の Drupal 解説本「Drupal 8 スタートブック」作りながら学ぶ Web サイト構築

本書は、オープンソースの CMS (コンテンツマネジメントシステム)である Drupal 8 の解説書です。これから CMS を触ってみたいと思っている方や WordPress 等の他の CMS での開発経験のある方などを対象に、Drupal 8 の標準機能を使ってできる簡単なサイト制作を通して、Drupal の機能やアーキテクチャーについて学びます。本書では初めて Drupal を使う初心者がつまづく可能性のある部分を極力排除しながら、インストールからサイト完成まで、一切のコードを書かずに GUI 操作のみで Drupal の標準機能を一通り使った簡単なサイト制作を行います。Drupal の最新バージョンは 10 ですが、基礎となるコンセプトは 8 から引き継がれているため、Drupal 10 を学ぶうえでも活用できます。詳しくは「Drupal 8 スタートブック」で Drupal 9/10 を学ぶにはをご覧下さい。

Amazon書籍ページを見る

Drupal講座

Drupal初心者講座(全16回)

この講座ではDrupalの歴史や特徴、最新のDrupalの機能や他のCMSとの比較など、Drupalの機能やアーキテクチャーについて一から学びます。まだDrupalに触れた事のない方々に、まず最初に読んでいただきたい内容となっています。Drupalに関する正しい知識を体系的に学んでいただく事で、より多くの方がDrupalを活用できるようになれば幸いです。

初心者講座バナー

Drupalの多言語対応

Drupalは非常に優れた多言語CMSです。特にDrupal 8では多言語機能が非常に進化し、標準でサイト内のあらゆる要素に対して多言語化を行う事が可能になりました。多言語・グローバルサイトの構築を検討の際はぜひ以下の記事をご参考ください。

Drupal セキュリティアドバイザリー

Drupalセキュリティチームは、潜在的な脆弱性を調査、検証、勧告するために活動しています。その他、Drupal本体や拡張モジュールなどの脆弱性の解決や、安全なコードの書き方などのドキュメントの提供、セキュリティーに関する勧告の周知を行っています。
ここでは、Drupalセキュリティチームが発表する、セキュリティーに関する勧告やそれらに関する解説を掲載しています。

Drupal導入事例

世界的な有名サイトのDrupal導入事例や活用事例をご紹介します。Drupalの導入を検討される際、ぜひ参考にしてください。弊社の開発実績については、「Drupalによる開発実績」をご覧ください。