進化し続ける Drupal でウェブサイトを作ろう。
Drupal(ドゥルーパル/ドルーパル)の情報をチェックしよう
このページでは Drupal の導入を考えている方に向けて、日本語でどこよりも詳しく Drupal の特徴やインストール方法、基本的な使い方や開発の基礎を詳しく説明しています。またセキュリティー関連情報や Wordpress など他の CMSとの比較もご紹介しています。このページの各コンテンツをお読みいただけると Drupal に関する基礎知識が身に付きます。
- Drupal セキュリティ11月に公開された複数のセキュリティアドバイザリーについて
- Drupal CMSDries Buytaert氏の基調講演が明らかにしたDrupalの未来
- CMS 比較ノーコードCMSの課題を解決するDrupalホスティングサービス
- Drupal 保守管理Drupalが提供する高度なコンテンツ構造と管理方法
- Drupal CMS柔軟で堅牢なオープンソースCMS: Drupalの特長と利点
- Drupal イベント情報Drupal 創設者 Dries 氏来日イベント 2024 参加レポート
- Drupal 11Drupal 11 の最新状況について
- Drupal セキュリティDrupal Core の脆弱性について (SA-CORE-2024-001)
- ヘッドレスCMS新しい古典:Jamstack と MACH が従来の CMS の概念に向け進化する
- Drupal イベント情報Drupalcon Lille 2023: パート 2
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 がグローバル展開している大企業や国際機関に広く採用されている理由に「強力な多言語機能」があります。例えばグローバルに多言語で展開する組織において国ごとに個別のサイトを立ち上げ管理していた場合、もしサイトに変更が出た場合には、それぞれの言語や地域のサイトに対して個別に変更を加える必要があります。これには非常にコストがかかります。仮にDrupalの多言語機能を利用して、一つのサイトで全ての言語のページを管理していればこれらの手間を大幅に削減することができます。
Drupal の最新バージョン Drupal 10 では、標準で 100 近い言語に対応し、サイト内のあらゆるコンテンツや要素に対して翻訳を追加できます。他のCMSでは言語ごとにサイトを立ち上げて擬似的に多言語対応をするケースがありますが、Drupal の場合はそれぞれのページ、URL 単位での多言語化に標準で対応しています。
Drupal の標準の多言語機能のみを利用して作成された「Drupalの専門会社によるコンサルティング、システム診断、開発、保守管理 KAIZEN」の日本語ページと英語ページをご紹介します。
Drupal はセキュリティが強固
Drupal はグローバル企業や大学だけでなく、ホワイトハウスやオーストラリア政府など、各国の政府機関でも利用が進んでいます。その理由は「セキュリティの高さ」です。Drupal には専門のセキュリティーチームがあり、システムの状況を常に監視しています。Drupal セキュリティチームは、潜在的な脆弱性を調査、検証、勧告するために活動しています。その他、Drupal 本体や拡張モジュールなどの脆弱性の解決や、安全なコードの書き方などのドキュメントの提供、セキュリティーに関する勧告の周知を行っています。
脆弱性はその重要度に応じて5段階で評価され、定期的に周知されます。これらの周知の度にシステムのアップデートを行い、システムを最新に保つ事で Drupal の持つ強固なセキュリティーの恩恵を得る事ができます。「Drupal のセキュリティ:Drupal の安全性について」も参考になりますので、よろしければご覧ください。
Drupal のセキュリティ情報は以下のページや Twitter で公開されています。Drupal でサイトを運営されている方は、Email や rss フィード、Twitter による配信等を利用して、常に最新の情報を取得できるようにしてください。
Drupal はテクノロジーの進化に応じてバージョンアップします。その際、各バージョンのリリースサイクルが明確に定められています。そのため、現在使用しているバージョンに対するセキュリティアップデートがいつまで継続されるのかを事前に知ることができます。このサイクルを念頭に置きながら開発やサイトのリニューアルを行う事で、将来的なセキュリティリスクを大幅に低減する事ができます。
優れた拡張性
Drupal の開発スタイルは「欲しい機能を最初から作る」ではなく「欲しい機能は既存の拡張モジュールを組み合わせて作る」というものです。Drupal のエコシステムには数千もの拡張モジュールが存在します。個々の拡張モジュールは比較的小さな機能を提供おり、それらを組み合わせて目的の機能を実装していくのが Drupal の開発スタイルになります。
そのため、Drupal による開発や機能実装を行う場合には、以下のアプローチで開発を行うことで、コストを抑え、品質の高いシステムを構築することができます。
- まずその機能を実現できるモジュールが無いかを drupal.org のモジュールページで探してみる。
- モジュールで実現できない場合にはコードによる開発を行う。
Drupal の仕組み コア、拡張モジュール、テーマについて
Drupal を構成するファイルは大きく分けて、コア、モジュール、テーマに分かれています。コアは Drupal 本体、モジュールは機能を提供します、テーマはレイアウトやデザインなど外観に関することを担っています。これらは、全て drupal.org から無料でダウンロード可能です。
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 10 |
|
特になし |
Drupal 9 |
|
|
Drupal 8(サポート終了) |
|
|
Drupal 7 |
|
|
拡張モジュール
Drupal の強みは拡張モジュールを利用して様々な機能を追加、拡張できることです。Drupal のモジュールは WordPress におけるプラグインに相当するものと考えていただけると分かりやすいと思います。モジュールもコアと同様に drupal.org から無料でダウンロード可能です。
Drupal モジュールのダウンロードページ (drupal.org)拡張モジュールの提供する機能と特徴
drupal.org で公開されている拡張モジュールの数は数千にも及びます。そのため、拡張モジュールを導入すると何ができるかは、モジュールによって異なるため一概には言えません。Drupal のモジュールの特徴としては、多くの場合において個々のモジュールは小さい機能を提供し、それらの小さな機能同士を組み合わせてシステムを構築することが可能な点です。
小さな部品(モジュール)を組み立てながらシステムを構築していくスタイルから、Drupal はレゴブロックに例えられます。一つ一つの機能は小さいですが、それらを組み合わせることによって大きな機能を実装できます。では、実際にモジュール同士を組み合わせて機能を実装した例を見てみましょう。
モジュールを同士を組み合わせて実装した機能の実例
弊社提供サービス Drupal の導入支援・開発・保守管理サービス KAIZEN のお申込みフォームには Webform モジュールを利用しています。そして、Webform で実装されたフォームのスパム対策として、reCAPTCHA モジュールを導入しています。このように、モジュールにより提供される機能同士を組み合わせてシステムを構築する事が可能な点がDrupalの特徴とも言えます。
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 を動かすには、データベース、PHP、Web サーバーの 3 つが必要になります。まずデータベースは、MySQL やその互換ソフトウェア(MariaDB、Percona Server)が推奨されています。PHP はバージョン 7.3 以上が必要です。Web サーバーは、Apache のほか Nginx も広く使われています。これらは WordPress を稼働可能な一般的なレンタルサーバーの要件と同程度です。Drupal の稼働要件の詳細については以下のページを参考にしてください。
Drupal のディストリビューション
Drupal には特定の用途や目的に最適なモジュールや構成を 1 つのパッケージとして配布している、ディストリビューションが存在します。 要件に合ったディストリビューションを利用するで、開発を最小限に抑え、低コストで迅速なシステム構築可能となります。
Drupal ディストリビューションのダウンロードページ国内における Drupal ディストリビューションの活用例
国内におけるディストリビューションの活用事例として有名なケースでは、自治体の運営するデータポータルサイトへの DKAN の導入です。 DKAN はデータポータルサイトを構築するためのディストリビューションで、各国の政府機関で広く利用されています。 国内においては、京都市の運営する「京都市オープンデータポータルサイト」で利用されています。
Drupal をもっと知りたい方、お困りの方は以下もご利用ください。
Drupal講座
Drupal初心者講座(全16回)
この講座ではDrupalの歴史や特徴、最新のDrupalの機能や他のCMSとの比較など、Drupalの機能やアーキテクチャーについて一から学びます。まだDrupalに触れた事のない方々に、まず最初に読んでいただきたい内容となっています。Drupalに関する正しい知識を体系的に学んでいただく事で、より多くの方がDrupalを活用できるようになれば幸いです。
- 第 1 回 歴史に見る Drupal の DNA
- 第 2 回 Drupal はフレームワークか?CMS か?他の CMS との比較
- 第 3 回 Drupal の特徴
- 第 4 回 Drupal 9 / 10 のインストール (1)
- 第 5 回 Drupal 9 / 10 のインストール (2)
- 第 6 回 Drupal にコンテンツを投稿してみる
- 第 7 回 Drupal のボキャブラリとタクソノミーの使い方
- 第 8 回 コンテンツ管理における Drupal と他の CMS との比較
- 第 9 回 Drupal のブロックシステム
- 第 10 回 Drupal の標準クエリビルダー Views の使い方
- 第 11 回 Drupal と他の CMS のクエリビルダー機能を比較
- 第 12 回 Drupal の多言語機能と他の CMS やサービスとの比較
- 第 13 回 Drupal の権限設定と WordPress や Movable Type との比較
- 第 14 回 Drupal のテーマシステムについて
- 第 15 回 Drupal の拡張モジュールの選定と使い方
- 第 16 回 Drupal をもっと知りたい方に向けた各種情報
Drupalと他のCMSとの比較
Drupal と WordPress の違いや、それぞれの特徴について説明した記事の一覧です。他の CMS にはない、Drupal 特有の機能に関する記事もピックアップしてあります。
Drupalのセキュリティ
Drupalで開発を行う場合には、Drupalのリリースサイクルや拡張モジュールのバージョン、開発状況を総合的に判断しながらベストな選択を行う必要があります。Drupalのエコシステムを念頭においたセキュリティ対策が重要です。
- Drupal 保守管理Drupalでの開発時に避けるべき5つの間違い - セキュリティー編
- Drupal セキュリティDrupalの安全性について
- Drupal 保守管理Drupal 7 のサポート終了が 2025/01/05 に決定
- Drupal セキュリティDrupalモジュールをクロスサイトリクエストフォージェリ(CSRF)から守る方法
- Drupal セキュリティクロスサイトスクリプティング(XSS)とDrupalについて
Drupalの多言語対応
Drupalは非常に優れた多言語CMSです。特にDrupal 8では多言語機能が非常に進化し、標準でサイト内のあらゆる要素に対して多言語化を行う事が可能になりました。多言語・グローバルサイトの構築を検討の際はぜひ以下の記事をご参考ください。
- Drupal 多言語第 12 回 Drupal の多言語機能と他の CMS やサービスとの比較
- Drupal 事例紹介SNSサイトを2ヶ月で構築!国連サイトのDrupal導入事例
- CMS 比較多言語CMSを選択する際に考慮すべき8つのこと
- Drupal 多言語10ヶ国語対応のグローバルサイト!多言語サイトのDrupal導入事例
- Drupal 多言語多言語CMSで観光ビジネスを飛躍させる!バーゼル市のDrupal導入事例
Drupal セキュリティアドバイザリー
Drupalセキュリティチームは、潜在的な脆弱性を調査、検証、勧告するために活動しています。その他、Drupal本体や拡張モジュールなどの脆弱性の解決や、安全なコードの書き方などのドキュメントの提供、セキュリティーに関する勧告の周知を行っています。
ここでは、Drupalセキュリティチームが発表する、セキュリティーに関する勧告やそれらに関する解説を掲載しています。
- Drupal セキュリティ11月に公開された複数のセキュリティアドバイザリーについて
- Drupal セキュリティDrupal Core の脆弱性について (SA-CORE-2024-001)
- Drupal セキュリティDrupal Core の脆弱性について (SA-CORE-2023-006)
- Drupal セキュリティDrupal Core の脆弱性について (SA-CORE-2023-005)
- Drupal セキュリティDrupal Core の脆弱性について (SA-CORE-2023-004)
Drupal導入事例
世界的な有名サイトのDrupal導入事例や活用事例をご紹介します。Drupalの導入を検討される際、ぜひ参考にしてください。弊社の開発実績については、「Drupalによる開発実績」をご覧ください。
- Jグランツ: 経済産業省向け補助金申請・管理システムについて
- 補助金申請システム(jGrants)を省庁とアジャイル手法で開発
- 多言語CMSを選択する際に考慮すべき8つのこと
- シカゴ公園局のウェブサイトにおけるDrupal8の導入事例
- CMSの第四の波 Distributed CMS (Drupal Developer Days Transylvania 2019)
- Drupalを利用して顧客により良いUXを提供するサイトの事例
- マサチューセッツ州がDrupal8でMass.govを立ち上げ
- Drupal7導入事例 チューリッヒ観光局のサイトリニューアル
- NBC Sports Digitalと数百万の視聴者のためのプラットフォームづくり
- より良い政府ポータルを構築する:デンマーク政府からの教訓
- 大学サイトでDrupalを導入すべき14の理由
- チリ政府のDrupal移行事例
- ダウンタイムゼロ!トヨタ UKのDrupal移行事例
- アルジャジーラのデジタル戦略を支えるDrupal
- アメリカ政府 エネルギー省のDrupal導入事例、WEBガバナンス実践例
- 多言語CMSで観光ビジネスを飛躍させる!バーゼル市のDrupal導入事例
Drupal:柔軟・安全・パワフルなオープンソース CMS
Drupal(ドゥルーパル/ドルーパル)は世界的な大企業、政府機関、大学、NGO など大規模なサイトを中心に幅広く利用されている、プログラム言語 PHP で記述されたオープンソースの CMS(コンテンツ管理システム)です。Drupal は非常に柔軟で拡張性の高いプラットフォームのため、単に通常のウェブサイトを公開するだけではなく、多言語でさまざななデバイスに向けた情報の配信が可能です。Drupal は drupal.org で配布されています。
Drupalの導入、開発、保守管理をお考えの方へ
Drupalの導入や保守管理をご検討されている方は以下の、ANNAIの提供する以下の書籍やサービス、資料をご参考ください。Drupalについてご不明点がある場合はお気軽にお問い合わせください。
Drupalコンサルティング、診断、開発、保守管理サービスのKAIZEN ANNAI
ANNAI執筆のDrupal解説本「Drupal8 スタートブック」作りながらWebサイト構築を学ぶ