IT,Linux

サイトの状態

Drupal を運用しているサイトで、Drupal8 から Drupal9 に順調にアップデートしていたので、そろそろPHPも新しくしようと 7→8 へのアップデートを行いました。apk で 7 の時と同じパッケージを導入して、nginx の config を修正して……とやってどうにか無事に PHP8で動作開始しました。

IT,Linux

以前に ACMEv1 問題のことで Alpine Linux のアップグレードをしました。これで安心と思っていたら、なんとこんなメールが……

Hello,
Your certificate (or certificates) for the names listed below will expire in 19 days (on 28 May 20 17:00 +0000). Please make sure to renew your certificate before then, or visitors to your website will encounter errors.
We recommend renewing certificates automatically when they have a third of their
total lifetime left. For Let’s Encrypt’s current 90-day certificates, that means
renewing 30 days before expiration. See
https://letsencrypt.org/docs/integration-guide/ for details.

more…

ようするに、あと19日で証明書の有効期限切れちゃうけど、更新しなくていいの? やり方分からないんだったら以下の説明見てね~、っていう親切なメールです。ウソんっ!? と焦ってコンソールから手動で certbot による更新を試したところ、今度は下のようなエラーが。

An unexpected error occurred:
MemoryError: Cannot allocate write+execute memory for ffi.callback(). You might be running on a system that prevents this. For more information, see https://cffi.readthedocs.io/en/latest/using.html#callbacks
Please see the logfiles in /var/log/letsencrypt for more details.

IT,Linux

久しぶりに IT 関連の話題なのですが、最近は稼働維持だけでほとんどいじっていなかった、Drupal8 勉強用のサーバーで、Let’s Encrypt からメールが届きました。

Hi,
According to our records, the software client you’re using to get Let’s
Encrypt TLS/SSL certificates issued or renewed at least one HTTPS certificate
in the past two weeks using the ACMEv1 protocol. Here are the details of one
recent ACMEv1 request from each of your account(s):
Client IP address: XXX.XXX.XXX.XXX

最初の部分だけの抜粋ですが要約すると、証明書を取得する際に使うプロトコルのバージョンを ACMEv2 に移行するから、6月から ACMEv1 使えなくなるから注意してね、ということみたいでした。AlpineLinux は 3.8系だったので、この際にアップグレードしてしまうかと 3.10系にアプグレード。

証明書取得に使う certbot も 0.35.1 になっているので、ACMv2 にも対応しているはずです。とりあえず PostgreSQL のバックアップ取らずにアップグレードかけて Drupal8 の DB飛ばすという間抜け行為さえなければ完璧でした。settings.php 初期化してやり直しましたが、Drupal8 のバージョンも上がって日本語化もインストールウィザードもだいぶ良くなってますね。

IT,Linux

Alpine Linux 環境に Drupal8 で Blogを構築してあれやこれやテストしているわけですが、Drupal8 も 8.5 へとアップデートされました。けっこう大きな変更がありましたが、前回と同じ方法で問題なくアップデート出来ました。

さてどんな機能変更・追加があったのかと公式サポーティングサイトの「Drupalナビ」さんの記事を読んでいたところ、最後の方で気になる記述が……

 Drupal 8は、2019年3月、今から1年後以降はPHP 7を必要とします。あなたのサイトがPHP5.5 あるいは PHP5.6でホストされている場合は、アップグレードを計画し始めるべきです

IT,Linux

Drupal8 立ち上げの続きです。この頃のブラウザは、ブログの編集画面で HTTPS じゃないと「この接続は安全ではありません……」がやたらと出てきます。PC に限った話かもしれませんが、煩わしいのとやっぱり安全も重要です。

KUSANAGI 環境なら provision で Let’s Encrypt の証明書取得までやってくれますが、当然 Alpine Linux にはありません。そこで certbot を利用して証明書を取得、nginx に設定して HTTPS 化することにします。

$apk search certbot
certbot-0.14.0-r0</code>

$apk add certbot

$cat /etc/apk/repositories
#/media/cdrom/apks
http://mirror.clarkson.edu/alpine/v3.6/main
http://mirror.clarkson.edu/alpine/v3.6/community
#http://mirror.clarkson.edu/alpine/edge/main
#http://mirror.clarkson.edu/alpine/edge/community
#http://mirror.clarkson.edu/alpine/edge/testing

http://dl-3.alpinelinux.org/alpine/v3.6/main
http://dl-3.alpinelinux.org/alpine/v3.6/community
#http://dl-3.alpinelinux.org/alpine/edge/main
#http://dl-3.alpinelinux.org/alpine/edge/community
#http://dl-3.alpinelinux.org/alpine/edge/testing