コンソールコマンドの 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-install
は drush si
と省略可能です。 1
最後にファイルの所有者を変更しないとうまく動作しないので注意が必要です。