Drupal 8

Drupal 8 に関連する情報

Drupal 8 に関する話題

 

 インストール関連

マイグレーションについて (例えば Drupal 7 からDrupal 8 へ) ここから

Composerでインストールする場合

詳細は 次のページで確認 https://www.drupal.org/docs/user_guide/en/install-composer.html

composer create-project drupal-composer/drupal-project:8.x-dev (some-dir) --stability dev --no-interaction

  • 2019年9月22日現在

composer create-project drupal-composer/drupal-project:8.x-dev (my_site_name_dir) --no-interaction

  • 2020年7月11日現在

Drupal Coreのアップデイト

 composer update drupal/core drupal/core-dev --with-dependencies

Drupal Coreの可能なバージョン確認

 composer show drupal/recommended-project --all

Drupal dev環境のインストール

 composer require drupal/devel:~1.0

Drushのインストール

 composer require drush/drush

 

Drupal 9をインストールする場合は

 composer create-project drupal/recommended-project:~9.0.0-beta1

 ※ただし、2020年7月11日現在、上記のインストールではdrushコマンドがコアのソースにインストールされませんでした。Drush 10 はcompsoerで別途インストールします。 composer require drush/drush 

2020年9月16日現在、Drupal8と同等のComposerコマンドが実行可能です(詳細はGithubのComposer template for Drupal projects

 composer create-project drupal-composer/drupal-project:9.x-dev some-dir --no-interaction

 cd some-dir
 composer require drupal/devel

Coreのアップデイト

 composer update "drupal/core-*" --with-dependencies

 composer update drupal/core drupal/core-dev --with-dependencies

 

 

Composer template for Drupal projects

https://github.com/drupal-composer/drupal-project/blob/8.x/README.md

 

Drupal 8.7.8 でインストール時に必要そうなPHP7.3関連モジュール(2019年10月3日、Debian 10 Buster)

  • libapache2-mod-php7.3
  • php7.3
  • php7.3-bz2
  • php7.3-cgi
  • php7.3-cli
  • php7.3-common
  • php7.3-curl
  • php7.3-gd
  • php7.3-intl
  • php7.3-json
  • php7.3-mbstring
  • php7.3-mysql
  • php7.3-opcache
  • php7.3-readline
  • php7.3-sqlite3
  • php7.3-xml
  • php7.3-xmlrpc
  • php7.3-zip

上記のテキストの貼り付け用

libapache2-mod-php7.3 php7.3 php7.3-bz2 php7.3-cgi php7.3-cli php7.3-common php7.3-curl php7.3-gd php7.3-intl php7.3-json php7.3-mbstring php7.3-mysql php7.3-opcache php7.3-readline php7.3-sqlite3 php7.3-xml php7.3-xmlrpc php7.3-zip

 

  • PECL アップロードプログレスライブラリ

http://pecl.php.net/package/uploadprogress

Debian 9, 10, 11 の場合は、apt install phpxxxxx-uploadprogress

PHP8.1の場合 apt install php8.1-uploadprogress

PHP8.1の場合 apt install php8.3-uploadprogress

詳細は ここから Install PECL uploadprogress on Debian 9 Stretch with PHP 7

 

Drupal 7 

composer create-project drupal-composer/drupal-project:7.x-dev (some-dir) --stability dev --no-interaction

詳細は https://www.drupal.org/docs/develop/using-composer/using-composer-templa...

 

Drupal 8 coreの更新(2019年2月)

詳細は https://www.drupal.org/docs/8/update

ComposerでDrupal 8 コアを更新します、詳しくは https://www.drupal.org/docs/8/update/update-core-via-composer

1) バックアップを作成します

2) コアやモジュールの更新があるか確認します composer outdated drupal/*

3) Drupal 8 コア、モジュール、その他の更新を同時に実行します。 composer update

 Drupal 8 コアだけの更新は composer update drupal/core --with-dependencies

4) データベースの更新が必要か確認します。 drush updatedb

 

※もし、Drupal 8 のコアは更新したくない、まだ、更新できるか確認前の段階で、composer update コマンドを実行する場合は、 とりあえず、composer.josn ファイルから drupal core の記述を削除して、composer update コマンドを実行しました。(2019年5月3日)composer.jsonファイルを編集した場合は、必ず、composer updateコマンドを実行するようにします。

 

ComposerでDrupalのコアを更新する場合の手順などは 以下のURLUpdating Drupal core via Composer

アップグレード上のさまざまトラブルなどは 「Upgrading Drupal

 

 

既存Drupal8をcomposerベースに移行

 

2019年10月12日現在、既存Drupal 8環境をComposerベース(Composer Project Root + Drupal Root環境)にマイグレーションするツールとして、 gocomposer と composerize drupal というComposerのツールがあります。

どちらか、使いやすツールを選択します。詳細は https://www.drupal.org/docs/8/install/add-composer-to-an-existing-site

 

既存のDrupal 8 環境やデザインテンプレートパッケージやディストリビューションのDrupal 8 システムをcomposerで更新メンテンナンスできるように移行する方法

テスト環境 Drupal 8.6.8

1) バックアップを作成します。

2) 既存のDrupal 8 コアを最新のバージョンにアップデイトします。

3) 移行先のcomposer+ Drupal 8 コア(最新版)を作成します。

 composer create-project drupal-composer/drupal-project:8.x-dev (some-dir) --stability dev --no-interaction

(some-dir)にできたディレクトリのパーミッションを調整します。 (some-dir)/web がDrupal 8 のDrupal ROOTディレクトリになります。

ApacheやNignxのDocument Root設定を調整し、(some-dir)/web を変更します。

4) 既存(移行元)のDrupal ROOTを新しいcomposerベースのDrupal 8コアで入れ替える作業方法になります。

まずは、既存(移行元)のDrupal ROOTディレクトリにある、composer.json composer.lock ファイルを削除します。

既存(移行元)のDrupal ROOTディレクトリにある、core と vendor ディレクトリを削除  rm -rf core vendo

既存(移行元)のDrupal ROOTディレクトリにある、設定ファイルなどを削除 

新しく作成したcomposerベースのwebディレクトリの下にあるcore、vendorディレクトリを既存(移行元)のDrupal ROOTディレクトリに移動またはコピー 

cp -R core vendor 既存(移行元)のDrupal ROOTディレクトリ
cp *.* .[a-z]* 既存(移行元)のDrupal ROOTディレクトリ

5) 既存(移行元)のDrupal ROOTディレクトリの一つ上 (some-dir)/Drupal ROOT/ にcomposerベースのcomposer.json composer.lockファイルなどのディレクトリ環境を設定します。

(some-dir)/web のWebディレクトリを削除し、既存(移行元)のDrupal ROOTディレクトリをそのwebディレクトリの代りに設定保存します。

6) 新しい移行先(some-dir)にある composer.json を編集して、DrupalRootディレクトリを web から既存(移行元)のDrupal ROOTディレクトリの名称に変更します。

"installer-paths": {
            "web/core": ["type:drupal-core"],
            "web/libraries/{$name}": ["type:drupal-library"],
            "web/modules/contrib/{$name}": ["type:drupal-module"],
            "web/profiles/contrib/{$name}": ["type:drupal-profile"],
            "web/themes/contrib/{$name}": ["type:drupal-theme"],
            "drush/Commands/{$name}": ["type:drupal-drush"]
        },

7) drush cr コマンドでDrupal 8 のキャッシュをクリアし、動作環境を確認します。

drush status で環境設定の確認

8) composer updateで動作確認

 

ComposerとDrupal 8

参考にしたサイト

  • How I upgrade Drupal 8 Sites with exported config and Composer

 https://www.jeffgeerling.com/blog/2019/how-i-upgrade-drupal-8-sites-expo...

  • Converting a non-Composer Drupal codebase to use Composer

 https://www.jeffgeerling.com/blog/2018/converting-non-composer-drupal-co...

  • Tips for Managing Drupal 8 projects with Composer

 https://www.jeffgeerling.com/blog/2017/tips-managing-drupal-8-projects-c...

 

便利なComposerコマンド

composer outdated drupal/core

 

 

 

settings.phpの設定

Trusted host configuration の設定

たとえば、サイトのドメイン名が example.com の場合

  $settings['trusted_host_patterns'] = array(
    '^example\.com$',
    '^.+\.example\.com$',
  );

と設定します。 example.com を実際のドメイン名に合わせます。

 

もし、www.example.com だけの場合は

$settings[‘trusted_host_patterns’] = array(

‘^example\.com$’,

‘^www\.example\.com$’

);

この設定情報は ここを参考にしました http://learnwebtutorials.com/how-to-enable-trusted-host-settings-in-drup...

また、localhost で運用している場合は

$settings['trusted_host_patterns'] = array(
   '^localhost$',
 );

上記の設定は動作未確認ですが、以下の動画で参考にしました。

https://youtu.be/94Ke4uwgmOI

 

また、IPアドレスやイントラネットのサーバー名 で運用している場合は

$settings['trusted_host_patterns'] = array(
   '^localhost$',
   '^192\.168\.0\.52$',
   '^サーバー名$',
 );

 

Drupal 8 のフルバックアップ(データベース+Drupalディレクトリ)で他のサイト(環境)へ再インストールした際に、上記のホストネームが合わないので、以下のようなエラーメッセージが表示される場合があります。

 The provided host name is not valid for this server.

その場合は、移行先のホスト名に合わせるか、この機能はコメントにします。

 

モジュール

便利なモジュール 概要は ここから

  • リビジョンの情報を表示/非表示にするモジュール Hide Revision Field

https://www.drupal.org/project/hide_revision_field

 

モジュール開発の情報は ここから

 

日付と時刻の設定

書式の設定サンプル(Drupal 8、PHP 7.2の場合)

Y年Md日 -> 2012年6月03日

Y年Md日(D) -> 2012年6月03日(日)

Y年m月d日 -> 2012年06月03日

y年m月d日 -> 12年06月03日

"Y年n月j日 l" -> "2012年6月3日 日曜日"

Y年n月j日 l -> 2012年6月3日 日曜日

Y/m/d(D) - H:i -> 2019/08/24(土) - 17:40

n月j日(D) - H:i  -> 8月24日(土) - 18:03

 

 

 

タグ: 

CMS: