サーバー要件
PHP、データベース、拡張モジュール、Web サーバー、そして任意の FFmpeg まで、インストール前に必要なものをすべて解説します。
TubePress は通常の LAMP または LEMP スタック上で動作します。インストールが必要なフレームワークも、Composer や Node のビルドステップも、ionCube ローダーも不要です — お使いのホストがすでに WordPress を動かしているなら、ほぼ確実に TubePress も動作します。
このページでは、必要最小限の要件、本番環境向けの推奨セットアップ、および特定の機能にのみ必要なオプション項目(FFmpeg、TubePress アカウント)について説明します。Webインストーラーが システムチェック ステップですべてを確認してくれます。
最小要件
これが最低ラインです。すべての必須項目がパスするまで、インストーラーは続行できません。
| コンポーネント | 最小 | 備考 |
|---|---|---|
| PHP | 8.2 | 8.4 推奨; OPcache を有効化 |
| データベース | MySQL 5.7+ / MariaDB 10.4+ | InnoDB, utf8mb4 |
| Webサーバー | Apache 2.4+ または Nginx | URL リライティング対応 |
| 必須拡張 | pdo_mysql, mbstring, fileinfo | PHP セッションが動作すること |
| 推奨拡張 | curl, zip, GD または Imagick | カタログ、アドオンインストール、サムネイル |
| 書き込み可能なパス | config/, storage/, public/uploads/ | Webサーバーユーザーが所有 |
必須 PHP 拡張
以下の3つが揃っていない場合、セットアップはブロックされます:
PHP の セッション の動作とサーバーサイドの URL リライティング(Apache の mod_rewrite または Nginx の try_files ルール)も必要です — インストーラーが両方を確認します。
推奨セットアップ
スムーズな本番サイトのために:
- PHP 8.4 と OPcache — TubePress がビルドおよびテストされているバージョンで、バイトコードキャッシュを有効にして高速化します。
- memory_limit を 256 MB 以上 — バルクインポートや画像処理に余裕のあるメモリ。
- curl、zip、GD(または Imagick) — オプションですが推奨:カタログのダウンロードとマーケットプレイスは
curlを使用し、パネルからのテーマやプラグインのインストールにはzipが必要で、サムネイル生成には GD または Imagick が必要です。 - HTTPS — TLS でサイトを配信し、サイト URL を
httpsアドレスに設定します。
スケジュールジョブは TubePress の組み込み疑似 cron を通じて自動的に実行されるため、システムの crontab は不要です。トラフィックの多いサイトは実際の cron を設定することもできます — Cron & CLI を参照してください。
動画のアップロード制限
TubePress はデフォルトでダイレクトアップロードを 500 MB に制限しています(/admin/settings で変更可能)。PHP と Webサーバーの制限が少なくとも同じ大きさでないと、大きなファイルはアプリに到達する前に拒否されます:
; php.ini - allow large video uploads
upload_max_filesize = 512M
post_max_size = 512M
memory_limit = 256M
max_execution_time = 300Nginx では client_max_body_size も引き上げてください。Apache では LimitRequestBody です。非常に大きなライブラリの場合は、代わりにリモートストレージからトランスコードして配信してください — トランスコーディング と ストレージ を参照してください。
Webサーバー
Webルートは public/ ディレクトリで、すべてのリクエストは単一のフロントコントローラー public/index.php を通じてルーティングされます。config/、src/、storage/ はドキュメントルートより上(public/ の1つ上のレベル)に置いて、直接配信されないようにしてください。
Apache
ドキュメントルートを public/ に向け、同梱の .htaccess ファイルが機能するよう設定します:
DocumentRoot /var/www/tubepress/public
<Directory /var/www/tubepress/public>
AllowOverride All
Require all granted
</Directory>Nginx
クリーン URL のために try_files を使用し、テーマとテンプレートフォルダーをエイリアスして、機密パスを拒否します:
server {
root /var/www/tubepress/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.4-fpm.sock;
}
# Serve theme and template assets
location /themes/ { alias /var/www/tubepress/themes/; }
location /templates/ { alias /var/www/tubepress/templates/; }
# Never expose application internals
location ~ ^/(config|src|storage)/ { deny all; }
client_max_body_size 512M;
}どちらのサーバーも正式サポートです — インストーラーが実行中のサーバーを自動検出します。
オプション:FFmpeg とトランスコーディング
FFmpeg が必要なのは、TubePress に 動画をローカルでトランスコード させたい場合のみです — アップロードをウェブ対応フォーマットに変換し、プレビューサムネイルを生成します。エンコード済みのファイルをインポートする場合や、外部ストレージや CDN から配信する場合は、完全にスキップできます。トランスコーディング を参照してください。
オプション:TubePress アカウント
CMS はそれ自体で完全かつ無料です。無料の TubePress アカウント で従量制のオプション機能が利用可能になります — AI クレジット、40万本以上の動画 カタログ、マーケットプレイス、サポート。150 の無料クレジットから始まり、完全なサイトを運営するためにアカウントは不要です。