Drupalとは。実際に構築、運用してみた所感

3月 28, 2024

目次

Drupalとは

Drupalは、PHPで書かれたオープンソースのコンテンツ管理システム (CMS) またはウェブアプリケーションフレームワークです。Drupalは、ウェブサイトやアプリケーションを開発するための強力なツールとして広く利用されており、大規模なエンタープライズサイトから小さな個人ブログまで、様々なウェブプロジェクトに対応できます。

Drupalの歴史とバージョン

Drupalは2000年にDries Buytaertによって開発されました。当初はオランダ語で「ドロップル」と呼ばれていたのですが、ドメイン名を登録する際に「ドルーパル」という英語表記に変更されました。Drupalはオープンソースのソフトウェアであり、世界中の開発者やユーザーからの貢献によって成長してきました。現在はDrupal 10が最新版であり、2021年7月にリリースされました。Drupal 10はDrupal 9の機能を引き継ぎつつ、より高速で安全で使いやすいウェブ体験を提供します。

Drupalの特徴

Drupalの特徴的な点はその強力なカスタマイズ能力とスケーラビリティです。Drupalのカスタマイズ能力はモジュールやテーマと呼ばれる拡張機能によって実現されています。モジュールはDrupalの機能を追加や変更するためのプラグインであり、テーマはDrupalの見た目を変えるためのデザインテンプレートです。コミュニティから提供される数千種類のモジュールやテーマを組み合わせて自分のニーズに合わせてサイトを構築できます。Drupalのスケーラビリティは高速なパフォーマンスや堅牢なセキュリティを備えており、多くのアクセスやデータを処理できます。DrupalはNASAやホワイトハウスなど、世界的に有名な組織や機関が採用していることでも知られています。

箇条書きにすると、以下の通りです。

  • オープンソースであるため、無料で使用することができます。
  • 使いやすいインターフェースで、幅広い機能を提供しています。
  • 拡張性が高いため、カスタマイズすることができます。
  • セキュリティが強固です。
  • 世界中の多くの企業や組織で使用されています。

Drupal 10の新機能一覧

オープンソースプロジェクトDrupalは、革新的なアップデートを提供し続けており、その一例としてDrupal 10の新機能を以下にまとめます。

1. Oliveroフロントエンド

旧来のBartikテーマは、モダンなOliveroテーマに変更されました。このテーマはシンプルでありながら洗練されたデザインを備え、アクセシビリティ機能にも優れています。

2. Claroバックエンド

2009年にデザインされたSevenテーマに代わり、新鮮な見た目と改善されたアクセシビリティを持つ新しい管理テーマ、Claroが導入されました。[

3. CKEditor 5

Drupal 10では、サポート終了が迫るCKEditor 4からCKEditor 5への移行が行われました。これにより、コンテンツ編集の操作性が大幅に向上しました。

4. テーマのカスタマイズが簡単に

Drupal 10では、新機能のStarterkitを用いて、フロントエンド開発者がベーステーマを簡単にカスタマイズできるようになりました。

5. デカップルド・ナビゲーション

Drupal 10.1では、デカップルドにおけるコンテンツ要素間のナビゲーション管理が簡単になりました。

6. 柔軟なブロックとコンテンツ管理

Drupal 10.1では、コンテンツモデルの作成やコンテンツ編集体験が改善され、コンテンツブロック、ノード、その他のエンティティタイプの改訂履歴をより簡単に管理できるようになりました。

7. ページ読み込みの強化

BigPipeなどのページ読み込み機能の向上により、初期ページのロードが高速化し、ユーザー体験が向上しました。

8. コアのスリム化

一部のモジュールやテーマはDrupalコアからコントリビュートプロジェクトに移動され、Drupal 10の中核をより集中化しました。

Drupalの使い方(クラウドサービス編)

Drupalは一般的にコンテンツ管理システム(CMS)またはウェブアプリケーションフレームワークとして知られています。PHPで書かれており、ウェブサイトやアプリケーションを開発するための柔軟なツールとして広く利用されています。Drupalの特徴的な点はその強力なカスタマイズ能力とスケーラビリティで、大規模なエンタープライズサイトから小さな個人ブログまで、様々なウェブプロジェクトに対応できます。

Drupalを使う方法は、Drupalを自分のサーバーにインストールする方法と、Drupalをクラウドサービスで利用する方法とに分けられます。この記事では、後者の方法について説明します。Drupalをクラウドサービスで利用する方法とは、Drupalをインターネット上のサーバーにデプロイして、ウェブブラウザからアクセスする方法です。この方法のメリットは、自分でサーバーを管理する必要がなく、高速で安全で使いやすいウェブ環境を提供してくれることです。Drupalをクラウドサービスで利用する方法には、以下のようなサービスがあります。

Oracle Cloud

Oracle CloudはDrupalの公式パートナーであり、無料で試すことができます。Oracle CloudはDrupalを高速で安定して実行できるインフラストラクチャを提供しており、オートスケールやバックアップなどの機能も備えています。Oracle Cloudでは、以下の手順でDrupalを利用できます。

  1. Oracle Cloudのウェブサイトにアクセスします。
  2. 「Start for free」をクリックして、アカウントを作成します。
  3. ログインします。
  4. 「Create a VM instance」をクリックして、仮想マシンを作成します。
  5. 「Marketplace」タブから「Drupal」を選択して、「Launch Instance」をクリックします。
  6. 必要な情報を入力して、「Create」をクリックします。
  7. 仮想マシンのパブリックIPアドレスにアクセスして、Drupalのインストールプロセスを実行します。

AWS

AWSはAmazon Web Servicesの略であり、世界最大規模のクラウドコンピューティングプラットフォームです。AWSはDrupalを簡単にデプロイできるAWS Marketplaceを提供しており、多様なオプションや価格帯から選ぶことができます。AWSでは、以下の手順でDrupalを利用できます。

  1. AWSのウェブサイトにアクセスします。
  2. 「Create an AWS Account」をクリックして、アカウントを作成します。
  3. ログインします。
  4. 「Services」メニューから「EC2」を選択します。
  5. 「Launch Instance」をクリックして、インスタンスを作成します。
  6. 「AWS Marketplace」タブから「Drupal」を検索して、希望するオプションを選択して、「Continue」をクリックします。
  7. 必要な情報を入力して、「Launch」をクリックします。
  8. インスタンスのパブリックIPアドレスにアクセスして、Drupalのインストールプロセスを実行します。

Azure

AzureはMicrosoftが提供するクラウドコンピューティングプラットフォームです。AzureはDrupalを高速で安全に実行できるAzure App Serviceを提供しており、数分でデプロイできます。Azureでは、以下の手順でDrupalを利用できます。

  1. Azureのウェブサイトにアクセスします。
  2. 「Start free」をクリックして、アカウントを作成します。
  3. ログインします。
  4. 「Create a resource」をクリックして、リソースを作成します。
  5. 「Web」カテゴリから「Web App」を選択して、「Create」をクリックします。
  6. 必要な情報を入力して、「Review + create」をクリックします。
  7. 「Deployment Center」メニューから「External」タブを選択して、「Continue」をクリックします。
  8. 「App Service build service」オプションを選択して、「Continue」をクリックします。
  9. 「Repository URL」に「https://git.drupalcode.org/project/drupal.git」と入力して、「Continue」をクリックします。
  10. 「Finish」をクリックして、デプロイメントを開始します。

コンテンツの作成

Drupalでコンテンツを作成するには、Drupalの主要な機能や用語について理解する必要があります。Drupalでは、以下のような概念や役割があります。

ノード:Drupalでコンテンツを作成するときに生成される基本的な単位です。ノードには記事やページなどの種類やタイトルや本文などのフィールドがあります。ノードはIDやURLによって識別されます。 ビュー:Drupalでコンテンツの一覧や検索結果などの表示方法を定義するツールです。ビューには表示形式やフィルターなどの設定があります。ビューはページやブロックとして出力されます。 ブロック:Drupalでサイトのレイアウトやナビゲーションなどの要素を配置する単位です。ブロックにはタイトルや内容があります。ブロックは領域と呼ばれる場所に割り当てられます。 タクソノミー:Drupalでコンテンツにカテゴリーやタグなどの分類情報を付与する仕組みです。タクソノミーには語彙と用語という二つの概念があります。語彙は分類情報の種類や設定を表し、用語は分類情報の値や階層関係を表します。タクソノミーはコンテンツの整理や検索に役立ちます。 これらの機能や用語を使って、Drupalでコンテンツを作成するには、以下の手順を実行します。 Drupalにログインします。

「Content」メニューから「Add content」を選択します。

作成したいコンテンツの種類(記事やページなど)を選択します。 必要なフィールド(タイトルや本文など)に入力します。

オプション(公開状態やURLエイリアスなど)を設定します。 「Save」をクリックして、コンテンツを保存します。 これでコンテンツが作成され、サイトに表示されます。コンテンツの編集や削除は、「Content」メニューから行うことができます。

Drupalのインストール方法

Drupalはオープンソースのコンテンツ管理システム (CMS) の一つで、Webサイトを構築・運用するためのフレームワークを提供します。CMSとは、Webサイトの内容を管理・編集するためのシステムを指します。

Drupalをインストールする方法は、Dockerを使用する方法と、直接サーバーにインストールする方法とに分けられます。この記事では、前者の方法について説明します。

Dockerを使用する方法は、Docker HubからDrupalの公式イメージをダウンロードして、Dockerコンテナを起動して、Drupalをインストールする方法です。この方法のメリットは、自分でサーバーを管理する必要がなく、高速で安全で使いやすいウェブ環境を提供してくれることです。

Dockerを使用する方法の詳しい手順は、以下の記事や動画を参考にしてください。

  • Drupal10のインストール方法(Docker編)                
    この記事では、Oracle CloudのインスタンスでDockerを使用してDrupal10をインストールする方法について説明しています。コマンドやスクリーンショットが豊富に掲載されており、わかりやすく解説されています。
  • Drupal10のインストール方法(Docker編)                
    この動画では、Oracle CloudのインスタンスでDockerを使用してDrupal10をインストールする方法について説明しています。音声や字幕が付いており、実際に画面が動く様子が見られます。

Drupalの設定・カスタマイズ方法

Drupalはオープンソースのコンテンツ管理システム (CMS) の一つで、Webサイトを構築・運用するためのフレームワークを提供します。CMSとは、Webサイトの内容を管理・編集するためのシステムを指します。

Drupalを設定やカスタマイズするには、管理者アカウントの設定やテーマの変更やモジュールのインストールやコンテンツタイプの作成などが必要です。これらの方法について説明します。

管理者アカウントの設定

Drupalの設定やカスタマイズを行うためにはまず、管理者アカウントの設定が必要です。管理者アカウントにはサイトの全ての機能と設定を管理する権限が与えられています。            
管理者アカウントを作成するには、以下の手順に従います。

  1. Drupalの管理画面にログインします。
  2. ユーザータブをクリックします。
  3. 新しいユーザーをクリックします。
  4. 管理者アカウントの情報を入力します。
  5. 保存をクリックします。

テーマの変更

Drupalでは、さまざまなデザインテーマを利用することで、ウェブサイトの見た目を簡単にカスタマイズすることができます。管理画面から直接、新しいテーマを追加したり、既存のテーマを変更したりすることが可能です。            
テーマを変更するには、以下の手順に従います。

  1. Drupalの管理画面にログインします。
  2. 管理タブをクリックします。
  3. テーマタブをクリックします。
  4. 新しいテーマをクリックします。
  5. テーマをインストールします。
  6. テーマを有効にします。

モジュールのインストール

Drupalの強力な特徴の一つは、モジュールシステムです。モジュールはDrupalの機能を追加または拡張するプラグインのようなもので、数千ものモジュールがDrupalコミュニティから提供されています。これらを利用することで、特定の機能を自分のサイトに追加することができます。            
モジュールをインストールするには、以下の手順に従います。

  1. Drupalの管理画面にログインします。
  2. 管理タブをクリックします。
  3. 機能拡張タブをクリックします。
  4. 新しいモジュールをクリックします。
  5. モジュールをインストールします。
  6. モジュールを有効にします。

コンテンツタイプの作成

Drupalでは、記事や基本ページなど、特定の「コンテンツタイプ」を作成することができます。これにより、異なる種類のコンテンツをウェブサイト上で管理することができます。            
コンテンツタイプを作成するには、以下の手順に従います。

  1. Drupalの管理画面にログインします。
  2. コンテンツタブをクリックします。
  3. コンテンツタイプタブをクリックします。
  4. 新しいコンテンツタイプをクリックします。
  5. コンテンツタイプ名を入力します。
  6. コンテンツタイプの説明を入力します。
  7. コンテンツタイプのフィールドを設定します。
  8. コンテンツタイプを保存します。

Drupalでの開発

開発環境のセットアップ

Drupal開発を始めるためには、ローカル開発環境のセットアップが必要です。これには、PHP、データベースサーバー(MySQL, MariaDB, PostgreSQLなど)、そしてDrupal自体のインストールが含まれます。開発環境は各自のPC上に設定するか、Dockerなどの仮想化ツールを利用することも可能です。

カスタムモジュールの開発

Drupalの強力な特性はそのモジュールシステムにあります。既存のモジュールを利用するだけでなく、独自のカスタムモジュールを開発することで、特定のビジネス要件に対応した機能をDrupalに追加することができます。

カスタムテーマの開発

Drupalの見た目をカスタマイズするためには、カスタムテーマの開癠が必要となることがあります。DrupalテーマはPHP、HTML、CSS、そしてDrupalのテンプレートエンジンであるTwigを使用して作成されます。

テストとデバッグ

Drupal開発においては、ユニットテストや機能テストの実施が重要です。DrupalはPHPのテストフレームワークであるPHPUnitをサポートしています。これにより、開発した機能が期待通りに動作しているか確認することができます。

デプロイメント

開発が完了したら、次はプロダクション環境にデプロイすることになります。これは手動で行うこともありますが、自動化ツールを使用してデプロイメントプロセスを自動化することも一般的です。

Drupalのセキュリティ対策

Drupalのセキュリティ対策には、アップデートの適用やパーミッションの管理やモジュールの選択と管理やユーザー入力のサニタイズやパスワードの管理などが必要です。これらの方法について説明します。

アップデートの適用

Drupalのセキュリティ対策の最初のステップは、常に最新のバージョンを使用することです。新しいバージョンは定期的にリリースされ、セキュリティパッチと改善が含まれています。これらのアップデートはDrupalのダッシュボードから直接適用することができます。

パーミッションの管理

Drupalでは各ユーザーロールに対するアクセス権限を細かく制御することができます。原則として、各ユーザーに必要最低限の権限のみを付与することが推奨されます。これにより、もしユーザーアカウントが侵害された場合でも、攻撃者がシステム全体に影響を与える可能性を最小限に抑えることができます。

モジュールの選択と管理

Drupalの強力な特性の一つは豊富なモジュール群ですが、セキュリティの観点からは、必要なモジュールだけをインストールし、それらを常に最新の状態に保つことが重要です。未使用のモジュールは攻撃の表面を広げるだけでなく、モジュール間の依存関係によって新たなセキュリティリスクを生み出す可能性もあります。

ユーザー入力のサニタイズ

Drupalはユーザー入力のサニタイズをサポートしています。これは、ユーザーが入力したデータを安全にデータベースに保存するための手段です。サニタイズされていないユーザー入力は、SQLインジェクションなどのセキュリティ脆弱性を引き起こす可能性があります。

パスワードの管理

強力なパスワードポリシーは任意のウェブアプリケーションのセキュリティを確保する上で重要です。Drupalではパスワードポリシーを設定し、ユーザーに強力なパスワードを使用させることができます。さらに、定期的なパスワード変更を促す設定も可能です。

DrupalとWordPressの比較

DrupalとWordPressはそれぞれに特徴や長所・短所があります。この記事では、使いやすさや柔軟性やコミュニティやセキュリティなどの観点から、DrupalとWordPressを比較します。

使いやすさ

WordPressは使いやすさで知られています。初心者でも簡単に始められ、直感的なインターフェースと豊富なプラグインが特徴です。一方、Drupalはよりテクニカルなユーザー向けで、柔軟性とパワフルなカスタマイズが可能ですが、使い始めるのは少し難しいかもしれません。

柔軟性

Drupalの大きな強みはその柔軟性です。Drupalは複雑なウェブサイトやアプリケーションを構築するための強力なツールセットを提供します。一方、WordPressは主にブログや小規模なビジネスウェブサイトをターゲットにしており、Drupalほどの複雑さは必要としていません。

コミュニティ

WordPressは世界中で最も広く使われているCMSであり、そのコミュニティは非常に活発です。WordPressのプラグインやテーマは数千種類以上が利用可能です。一方、Drupalのコミュニティも非常に活発で、そのサポートは素晴らしいものですが、利用者数はWordPressに比べて少ないです。

セキュリティ

セキュリティに関しては、Drupalが優れた評価を受けています。Drupalはエンタープライズレベルのプロジェクトによく使用され、そのセキュリティは高いレベルにあるとされています。一方、WordPressも基本的なセキュリティ機能を備えていますが、その人気から攻撃のターゲットとなりやすいという側面もあります。

Drupalを用いた有名なウェブサイト例

Drupalはその柔軟性とパワフルな機能により、様々な分野や規模のウェブサイトに使用されています。この記事では、Drupalを使用している有名なウェブサイトの例を紹介します。

The Economist

有名な経済雑誌「The Economist」のウェブサイトはDrupalを使用しています。コンテンツが多岐にわたり、毎日多量の記事が追加されることから、Drupalの強力なコンテンツ管理機能が活用されています。

NASA.gov

アメリカの宇宙機関NASAの公式ウェブサイトもDrupalを採用しています。多くのユーザーが同時にアクセスすることや、大量のデータと情報を管理するために、Drupalの強力なパフォーマンスとセキュリティが活用されています。

University of Oxford

世界で最も有名な大学の一つであるオックスフォード大学のウェブサイトはDrupalを使用しています。ウェブサイトは学生、スタッフ、訪問者向けの情報を提供し、Drupalの高度なカスタマイズ可能性と強力なコンテンツ管理機能が活用されています。

Louvre

世界最大の美術館であるルーブル美術館のウェブサイトもDrupalを使用しています。ウェブサイトは美術品のコレクションをデジタル化して公開し、訪問者が情報を探しやすいようにカスタマイズされています。

Tesla

革新的な電気自動車やエネルギー製品を開発する企業TeslaのウェブサイトもDrupalを使用しています。ウェブサイトはTeslaの製品やビジョンやニュースなどを紹介し、Drupalの高速なレスポンスと優れたデザインが活用されています。

Drupalの将来性

Drupalはその柔軟性とパワフルな機能により、様々な分野や規模のウェブサイトに使用されています。この記事では、Drupalの将来性について考察します。

Drupalの強み

Drupalは高度なセキュリティ、拡張性、そして柔軟性を求める企業や機関にとっては魅力的な選択肢となっています。その理由は以下の通りです。

  • Drupalは頻繁に新しいバージョンがリリースされ、その都度新機能が追加され、既存の機能も改善されています。これはDrupalが積極的に開発され続けていることを示しています。
  • Drupalは広大なコミュニティに支えられており、世界中の開発者が共同してDrupalの改善に取り組んでいます。これにより、Drupalは多くのフィードバックやサポートを得ることができます。
  • Drupalは現代のウェブ開発のトレンドであるAPIファースト(API First)の設計思想を取り入れています。これにより、Drupalはモバイルアプリ、IoTデバイス、さらにはVR/ARアプリといった様々なプラットフォームとの統合が容易になっています。
  • Drupalはユーザーが自由にモジュールを追加することができるため、Drupal自体の機能だけでなく、コミュニティが開発したモジュールのおかげでさまざまな機能を簡単に追加できます。

Drupalの課題

一方で、Drupalも完璧ではありません。Drupalが今後も競争力を保つためには、以下のような課題に対処する必要があります。

  • Drupalは使い始めるのが難しいというイメージがあります。初心者や非技術者にとっては、WordPressやSquarespaceなどの他のCMSやウェブビルダーと比べて敷居が高く感じられるかもしれません。
  • Drupalは新しいバージョンへの移行が大変です。特にDrupal 7から8への移行は大規模な変更が必要でした。これは既存のユーザーにとって負担となりましたし、新規のユーザーにとっても不安要素となりました。
  • Drupalはモジュールの互換性や品質に問題があります。Drupalのモジュールはコミュニティによって開発されているため、バージョンやメンテナンスの状況によっては、正常に動作しない場合があります。
  • Drupalはパフォーマンスの最適化が必要です。Drupalは高機能なCMSであるため、その分サーバーの負荷も高くなります。これはウェブサイトの速度や安定性に影響を与える可能性があります。

まとめ

DrupalはオープンソースのCMSとして世界的に利用されており、その将来性は非常に高いと言えます。しかし、Drupalも課題を抱えており、それらを解決することが今後の成長にとって重要です。Drupalはその強みを活かしつつ、課題に対応することで、さらなる可能性を広げていくことでしょう。

教育

Posted by admin