3. サーバー設定サンプル

このドキュメントでは、FTBucketを運用するためのWebサーバー(Nginx)とPHP-FPMの設定例を紹介します。これらはあくまで一例であり、お使いのサーバー環境に合わせて適宜変更してください。

Nginx 設定例

Nginxを使用する場合、以下のような server ブロック設定が考えられます。

Note: /path/to/your/project/src の部分は、実際のFTBucketの設置パスに置き換えてください。また、fastcgi_pass のソケットパスは、お使いのPHPのバージョンに合わせて修正してください。

# /etc/nginx/sites-available/your-site.conf

server {
    listen 80;
    server_name your-domain.com; # あなたのドメイン名
    root /path/to/your/project/src;

    index index.php;

    # セキュリティのため、Webから直接アクセスされるべきではないディレクトリへのアクセスを拒否します。
    location ~ /(meta|lock)/ {
        deny all;
    }

    # PHPファイルへのリクエストをPHP-FPMに渡します。
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;

        # お使いの環境に合わせてPHP-FPMのソケットパスを指定してください。
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    # 静的ファイル(画像など)のキャッシュ設定(オプション)
    location ~* \.(jpg|jpeg|gif|png|ico|css|js)$ {
        expires 1M;
        add_header Cache-Control "public";
    }
}

PHP-FPM 設定例

PHP-FPMのプール設定ファイル(通常は www.conf)では、実行ユーザーやリソース管理に関する設定を行います。

; /etc/php/7.4/fpm/pool.d/www.conf

; Nginxの実行ユーザーと合わせることが推奨されます。
user = www-data
group = www-data

; ...

; プロセス管理
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

php.ini の推奨設定

スレッドの取得やアーカイブファイルの生成には、ある程度のメモリと実行時間が必要です。php.ini で以下の項目を環境に合わせて調整することを推奨します。

設定を変更した後は、NginxとPHP-FPMサービスを再起動して変更を反映させるのを忘れないでください。

sudo systemctl restart nginx
sudo systemctl restart php7.4-fpm