この連載が書籍になりました! Drupal 8初の日本語解説書『Drupal 8 スタートブック』好評発売中です。

【Drupal 8入門】モジュールのインストール、ユーザー作成と権限の設定

2016年9月29日(木)
ANNAI株式会社

前回はサイトの多言語化を行い、URLで表示言語を切り替える機能を実装しました。今回は拡張モジュールの利用と、ユーザー作成と権限設定について説明していきます。Drupalには、2万を超える多彩な拡張モジュールがあり、これらを利用することでコードを書かずに、かなりの機能を実装できます。拡張モジュールの探し方からインストール方法、メンテナンス状況の見分け方など、今後Drupalでの開発を行う上で必要な事柄についても触れていきます。

ユーザー作成と権限の設定に関しては、今回は実際にユーザーを作成して、権限を割り当てて挙動を確認してみます。実際に試してみる事でイメージを掴んでください。

サンプルサイト http://demo.drupal8-getting-started.annai.co.jp
素材集 http://demo.drupal8-getting-started.annai.co.jp/download

拡張モジュールについての説明

拡張モジュールとは何か

これまでは、Drupal 8に実装されている標準機能(Coreの機能)のみでサイトの制作を行ってきました。特にDrupal 8では標準でViewsやWYSIWYGエディタが実装されているため、拡張モジュールを利用しなくても、ある程度は目的とするサイトを作ることが可能です。

しかし、Drupalの標準機能では対応できない機能を実装する場合はどうしたら良いでしょうか?

もちろん、独自にコードを書いて実装するのも一つの方法です。しかし、Drupalデベロッパーの間で有名なこんな言葉があります。

「There is a Module for that(そのモジュールはあるよ。)」

drupal.orgで公開されている2万を超える拡張モジュールの中には、あなたが実装しようとしている機能を実現するモジュールがあるかもしれませんという意味です。この言葉が意味するように、まずは目的とする機能を提供する拡張モジュールが存在しないかをdrupal.orgで探してみることをお勧めします。

このように、Drupalにおいて拡張モジュールとは、標準の機能を拡張するためのプログラムです。WordPressのプラグインに相当します。

コードだけのライブラリ的なモジュールも、もちろんありますが、GUIから設定や開発までできるモジュールとして、drupal.orgへコントリビュートするのがDrupalコミュニティの文化になっています。もちろんすべて無料でダウンロードでき再配布・カスタマイズ可能なGPL2ライセンスです。

拡張モジュールを追加すると何ができるのか

拡張モジュールを入れると何ができるかは、もちろんその拡張モジュールによって違いますので、一概には言えませんがDrupalの拡張モジュールの特徴としては、個々の拡張モジュール自体は比較的小さな機能を提供する点です。そのため、一つの拡張モジュールで求める機能を実装するというよりは、個々の拡張モジュールが提供する機能を組み合わせて目的の機能を実装していくのがDrupalのスタイルだと言えます。

この細かい機能を組み合わせて開発を行う様子は、しばしばレゴのブロックに例えられます。レゴのブロック一つ一つは無機質なブロックに過ぎませんが、それらを組み合わせる事でシンデレラ城やスターウォーズの宇宙船を作ることもできます。以下にDrupal 8で利用可能な有名なモジュールとその機能をご紹介します。

※インストール数は2016年9月現在の数

モジュール名 機能 インストール数(全バージョン)
Token Drupal標準以外のトークンを利用可能にする。 814,639
Pathauto 自動URLエイリアス生成機能を実装する。 709,697
IMCE 個人ディレクトリに対応したファイルアップローダー。 452,785
Google Analytics Google analyticsを実装する。 388,770
Metatag サイトのメタタグを自動生成する。 318,795
Backup and Migrate サイトのバックアップとリストアを行う。 306,101
Rules GUI上から条件に応じた、様々なアクションの設定を行う機能を実装。 295,421
XML sitemap XMLサイトマップを自動生成する。 290,159
Views Slideshow Viewsを利用したスライドショーを実装する。 264,802
Views Bulk Operations Viewsで作成した一覧に対して、一括処理を可能にする。 251,083
Panels GUI上から複雑な条件に応じたレイアウトを可能にする。 242,385
Display Suite GUI上からテンプレートを書き換える事なしで、レイアウトの変更を可能にする。 152,928
Devel 開発者向けの、さまざまな機能を提供する 224,033

Drupalコアモジュールとコントリビュート(寄与)モジュール

モジュールには、Drupal本体(core)に含まれているコアモジュールと、コントリビュート(寄与)モジュールの2種類があります。先ほど例として挙げたモジュールはすべてコントリビュートモジュールです。コントリビュートモジュールはその名前の通り、世界中のDrupalデベロッパーから寄与されたモジュールで、drupal.orgで公開され、メンテナンスされています。

一方、Drupalのcoreに含まれているモジュールもあります。これらをコアモジュールと呼びます。実際にモジュールの管理ページからコアモジュールを確認してみましょう。

管理者メニューの「拡張機能」をクリックして、「拡張」ページをご覧ください。コアというセクションがあり、モジュールの一覧が表示されています。これらがコアモジュールです。初期状態で無効になっているコアモジュールもありますので、利用する際には有効化する必要があります。

image alt text

コアモジュールとコントリビュートモジュールでは、セキュリティリスクが全く違うことは覚えておいてください。コアモジュールの脆弱性は全てのDrupalサイトに共通するリスクですので、一度脆弱性が明らかになった場合には、標的になりやすいです。コアモジュールに脆弱性が見つかった場合には早急なアップデートが必要となります。

Simple XML sitemapモジュールのインストール

では、実際に拡張モジュールをインストールして、機能を拡張してみましょう。

今回はSimple XML sitemapモジュールをインストールして、xmlサイトマップが自動的に作成されるように設定します。ここではGUIからのモジュールダウンロード方法を紹介しますが、SFTP、Drush、Drupal Consoleなどのコマンドラインから導入することが一般的です。

1.https://www.drupal.org/にアクセスして、ページ右上の検索バーに「Simple XML sitemap」と入力して、検索バー下のラジオボタンの「Modules」にチェックを入れて、「虫眼鏡」ボタンをクリックします。

image alt text


2.検索結果が表示されます。検索結果一番上の、「Simple XML sitemap」リンクをクリックします。

image alt text


3.「Simple XML sitemap」モジュールのページが表示されます。このように、モジュールやテーマはそれぞれ、個別のページを持っています。モジュールを探す上でこのページの情報はとても重要となります。後ほど、このページの情報の見方を詳しく説明します。

image alt text


ページ下の「Downloads」セクションの「Recommended releases」の「tar.gz(○○KB)」のファイルへのリンクアドレスをコピーします。

※最新の安定バージョンを利用しますので、必ず背景が緑色の「Recommended releases」のリンクアドレスをコピーしてください。

image alt text


4.制作中のサイトに戻ります。管理者メニューの「機能拡張」をクリックします。

image alt text


5.「拡張」ページの「新しいモジュールをインストール」ボタンをクリックします。

image alt text


6.「新しいモジュールをインストール」画面で、「次のURLからインストールする」の入力欄に先ほどコピーしたモジュールファイルのURLをペーストして「インストール」ボタンをクリックすると、インストールが始まります。

image alt text

image alt text


7.インストール完了後、「新しく追加されたモジュールを有効にします」リンクをクリックします。

image alt text


8.「拡張」画面に戻ります。「新しいモジュールをインストール」ボタン下の入力欄に、「simple xml」と入力すると該当する拡張モジュールがフィルタリングされます。「Simple XML Sitemap」モジュールのチェックボックスにチェックを入れて、「インストール」ボタンをクリックします。

image alt text


9.インストールが開始されます。インストールは数秒で終わります。

image alt text


10.「Simple XML Sitemap」モジュールがインストールされました。「Simple XML Sitemap」モジュールのチェックボックスを確認すると、チェックが付いていてグレーアウトされています。これでモジュールが有効化されました。

image alt text


Simple XML SitemapモジュールでXMLサイトマップを作成する

インストールしたSimple XML Sitemapモジュールを設定して、XMLサイトマップを作成します。このモジュールはコンテンツタイプごとにサイトマップを自動的に作成できます。

1.管理者メニューの「サイト構築」の「コンテンツタイプ」リンクをクリックします。

image alt text


2.「コンテンツタイプ」画面の「基本ページ」コンテンツタイプの「フィールドの管理」横の矢印をクリックします。ドロップダウンメニューから「編集」をクリックします。

image alt text


3.「基本ページ コンテンツタイプを編集」画面の「Simple XML sitemap」タブをクリックします。

image alt text


4.「Index entities of this type」ラジオボタンをチェックして、「優先度」を設定し、「Regenerate sitemap after hitting Save」チェックボックスをチェックして、「コンテンツタイプの保存」ボタンをクリックします。

image alt text


5.基本ページコンテンツタイプで作られたコンテンツのサイトマップが生成されます。

image alt text


6./sitemap.xmlページにアクセスしてサイトマップを確認します。

以下の様にURLが羅列されています。

image alt text


ブラウザでソースを確認するとxmlサイトマップが生成されているのが確認できます。

image alt text


7.「新着情報」と「製品紹介」コンテンツタイプについても同様に設定を行います。

/sitemap.xmlページのソースコードを確認すると、以下のように「新着情報」と「製品紹介」コンテンツタイプについてもxmlサイトマップが生成されているのが確認できます。

image alt text

ANNAIは、2009年からDrupal専門のWebシステム開発会社として、世界規模で展開するグローバル企業や大学・自治体を中心に数多くのWebソリューションを提供。
CoreやModuleのコントリビューターなど、Drupalエキスパートが多数在籍。国内ユーザーコミュニティへも積極的にコミットし、定期的なセミナーの等の開催を通じて、オープンソース技術の普及や海外コミュニティとの緊密な連携を図っている。
Webシステムの企画・開発〜デザイン、クラウド運用までをワンストップで提供する他、Drupalのコーディングを評価する"Audit業務"や最適なモジュールの調査・選定等、幅広いコンサルティングを行っている。Drupalアソシエーション公式パートナー。
https://annai.co.jp

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています