Drupal 8初心者講座

この記事の目次

Drupal 8のシステム要件

この連載では Drupal 8 を前提としますので、最初に Drupal 8 のシステム要件を確認しておきましょう。Drupal の公式サイトで次の資料が公開されています。

https://www.drupal.org/docs/8/system-requirements

Drupal を動かすには、データベース、PHP、Webサーバーの3つが必要になります。まずデータベースは、MySQL やその互換ソフトウェア(MariaDB、Percona Server)が推奨されています。PHP は(Drupal 8 の場合)バージョン 5.5.9 以上が必要です。Web サーバーは、Apache のほか Nginx も広く使われています。各要素とも他にもサポートされる製品がありますが、最初はここで挙げた最も一般的なものから始めるのが良いでしょう。

Drupal 8のシステム要件一覧表

システム要素 サポートされる製品/バージョン 備考
データベース

MySQL 5.5.3 以上
MariaDB 5.5.2 以上
Percona Server 5.5.8 以上

他にPostgreSQL、SQLiteもサポート。
拡張モジュールを使用すれば
Microsoft SQL ServerやMongoDBも
使用可能。

PHP 5.5.9 以上 5.6、7 もOK
Webサーバー

Apache 2.x
Nginx
Hiawatha
Microsoft IIS
PHP Built-in Web Server(開発専用)

mod_rewrite(クリーンURLのため)
ngx_http_rewrite_module(同上)

Drupal 8 を動かす方法

Drupalを動かすには、次のような方法が考えられます。

  • ローカルで動かす方法
  • クラウドサービスを利用する方法
  • レンタルサーバーを利用する方法

最終的にサイトをホストするにはクラウドサービスやレンタルサーバーを利用することになりますが、サイト構築や開発の過程では、やはりローカル環境が必要になると思います。今回はまず、ローカル環境にインストールする方法を紹介します。ローカル環境で Drupal 8 を動かす方法については、ANNAI マガジンの過去記事 「Drupalのローカル開発環境の構築方法について詳細解説」 に解説があります。

この記事で整理されているように、Drupal のような Web システムをローカル環境で動かすには次の3種類の方法があります。

  1. ホストOS上で直接実行する方法
  2. 仮想マシンを利用する方法
  3. コンテナを利用する方法

以下、順に紹介します。

ホストOS上で直接実行する方法

Drupalは、一般的な LAMP(Linux、Apache、MySQL、PHP)環境で動作します。普段の作業に使う OS は Mac や Windows の人が多いと思いますが、同じ環境で Drupal を動かすには、それぞれの OS 用にビルドされた Apache、MySQL、PHP をインストールする必要があります。これを簡単に実行するお手軽インストールパッケージが複数存在します。

さらに、Drupal のインストールまで含めてサポートしてくれるものとして、Acquia 社が配布している Acquia Dev Desktop や、Bitnami の Drupal Stack が挙げられます。こうしたパッケージを利用すれば、簡単にローカル開発環境を構築できます。Acquia Dev Desktop については、ANNAI マガジンの過去記事 「Acquia Dev Desktopで、Drupal 8のローカル開発環境を構築しよう」 でインストール手順を解説していますのでチェックしてみてください。

Bitnami は、さまざまなオープソースアプリケーションのワンクリック・インストールを実現する自己完結型のパッケージで、既存の環境と干渉することなく目的のアプリケーションを導入できます。使い方は簡単で、ダウンロードページからインストーラをダウンロードして実行するだけです。

インストールが完了すると、Drupal Stack Manager Toolという管理画面から MySQL やApache サーバーの起動/停止や構成、PHPMyAdminによるデータベース操作などができます。

article4_0

Drupalサイトはローカルホストの/drupal/ディレクトリとしてアクセスできます。

article4_1

ただし、初期状態ではサイトの言語が英語になっているので、管理画面のUIを日本語にするには、次の2つのモジュールを有効にしてから日本語を設定します。

  • Language
  • Interface Translation

Drupalの言語設定の詳細は改めて紹介したいと思います。

Bitnami Drupal Stack にはコマンドライン管理ツールの Drush も含まれています。Windowsでも専用のバッチファイル(dr.bat)として利用できます。サイトとコマンドプロンプトの文字コードの不一致でメッセージが文字化けする場合は、次のコマンドでUTF-8に合わせることで解決します。 chcp 65001 ブラウザから操作するだけなら特別な調整は不要で、まさにワンクリックでローカルのDrupalサイトを立ち上げることができます。手軽にDrupalを試せる選択肢だと思います。

仮想マシンを利用する方法

デスクトップ OS 上に直接環境を構築する代わりに、Linux 等の仮想マシンを立ち上げて、その中でサイトを構築する方法もあります。ホスト OS とは完全に独立した環境を構築できるほか、より本番環境に近いプラットフォームで開発作業を行える、Linux の豊富な開発ツールが利用できる、クラウド環境との親和性が高い、などのメリットがあります。

こうした環境の多くは、冪等性(べきとうせい=構成を何度実行しても同じ環境が得られること)を保証するためにansibleやchefなどの構成管理ツールを利用しますが、慣れない人にはそのこと自体敷居が高く、手を出しづらい側面もあると思います。

単に手元で使う環境を導入するだけなら、Drupalサイトが動作する仮想マシン環境を丸ごとコピーして使うのが簡単です。仮想マシンの導入を自動化するツールとして Vagrant が広く使われていますが、このツール用の導入パッケージを共有する Vagrant Cloud というサービスがあります。これを利用すれば、Drupal 用に調整した Linux 環境を用意して共有/再利用することができます。

例として、筆者がコミュニティでのデモやハンズオンで使用している環境を紹介します。公式の Centos/7 をベースに、Apache2、PHP、MariaDB および関連ツール類一式を導入したもので、仮想化ソフトウェアとしてVirtualBoxを利用します。maxOS と Windows(64bit)で動作を確認しています。

https://app.vagrantup.com/bkenro/boxes/centos7dsm

使い方は次のとおりです。

  1. VirtualBoxのインストーラをダウンロードしてインストールします。 https://www.virtualbox.org/wiki/Downloads
  2. Vagrantのインストーラをダウンロードしてインストールします。 https://www.vagrantup.com/downloads.html
  3. 作業用のフォルダを作り、次の Vagrantfile(Vagrantの構成ファイル)を作成します。
    Vagrant.configure("2") do |config|
      config.vm.box = "bkenro/centos7dsm"
      config.vm.network "private_network", ip: "192.168.12.34"
      config.vm.hostname = "centos7dsm.local"
      config.vm.provider "virtualbox" do |vb|
        vb.name = "vm-centos7dsm"
        vb.customize ["modifyvm", :id, "--memory", "1024"]
      end
      config.vm.synced_folder ".", "/vagrant", disabled: true
      config.vm.synced_folder "vagrant/", "/vagrant", mount_options: ['dmode=777','fmode=777']
      config.vm.synced_folder "www/", "/var/www", mount_options: ['dmode=777','fmode=666']
    end
    
  4. Vagrantfileと同じ場所に vagrant、www、および www/html というフォルダを作成します。これらは仮想マシンとの共有フォルダになります。
  5. vagrant up コマンドを実行します。Vagrant Cloud で公開しているパッケージのダウンロードと導入が行われた後、仮想マシンが起動します。

仮想マシンには IP アドレス 192.168.12.34 を割り当ててあり、 http://192.168.12.34/で Web サーバーにアクセスできます。上で作成した www/html フォルダが Web サーバーのルートディレクトリに対応しており、ここに Drupal 7/8 のフォルダを展開してサイトをインストールできます。たとえば、www/html の下に Drupal 8 を d8 という名前のフォルダに展開した場合、 http://192.168.12.34/d8/にアクセスしてインストールを開始できます。MariaDB に d7、d8という名前で(ユーザー名、パスワードも同じ)空のデータベースを作成してあるので、インストール時にそのまま使用できます。 (なお、データベースの root ユーザーのパスワードは ‘root’ に設定)

drush、composer、drupal console といったツールも導入済みです。公式の CentOS/7 がベースなので、Linux の知識があれば導入後は自由にカスタマイズできます。

コンテナを利用する方法

これは Docker コンテナを利用する方法です。やや高度なので、ここでは詳細は触れませんが、弊社スタッフが Drop Fabrik という環境を公開していますので、興味がある方はぜひチェックしてみてください。

https://github.com/blauerberg/dropfabrik

まとめ

今回はローカル環境で Drupal 8 を動かすための選択肢と、その具体例として Bitnami Drupal Stack と Vagrant/VirtualBox の共有パッケージを利用する方法を紹介しました。

次回はクラウドサービスやレンタルサーバーで Drupal を動かす方法を見ていきたいと思います。

(Photo by Courtney Corlewon Unsplash)