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ブラウザ上でアクセスすると、次のようなインストール画面が表示されます。後は、画面上の指示に従えば簡単にインストールが完了します。
※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の公式サイトに一覧で記されています。
- 閲覧数 1382
コメントを追加