![pantheon](/sites/default/files/styles/annai_magazine_eyecatch/public/2017-10/logo-pantheon.png.webp?itok=aklTxjIN)
Pantheonは簡単にDrupalのサイトを公開できる非常に便利なサービスです。
私達が執筆した書籍「Drupal 8 スタートブック」でも、サイト構築にはPantheonを利用しています。
![drupal8 start book](/sites/default/files/inline-images/51bW0QnxMdL._SX391_BO1%2C204%2C203%2C200__1.jpg)
しかし、Pantheonで構築したDrupal 8のサイトをローカル環境や別のサーバーに移動するには、 terminus というPantheon専用のCLIを使って hash_salt という値を取得する必要があります。
https://pantheon.io/docs/settings-php/
これは開発者以外の方には少し難しい方法です。
そこで、Drupalのサイト上に hash_salt の値を表示するモジュール 「hash_salt_helper」 を作成してgithubに公開しました。
https://github.com/annai-inc/hash_salt_helper
このモジュールを使って、Pantheon上で構築したサイトをローカル環境や別のサーバーに移動する方法をご紹介します。
Pantheonのダッシュボードでの作業
1. Pantheonのダッシュボードにログインします。
2. 「Backups」に進み、「create new backup」ボタンを押して新しいバックアップを作成します。
3. 作成されたCode, Database, Filesのバックアップをダウンロードします。
Pantheonでのバックアップ作成方法については以下を参考にしてください。
https://pantheon.io/docs/create-backups/#create-a-backup
4. 「Code」に進み、「Connection Mode」 を 「SFTP」に変更します。
Connection modeの変更については以下を参考にしてください。
https://pantheon.io/docs/sftp/#sftp-mode
Drupal上での作業
ここからはPantheon上に作成したDrupalサイト上での作業となります。
5. Update Managerモジュールを有効にします。
![hash_salt_helper](/sites/default/files/inline-images/1_3.png)
6. https://github.com/annai-inc/hash_salt_helper にアクセスし、「release」 -> 「8.x-1.0」 に進み 「Source code (tar.gz)」をダウンロードします。
7. 「管理」 -> 「機能拡張」 -> 「新しいモジュールをインストール」に進み、6.でダウンロードしたファイルをアップロードします。
![hash_salt_helper](/sites/default/files/inline-images/2_2.png)
8. 「管理」 -> 「環境設定」 -> 「開発」 -> 「Show Hash salt」に進みます。
![hash_salt_helper](/sites/default/files/inline-images/4_1.png)
9. ここに hash_salt を含む設定ファイルの雛形が表示されるので、settings.local.php という名前でファイルを新規に作成し、表示されている内容をコピーして保存します。DATABASE_NAME, USER_NAME, PASSWORD は移動先の環境側に合わせてください。
![setting](/sites/default/files/inline-images/373b4ff9ec53f807b26b89243d731914.png)
移行先環境での作業
10. Drupalが動作する環境をPCやVPS、レンタルサーバー上で構築し、3.で取得した各種バックアップを配置します。filesのバックアップは解凍すると files_{pantheonのステージ名} (例: devだと files_dev) という名前のディレクトリになるので、 files にリネームして sites/default/files として配置してください。Drupalの環境構築については、以下の記事が参考になります。
- CentOS7にDrupal 8.2.4をゼロからセットアップする(Nginx + PHP7.1 + MariaDB)
- Drupal 8をCPI ACE01サーバーにインストールする方法
- Drupalのローカル開発環境の構築方法について詳細解説
11. sites/default ディレクトリに 9. で作成した settings.local.php をコピーします。
これでPantheonで構築したサイトの移行は完了します。
関連コンテンツ
- Drupal 導入前に必ず考えたい「保守」のこと
- 手軽に本格的な Drupal のローカル開発環境を構築してみよう
- 9 つのシンプルなステップで Drupal 9 のテーマを作成してみよう
- Drupal 9: 一般的なエクスプロイトの経路をブロックする方法
- エンジニア新人研修のご紹介
- Headless CMS というトレンドに Drupal は適応している!?
- Drupal 9.1 が登場!アップグレードの準備はできていますか?
- Drupal 9 におすすめのモジュール
- State of Drupalプレゼンテーション(2021年4月)
- 第 16 回 Drupal をもっと知りたい方に向けた各種情報
Drupal 初心者講座バックナンバー
-
Drupal 9/10 初心者講座
-
第 1 回 歴史に見る Drupal の DNA
-
第 2 回 Drupal はフレームワークか?CMS か?他の CMS との比較
-
第 3 回 Drupal の特徴
-
第 4 回 Drupal 9 / 10 のインストール (1)
-
第 5 回 Drupal 9 / 10 のインストール (2)
-
第 6 回 Drupal にコンテンツを投稿してみる
-
第 7 回 Drupal のボキャブラリとタクソノミーの使い方
-
第 8 回 コンテンツ管理における Drupal と他の CMS との比較
-
第 9 回 Drupal のブロックシステム
-
第 10 回 Drupal の標準クエリビルダー Views の使い方
-
第 11 回 Drupal と他の CMS のクエリビルダー機能を比較
-
第 12 回 Drupal の多言語機能と他の CMS やサービスとの比較
-
第 13 回 Drupal の権限設定と WordPress や Movable Type との比較
-
第 14 回 Drupal のテーマシステムについて
-
第 15 回 Drupal の拡張モジュールの選定と使い方
-
第 16 回 Drupal をもっと知りたい方に向けた各種情報