こちらの記事の書き直しというか、インストールしなおした記録。
どうも、Drupal9 は時期尚早な気がする。
Drush10 はさらに素人が手を出すには早すぎる。
Drupal9.2.5 をインストールしたのち、9.2.7 が出ているということで、アップする前にバックアップをしようとしましたが、Drush コマンドが違いすぎてよく分からない。
その前にも、こちら
のようなことをやってみようと思ったのですが、機能拡張が対応していないものがいろいろありできないとか。
ただ、
の話があるので、着いて行っておきたいのと、ヘッドレスCMSの可能性を探りたい、その場合に、コンテントタイプを柔軟に作れる強みはやはりある、ということで、Drupal8 で再挑戦します。
DockerCompose構成
前回は、Docker ファイルの中で Drushインストールを走らせる、など挑戦したのですが、そこも分かりにくいので、素直に、公式に書いてある記述をベースとします。
ただ、
- DBは別途立てているものに接続する
- 別途立てているnginx-proxyを経由
という構成にしています。
こんな感じ。
version: '3'
services:
mariadb:
container_name: mariadb
image: mariadb:latest
environment:
MYSQL_ROOT_PASSWORD: xxx
MYSQL_USER: xxx
MYSQL_PASSWORD: xxx
MYSQL_DATABASE: xxx
volumes:
- ./mariadb:/var/lib/mysql
- ./initdb:/docker-entrypoint-initdb.d
ports:
- "3336:3306"
restart: always
version: '3'
services:
nginx-proxy:
image: jwilder/nginx-proxy
restart: on-failure
labels:
- com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy=jwilder/nginx-proxy
ports:
- 80:80
- 443:443
volumes:
- proxy:/etc/nginx/vhost.d
- proxy:/usr/share/nginx/html
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./certs:/etc/nginx/certs:ro
network_mode: bridge
letsencrypt:
image: jrcs/letsencrypt-nginx-proxy-companion
restart: on-failure
depends_on:
- nginx-proxy
volumes:
- proxy:/etc/nginx/vhost.d
- proxy:/usr/share/nginx/html
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./certs:/etc/nginx/certs:rw
network_mode: bridge
volumes:
proxy:
version: '3.1'
services:
drupal:
image: drupal:8-apache
# ports:
# - 8080:80
volumes:
- /var/www/html/modules
- /var/www/html/profiles
- /var/www/html/themes
# this takes advantage of the feature in Docker that a new anonymous
# volume (which is what we're creating here) will be initialized with the
# existing content of the image at the same location
- /var/www/html/sites
restart: always
network_mode: bridge
environment:
PROFILE: "minimal"
VIRTUAL_HOST: www.xxx.com
VIRTUAL_PORT: 80
LETSENCRYPT_HOST: www.xxx.com
LETSENCRYPT_EMAIL: xxx@xxx.com
volumes の設定も前回構成では苦労しました。なかなか、settings.php を扱えない・・・
今回はその部分は公式のままにして、匿名volumesにしています。
本当は直下においた方がわかりやすいかなと思いつつ、まあ、場所は
docker network inspect bridge
で確認できるので良いとします。
インストール
DB と nginx は立ち上げておきます。
そして、drupal のイメージを上げる前に、データベースを作っておきます。
mysql -u root -p
xxx
CREATE DATABASE drupal8_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
grant all privileges on drupal8_db.* to 'xxx'@'%' with grant option;
show grants for 'xxx'@'%';
Drupal のイメージを上げて、サイトにアクセスすると、rupal のインストーラが起動します。
前回は、sites/default への書き込みができないとか苦労しましたが、問題なく進みました。
テーマ
前回書きませんでしたが、まずはやはりテーマを設定したい。
見た目が良いとテンション上がりますから。
使用するのは、TARA。
有料のProじゃないとあまり設定ができないので面白みがないという気もしつつ、その中でもいろいろできることもあるので、使ってみます。
テーマのインストールは、
サイト/admin/theme/install
の「次のURLからインストールする」に
https://ftp.drupal.org/files/projects/tara-8.3.3.tar.gz
を指定。
ポイントとしては、管理用テーマには指定しない方が良い、という感じでしょうか。
(Bootstrapテーマよりは普通に動くので問題なさそうですが、若干くどい気が・・・)
バックアップ(しようと思ったら・・・)
定期バックアップは、Backup and Migrate を使うのが一般的なように感じられます。
そもそも、Durupal9 を諦めたきっかけは、これを上手く動かせなかったからですが・・・
機能拡張
サイト/admin/modules
から、「新しいモジュールをインストール」で
サイト/admin/modules/install
に移動し、
「次のURLからインストールする」に
https://ftp.drupal.org/files/projects/backup_migrate-5.0.1.tar.gz
を指定して「インストール」。
終わったら、機能拡張
サイト/admin/modules
に戻って、Backup and Migrate が追加されているので、チェックして「インストール」。
ここの流れがイマイチな気がする・・・
終わったら、Backup and Migrate のエリアが開けるようになり、その中に「構成」があるのでクリック。
ここで各種設定をするのでしょうが、まずは、「今すぐバックアップ」をしてみようかと・・・
だめでした。
これだけで、一つのテーマになりそうな気がするので、本投稿はここまで。