drush を使用したDrupalインストール

Nid: 776
  • Drupal のダウンロード
$ sitename=site1.example.com
$ cd /var/www/html && sudo drush dl drupal-7 --drupal-project-rename=$sitename

ここで"drupal-7"はprofile名。指定したプロジェクト名"site1.example.com"でディレクトリが作成される。

 

  • 作成したフォルダに移動し、Drupalインストールスクリプト実行。sudo によってデータベースにはパスワードなしで接続されるため、ここではパスワード指定オプション「--db-su-pw=パスワード」を使用していない。
$ cd $sitename
$ sudo drush si standard --db-url=mysql://dp_db_admin:dp_db_password@localhost/db_$sitename --db-su=root --site-name="example web site" --account-mail=octaviadata@outlook.com --site-mail=octaviadata@outlook.com

 

  • profile を使用しているテーマは、profile ディレクトリを移動してインストールする。commerce_kickstart の例
$ cd /var/www/html
$ sudo drush dl commerce_kickstart --drupal-project-rename=commerce_kickstart.local
$ cd commerce_kickstart.local/
$ sudo mv profiles/commerce_kickstart/modules/* sites/all/modules/
$ sudo drush si commerce_kickstart --db-url=mysql://dp_db_admin:dp_db_password@localhost/db_commerce_kickstart --db-su=root --site-name="commerce_kickstart site" --account-mail=octaviadata@outlook.com --site-mail=octaviadata@outlook.com

 

  • Drupalインストール完了後、adminパスワードが表示されるので、ログインしてWEBサイトの接続を確認する。
You are about to create a sites/default/files directory and create a sites/default/settings.php file and CREATE  the 'db_example.com' database. Do you want to continue? (y/n): y
Starting Drupal installation. This takes a few seconds ...                     [ok]
Installation complete.  User name: admin  User password: zgXDVT2SoB            [ok]

 

SSL対応ドメインにホスト追加の場合は、別途説明している証明書取得とNginx設定を先に行う。

  • SSL証明書の取得

1つの証明書に複数ドメインを対応

$ sudo letsencrypt certonly --webroot -w /var/www/html/example.com -d example.com -w /var/www/html/$sitename -d $sitename
  • Nginx 設定

Configuration Snippet

$ sudo vim /etc/nginx/snippets/ssl-example.com.conf
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
  • Nginx 設定ファイル
$ sudo vim /etc/nginx/sites-available/$sitename
server {

    # SSL configuration
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    include snippets/ssl-example.com.conf;
    include snippets/ssl-params.conf;
  • 設定の反映
$ sudo nginx -t && sudo nginx -s reload