4.7 KiB
+++ date = "2016-06-18" tags = ["memo"] title = "Pantheonにホスト、デプロイする場合は初期設定は必要ありません" slug = "elm-hedkey" +++
Elmで書かれたテンプレートで認証ページを作成し、バックエンドにPantheon上に構築したDrupalを使いました。
Demo:
https://syui.github.io/elm-hedley
その際に、BehatとDrush, Treminus, Composerなどに触れました。
しかし、そのままでは動きません。なぜなら、Pantheon
で公開するには独自のDrupal
設定が必要だからです。
以下、問題解決に必要だった情報を示します。
今回、ほとんどはCLIからの操作では問題は解決しませんでした。したがって、基本的にはPantheon
, Drupal
の管理画面にてエラーを見て、修正していきます。
Pantheonにホスト、デプロイする場合は初期設定は必要ありません
Pantheonにホスト、デプロイする場合は初期設定は必要ありません。いくらconfig.sh
で設定してもそのままでは有効にならないし、ユーザー設定はブラウザのPantheon -> Drupal
管理画面から行うことになるからです。
$ cp default.config.sh config.sh
$ ./install
$ cd www
$ git init
$ ...git push
remoteを設定するの自体が面倒なので、Connection Info
のclone情報をコピーし、.git
をwww/.git
に置くと良いでしょう。
$ git clone ssh://foo.git
$ cp -rf foo/.git www/
$ cd www
$ git add .
$ git commit -m f
$ git push
Pantheonの仕組みを簡単に
DBを含んだCMSなどをホストできます。開発はNAME.{dev,test,live}
という3つのURLが用意され、順にデプロイしていくことで安定を目指します。
サーバーは、dev, test, live
ごとにGit, SFTP, SSH
が用意されており、必要な情報は管理画面にて表示されます。
本来はlive
で開発はdev
と使い分けます。
ただ、面倒な場合(使う人が少ない場合)は、すべてdev
で開発、公開してもよいでしょう。
ここで、特に必要な情報は、Drupal
の初期設定にて必要になるDBの認証情報です。具体的には以下。Pantheon, Drupal(MYSQL)で多少項目名が異なりますが、ある程度推測してください。DBはMYSQL
を使います。
Database
Host
Username
Password
Port
DB Name
Pantheonのモジュールがないと言われる
# https://github.com/pantheon-systems/drops-7/tree/master/modules/pantheon
$ cp -rf drops-7/modules/pantheon www/modules/
$ ...git push
モジュールはブラウザの管理画面にて有効にしたり、アップデートしたりします。
Drupal Coreが無効のCoreで上書きされたと言われる
$ cp -rf drops-7/* www/
$ ...git push
Settings.phpが読めないと言われる
管理画面からGit -> SFTP
に変更し、サーバーにアクセスします。
$ sftp ...
> chmod 644 code/sites/default/settings.php
> quit
なぜかGitHub Pagesからの認証後にロードされたままページが表示されない
とりあえず、管理画面にて重要な警告(赤)をすべて修正した後に、Drupal
でログインした後、Publicのコンテンツを作成する。これは必要なかったかもしれませんが、自分の場合はコンテンツを作成したら行けたような気がします。
それぞれのコマンド操作
# エイリアスを有効にする
$ terminus sites aliases
$ drush sa
# ステータスの確認
$ drush @pantheon.NAME.dev st
# アップデートする
$ drush @pantheon.NAME.dev up
# アクセスする(ただし、これにはDrupalの初期設定を終えている必要がある)
$ drush @pantheon.NAME.dev uli
GitHub OAuth
今回、GitHubログインは用意していません。確認も面倒なので。やりたい人は、こっちを使うと出来ます。あと、GitHubの管理画面(App OAuth)から認証情報を発行し、Client IDなどを取得。
https://github.com/Gizra/hedley-server/tree/master/hedley/modules/custom/hedley_github
https://github.com/Gizra/hedley-server/blob/master/default.config.sh#L75-L77
最後に
初めて使うものばかりだったので、構成の把握にだいぶ時間がかかってしまいました。
私のような初心者がパソコンで何かしようとすると、何かしらハマったりします。