Composer で Drupal 9 をインストールする手順は、drupal.org の資料に詳しい説明がある。ここでは、コアのインストーラを起動するまでの要点をまとめておく。
プロジェクトの作成
Drupal 9 は Composer のプロジェクト テンプレートを使ってインストールできる。
composer create-project drupal/recommended-project <PROJECT>
<PROJECT> は実際のプロジェクト ディレクトリ名で置き換える。
このコマンドにより、composer install が実行され、最新安定版の Drupal と依存ファイルがダウンロードされる。
バージョン番号を指定する場合は、テンプレート名の後ろにコロン(:)で区切って追記する。たとえば、Drupal 8.9.2 をインストールする場合は次のようにする。
composer create-project drupal/recommended-project:8.9.2 <PROJECT>
以前は drupal-composer/drupal-project がプロジェクト テンプレートとして使われてきたが、Drupal 8.8.0 からは drupal/recommended-project が公式にサポートされる推奨テンプレートになった。
Drush のインストール
Drush は、コマンドラインから Drupal を操作するためのツールで、Drupal サイトの運用実務に欠かせない。Drupal 7 までは、グローバル インストールした Drush(~ バージョン 8)を使う例が多かったが、Drupal 8 以降は個々のプロジェクトの依存パッケージとしてプロジェクト毎に Drush(バージョン 9 以上)をインストールして使うようになった。
インストールするには、プロジェクトのディレクトリに移動して次のコマンドを実行する。
cd <PROJECT>
composer require drush/drush
展開される <PROJECT>/vendor/drush/drush/drush ファイルが drush コマンドの実体。たとえば、次のように起動できる。
./vendor/drush/drush/drush version
コマンドのパスを毎回指定するのは面倒なので、drush-lanucher をインストールしておくと良い。
curl -OL https://github.com/drush-ops/drush-launcher/releases/latest/download/drush.phar
sudo mv drush.phar /usr/local/bin/drush
このコマンド(/usr/local/bin/drush)は、カレントディレクトリを配下に含む Drupal プロジェクトにインストールされた drush を自動的に呼び出してくれる。
$ drush version
Drush version : 10.3.4
なお、既に Drush 8 をグローバル インストール済みの場合は、その drush コマンドが上と同じ働きをするので drush-launcher は不要。その場合、Composer 管理のプロジェクト配下ではその依存パッケージの drush(バージョン 9 以上)が起動され、それ以外の場所ではグローバルの Drush 8 自体が実行される。
データベースの作成
次にサイト用のデータベースを作成する。drush の sql:create コマンドに接続 URL を指定することで簡単に作成できる。
drush sql:create \
--db-su=<root_user> \
--db-su-pw=<root_pass> \
--db-url="mysql://<db_user>:<db_pass>@127.0.0.1/<db_name>"
- <root_user>:データベースの管理ユーザー名
- <root_pass>:データベースの管理ユーザーの接続パスワード
- <db_name>:サイト用のデータベース名
- <db_user>:サイト用のユーザー名
- <db_pass>:サイト用のユーザーのパスワード
MySQL 以外のデータベースを使う場合や、localhost 以外のホストでデータベースが稼働している場合は URL を適宜変更する。
サイトのインストール
あとは、<PROJECT>/web がサイトのルートディレクトリとして認識されるように apache や nginx 等を設定し、ブラウザから接続してサイトをインストールする。
インストールの過程で、サイト用データベースの名前、接続ユーザー名、接続パスワードが要求されるので、データベース作成時に指定した値を入力する。
なお、drush の site:install コマンドを使用してコマンドラインからインストールする方法もある。使用するインストールプロファイルのほか、データベースの接続情報、ロケールなど、インストール時に指定する情報をワンライナーで指定できる。
参考資料
関連情報
ffdsm というローカルの仮想マシン環境で Drupal 9 をインストールする手順を動画にしてみました。当記事とあわせてご覧いただければと思います。
また、サイトエイリアスと自作インストール プロファイル(ディストリビューション)を使うと、もっと簡単にわずか4行で新規サイトをインストールすることもできます。デモ動画を作ってみました。
詳しくは、技術書典にて発売中の『Drupal 9 おいしいレシピ2』の第6章にまとめています。ご興味あれば、ぜひこちらもチェックしてみてください。