1.1. 概念:コンテンツ管理システムとしてのDrupal
コンテンツ管理システム(CMS)とは、スマートフォン、タブレット、デスクトップPCなどのブラウザを使って、 ウェブサイトのコンテンツの追加、公開、編集、削除操作を可能にするソフトウェアです。 通常CMSのソフトウェアはスクリプト言語で記述され、 データベースやWebサーバーがインストールされたコンピューター上で動作します。 Webサイトのコンテンツや設定は一般的にデータベース内に保存され、 Webサーバーにページ表示リクエストが届く度に、スクリプトはデータベースや「アセット」 (JavaScript、CSS、画像ファイルなどCMSの一部であったりアップロードされたもの) から取得した情報を統合してページを表示します。
オペレーションシステム、スクリプト言語、データベース、Webサーバーの組み合わせは、 CMSが動作する「スタック」と呼ばれており、よく使用されるLinuxオペレーションシステムとApache Webサーバー、 MySQLデータベース、PHP言語の組み合わせは「LAMPスタック」と呼ばれています。
Drupalは、LAMPスタック上で動作する柔軟なCMSです。 Drupalのモジュラーデザインでは、「モジュール」をインストールすることによって機能を追加したり、 「テーマ」をインストールしてWebサイトの外観を全く異なったものに変更することができます。 Drupalコアと呼ばれる基本のダウンロードファイルには、 CMSの基本機能を提供するPHPスクリプト、いくつかのオプションのモジュールやテーマ、 そして多くのJavaScript、CSS、画像アセットが含まれています。 また多くの追加モジュールやテーマは Drupal.org からダウンロードすることができます。
Drupalは、別のテクノロジースタック上でも動作します:
- オペレーティングシステムは、LinuxではなくWindowsまたはMac OSでも構いません。
- Webサーバーは、ApacheではなくNginxまたはIISにすることができます。
- データベースは、MySQLではなくPostgreSQL、SQLiteまたはMariaDBやPerconaのようなMySQL互換のものにすることができます。
オペレーションシステム、Webサーバー、データベースは変更可能ですが、 ソフトウェアが使用しているスクリプト言語のPHPは変更することができません。
Webサイトを構築する際に、既存のCMSパッケージやホスティングサービスを使用する、 自分自身のCMSを開発する、またはCMSを使用しないでサイトを構築するなど多くの選択肢が存在します。 その中で、Drupalを使用する理由のいくつかを以下に示します:
- 小さくて単純なサイトを静的HTMLで作成することは難しくないですし、素早くサイトを立ち上げることができるでしょう。 それに対し、CMSを使ったサイト構築は、一般的に始めにより多くの時間が必要となります。 しかしそれは、オンライン編集機能(あまり経験のないコンテンツ管理者にとってはより簡単)、 統一性(大きめのサイトを静的HTMLで維持管理するのは困難)、 データベースが必要なより複雑な機能を提供するなどの利点をもたらすでしょう。
- いくつかのCMSソフトウェアは、特定の目的のために使用されます。 例えばブログやクラブ会員Webサイトを構築するパッケージやホスティングサービスなどです。 対照的にDrupalは汎用目的のCMSです。 もし特定目的のサイトを構築するのであれば、特定目的のCMSを使用するべきでしょう。 しかし、もしサイトが特定の目的以上の機能を必要とするなら、 特定目的のCMSに適応させるよりは、汎用目的CMSを使用した方が良いでしょう。
- 自分自身のCMSタイプのソフトウェアを開発するのは魅力的に思えます。 しかしDrupalのような汎用目的CMSをそのスタート地点とするのは、より良いアイデアです。 なぜなら基本的なCMS機能(ユーザー管理やコンテンツ管理など)は、数千時間の開発者の時間を使って、 長年のユーザーテスト、バグ修正、セキュリティー強化がなされているからです。
- いくつかのCMSソフトウェアパッケージはライセンス購入費用がとても高価です。 あるものは無料または無料版が存在するかもしれませんが、 自由に改変したり拡張することを禁止する制限付きライセンスです。 Drupalのように、より制限の少ないソフトウェアライセンスで、 世界的なコミュニティにより開発されたパッケージを使用することをお勧めします。 このトピックについて、詳しくは 「概念: Drupalプロジェクト」 を参照してください。
帰属情報
Written and edited by Kristof van Tomme at Pronovix, Jennifer Hodgdon, and Michael Lenahan at erdfisch. Translated by Takashi Kabetani. Reviewed by Hayato Goto.
Source file: understanding-drupal.asciidoc
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion