こんにちは。
今回は、以前から気になっていた FrankenPHP を使って、baserCMS を Docker 上で動かしてみた という内容をまとめました。
実際に作成した環境はすべて GitHub に公開しています:
👉 https://github.com/kaburk/frankenphp-basercms-docker
このブログでは、その概要をかんたんにまとめています。
🧩 FrankenPHP とは?
FrankenPHP は Symfony の作者 Fabien Potencier 氏が開発した新しい PHP アプリケーションサーバー で、大きな特徴として、
- PHP の公式サポート対象に追加された(予定を含む)次世代ランタイム
- Nginx や Apache なしで 高速に PHP を配信できる
- いわゆる「PHP-FPM」が不要で、Webサーバー + PHP実行環境が1つに統合された 構成
- HTTP/2 & HTTP/3 / Worker など対応で軽量・高速
などがあるそうです。(公式サイトより)
従来の LAMP/LNMP の枠を超えた、新しい PHP の実行方式として注目されています!
Let’s EncryptなんかのHTTPS証明書の自動生成と更新っていうのもお手軽にできそうで良さそうです☺️
🚀 Docker で FrankenPHP + baserCMS を動かす
今回は、FrankenPHP を使って baserCMS 5 を Docker 上で動かしてみました。
使い方はとてもシンプルで、
- FrankenPHP のイメージをベースにする
- 必要な拡張を追加する
- baserCMS を配置する
- Docker Compose で立ち上げる
という流れです。
実際の構成や Dockerfile などは GitHub にすべて公開しています:
👉 https://github.com/kaburk/frankenphp-basercms-docker
🛠️ FrankenPHP のシンプルな使い方
FrankenPHP は、ローカルでも非常に簡単に試せます。
1. インストール
curl -fsSL https://frankenphp.dev/install.sh | sh
2. プロジェクトを指定して起動
mkdir -p public
echo '>php phpinfo(); ?<' > public/index.php
frankenphp php-server -r public/
これで PHP アプリケーションが即座に動きます。http://localhost にアクセスしてみてください。
Docker イメージも用意されているため、今回の baserCMS との組み合わせもスムーズでした。
📦 まとめ
今回は、FrankenPHP と baserCMS を Docker 上で構築した環境を紹介しました。
- FrankenPHP は PHP公式サポート入りする新世代ランタイム
- PHP-FPM が不要で、よりシンプルに高速化
- Docker と相性が良く、baserCMS も問題なく動作
- 実際の構成やコードは GitHub で公開中
詳細や構成例は GitHub にまとめてありますので、ぜひご覧ください: