Drupal 最短インストール


コンソールコマンドの Drush を使って、コマンドラインだけで Drupal のインストールを完了させる手順です。

環境構築

必要に応じて実施してください。
ここでは例として以下のものをインストールしています。

  • CentOS 7.2.1511 (minimal)
  • Apache 2.4.6 (base)
  • PHP 7.0 (remi-php70)
  • MariaDB 5.5.52 (base)
  • Drush 8.1.7 (epel)

ミドルウェアのインストール

yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum -y install yum-utils && yum-config-manager --enable remi-php70
yum -y install drush httpd php mariadb-server php-mysqlnd
cat << "_EOF_" > /etc/httpd/conf.d/drupal.conf
<Directory "/var/www/html">
    AllowOverride All
</Directory>
_EOF_
systemctl start httpd mariadb && systemctl enable httpd mariadb

Drupal 8 のシステム要件が PHP 5.5.9 以上なので、 remi リポジトリ等を導入します。
Drush は EPEL リポジトリに含まれます。ここでは remi リポジトリをインストールしているため、依存関係で EPEL リポジトリは自動的にインストールされることから明示していませんが、そうでない場合は yum install epel-release と指定してインストールしましょう。

データベース

mysqladmin create [db_name]
cat << "_EOQ_" | mysql -u root -p
CREATE USER '[db_user]'@'localhost' IDENTIFIED BY '[db_pass]';
GRANT ALL ON [db_name].* TO '[db_user]'@'localhost';
_EOQ_

ここでは例として MariaDB にデータベースとユーザーを作成しています。
SQLite を利用する場合は不要です。

Drush による Drupal のインストール

ファイルのダウンロードと展開

cd /var/www
drush dl drupal --drupal-project-rename=html --yes

--drupal-project-rename はカレントディレクトリーに指定された値を加えたものでディレクトリーを作成してファイルをダウンロード、展開されます。
grep で確認した限りでは展開パス以外でこの値は使用されていないようです。
また絶対パスは効きません。(例えば /root で --drupal-project-rename=/var/www/html などと指定すると /root//var/www/html というパス指定で処理される)
未指定の場合は drupal-8.2.4 などのディレクトリー名になります。

セットアップ

cd /var/www/html
drush site-install standard --yes \
install_configure_form.site_default_country=JP --locale=ja \
install_configure_form.date_default_timezone="Asia/Tokyo" \
--db-url='mysql://[db_user]:[db_pass]@localhost/[db_name]' \
--site-name=[site_name] \
--site-mail=[site_mail] \
--account-name=[admin_name] \
--account-pass=[admin_pass]
chown -R apache:apache /var/www/html/*

drush site-installdrush si と省略可能です。 1
最後にファイルの所有者を変更しないとうまく動作しないので注意が必要です。