FrankenPHP: 現代PHPアプリサーバーの未来
FrankenPHPは、PHPアプリケーションのパフォーマンスと機能を向上させる最新のアプリケーションサーバーです。これは、Caddyウェブサーバーと呼ばれる他のサーバーの上に構築されており、開発者がApacheやNginxのような従来のウェブサーバーを必要とせずにPHPアプリケーションを効率的に実行できるようにします。
FrankenPHP は、最初のロード後にアプリケーションをメモリに保持することで、PHP アプリケーションをより速く動作させることができます。これにより、毎回のリクエストでゼロから開始する必要がなくなり、速度が大幅に向上する可能性があります。
FrankenPHPを使用すると、PHP-FPM(FastCGIプロセスマネージャー)やNginx、Apacheのようなウェブサーバーのように、別々のプロセスを設定する必要がありません。すべてが1箇所で実行されるため、管理が簡単になります。
このガイドでは、Ubuntu 24.04 に FrankenPHP をインストールする手順を簡単なステップで説明します。
ステップ 1: Ubuntu 24.04 に PHP をインストールする
まず、最新のソフトウェアを確保するために、システムパッケージを更新してください。
sudo apt update
sudo apt upgrade -y
次に、PHPやその他の必要なライブラリを含むいくつかの必須パッケージをインストールする必要があります。
sudo apt install zip unzip curl -y
必要な依存関係がインストールされたら、最新のPHPバージョンを提供するOndrejのPPAからPHP 8.4をインストールできます。
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install php8.4 php8.4-cli php8.4-fpm php8.4-{bz2,curl,mbstring,intl,xml} -y
php -v
ステップ2: Ubuntu 24.04にFrankenPHPをインストールする
PHPがインストールされたので、次に以下のcurlコマンドを使用してFrankenPHPのインストールを進めることができます。
curl https://frankenphp.dev/install.sh | sh
sudo mv frankenphp /usr/local/bin/
ステップ3:PHPアプリケーションを実行する
FrankenPHPを使用してPHPアプリケーションを提供するには、ディレクトリを作成し、ウェブアプリケーション用の簡単なPHPスクリプトを作成します。
mkdir -p ~/my-app && cd ~/my-app
echo '<?php echo "Hello, FrankenPHP!"; ?>' > index.php
現在のディレクトリの内容を提供するには、次のコマンドを実行します:
sudo frankenphp php-server
ブラウザを開いて、以下のアドレスに移動して「こんにちは、FrankenPHP!」というメッセージを見てください。
http://localhost/
Or
http://ip-address/
ステップ4: Nginxをリバースプロキシとして設定する
Nginxのようなリバースプロキシを使用すると、リクエスト処理が改善され、追加のセキュリティ層が加わり、SSL/TLSの設定が簡素化されます。
sudo apt install -y nginx
新しい設定ファイルを作成します。
sudo nano /etc/nginx/sites-available/frankenphp
次の設定を追加してください:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
yourdomain.com を実際のドメイン名に置き換えてください。
次に、設定を有効にしてnginxを再読み込みします。
sudo ln -s /etc/nginx/sites-available/frankenphp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
ステップ5: 安全な接続のためのSSL/TLSの設定
FrankenPHPが本番環境で効率的かつ安全に動作するようにするためには、無料のSSL証明書をLet's Encryptから取得および更新するための人気ツールであるCertbotをインストールする必要があります。
sudo apt install -y certbot
sudo apt install -y python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
sudo certbot renew --dry-run
結論
FrankenPHPは、あなたのUbuntu 24.04システムにインストールされて稼働しています。これらの手順に従うことで、最新のWebアプリケーションに適した高性能のPHPランタイムをセットアップしました。
高度な設定については、FrankenPHPのドキュメントを参照してください。

