Drupal8をインストールする方法を紹介します

  •  
 
トビウオ に投稿

Drupalは、主に大規模開発を得意とするCMS(コンテンツマネジメントシステム)です。ソースコードはPHPで書かれており、ApacheやNgnixなどの(PHPが動作する)Webサーバー上で動作されるのが一般的です。

そこで、Drupal8をインストールする方法についてまとめてみました。

(※ソフトウェアは、断りがない限り、2018/08/31現在の最新バージョンを使用します)

A. 全て手動でインストール

Drupalを動作させるには、次の3点が環境にインストールされている必要があります。

  • PHP……DrupalのソースコードがPHPで書かれているので、PHPをインタープリタに解釈・実行するための環境が必要になります。最新のPHP7にも対応していますのでそれにしましょう
  • データベース……公式サイトの説明によると、MySQLおよびその互換ソフト・PostgreSQL・SQLiteが使用可能です。手軽さで考えるとSQLiteですが、実運用上はMySQL系かPostgreSQLの方が良いと思われます
    • 操作感にそれほど差はありませんが、データベースを参照するカスタムモジュールを作成・使用する際に注意するべき場合があります
    • なお、 MySQL8には未対応 ですので、MySQL5.7をインストールしましょう
  • Webサーバー……公式サイトの説明によると、Apache・Ngnix・IISが使用可能です


その上で、まずDrupal本体を公式サイトからダウンロードしましょう(tar.gzかzipかを選べますがお好みで……)。適当な場所に展開した後、そのパスを外部に向けて公開するようにWebサーバーで設定します。例えばApacheだと、次のような設定を行います。

/* httpd.confに追記 */
LoadModule php7_module /usr/local/Cellar/php@7.1/7.1.20/lib/httpd/modules/libphp7.so
<IfModule php7_module>
  AddType application/x-httpd-php .php
</IfModule>

/* httpd.confでこの行のコメントアウトを無くす */
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

/* httpd-vhosts.confに追記 */
<VirtualHost *:80>
    DocumentRoot "/{中略}/drupal-8.x.y"
    ServerName localhost
    <Directory "/{中略}/drupal-8.x.y">
        AllowOverRide All
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>
</VirtualHost>

さらに、データベースソフト上で、Drupal用のアカウントおよびユーザーを作成します。例えばMySQL系の場合、次のような手順で設定できます。

  • CREATE DATABASE {データベース名};
  • CREATE USER '{ユーザー名}'@'localhost' IDENTIFIED BY '{パスワード}';
  • GRANT ALL PRIVILEGES ON {データベース名}.* to '{ユーザー名}'@'localhost' WITH GRANT OPTION;


ここまで完了していれば、「{Webサーバーによる公開先ドメイン}/index.php」にWebブラウザ上でアクセスすると、次のようなインストール画面が表示されます。後は、画面上の指示に従えば簡単にインストールが完了します。

Drupalのインストール画面

※tar.gzを展開した時点で察せられた方もいると思いますが、Drupalは結局「展開した先のフォルダ内のファイルでサイトを構成する」システムです。なので、1つのマシン内に幾らでもインストール(サイト作成)できます。次に紹介する方法Bや方法Cも、サイトを複数作成する場合に便利なメソッドというわけです

B. Drupal Consoleを使用してインストール

方法Aでもインストールはできるのですが、ステップ数が多くて若干面倒だといった問題があります。そこで、Drupal Consoleというツールを使えば。Terminal上で対話的にインストールすることができます。

まず、Drupal Console自体のインストール作業が必要です。公式サイトにはComposerを使用する手順も紹介されていますが、私が試した限りだとpharファイルをダウンロードして使用する手順の方が簡単にインストールできました。

次に、「drupal init」コマンドを1回だけ叩きます。これはDrupal Consoleの設定を対話的に行うコマンドですが、「Select language [en]:」に対して「ja」と答える場合はデフォルト値で良いと思われます。

Drupalでサイトを作成する際は、まず「drupal site:new」コマンドを実行します。「Select value for "repository" placeholder:」でフォルダ構成、「Enter value for "directory" placeholder:」で作成先のフォルダを指定します。

drupal site:new」し終わったら、Drupalサイトを作成したいディレクトリまで「cd」コマンドで移動し、「drupal site:install」コマンドを実行します。この後は、サイト名やデータベースに悪世するURL・ユーザー名・パスワードなどの項目を対話的に入力していくことになります。SQLite以外のデータベースソフトを選択した場合、データベースは前述のように 手動で作成 する必要がありますので、事前に作成しておきましょう。

方法Bについては、次のページも参考になります。
 Drupal Consoleを使った開発環境構築 - Qiita

C. Dockerを使用してインストール

いっそのこと仮想環境にインストールしてしまおう、といった発想です。Dockerファイルを1から作成することもできますし、Docker Hubに存在するimageを使用することもできます。

ただ、Dockerコンテナを手動で複数(Drupal・Webサーバー・データベース)立ち上げるのは面倒ですので、一般的にはDocker Composeを使用することになると思います。

例えばDockerの公式サイトには、stack.ymlという名前で以下のようなdocker-compose.ymlの作成例が書かれています。また、Docker4Drupalなど、構築済みのdocker-compose.ymlの例がDrupalの公式サイトに一覧で記されています。

コメントを追加

プレーンテキスト

  • HTMLタグは利用できません。
  • 行と段落は自動的に折り返されます。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
CAPTCHA
この質問はあなたが人間の訪問者であるかどうかをテストし、自動化されたスパム送信を防ぐためのものです。