要求事項

Grav は意図的に最小要件で実行できるように設計されてるので、たいていの環境で実行できるはずです。

  1. Web Server (Apache, Nginx, LiteSpeed, Lightly, IIS, etc.)
  2. PHP 7.3.6 or higher

データベースは不要です!

最適なパフォーマンスを得るには、APCu、Memcached、Redis などの PHP ユーザーキャッシュを使用することを強く推奨します。これらは通常、ホスティングサービス一部として提供されています。

Web サーバー

Apache Requirements

Apache の動作に必要なモジュール

  • mod_rewrite
  • mod_ssl (SSLでGravを動作させたい場合)
  • mod_mpm_itk_module (Gravを独自のユーザアカウントで実行する場合)

.htaccessファイルが正しく処理され、書き換えルールが有効になるように、および/またはブロックにAllowOverride Allが設定されている必要があります。

PHP Requirements

PHP の動作に必要なモジュール

  • curl (GPM の操作に利用)
  • ctype (symfony/yaml/Inline で利用)
  • dom (grav/admin newsfeed で利用)
  • gd (画像操作に利用)
  • json (Symfony/Composer/GPM で利用)
  • mbstring (マルチバイト文字列操作に利用)
  • openssl (GPM で利用)
  • session (toolbox で利用)
  • simplexml (grav/admin の newsfeed で利用)
  • xml (XML のサポート)
  • zip extension support (GPM で利用)

opensslと (un)zip サポートを有効にするには、お使いの Linux ディストリビューションの php.ini ファイルで、次のような行を見つけます。

;extension=openssl.so
;extension=zip.so

そして、先頭のセミコロンを削除してください。

Optional Modules
  • apcu によるキャッシュ性能向上
  • opcache によるPHPパフォーマンス向上
  • yaml PECL Yaml はネイティブな yaml 処理を提供し、パフォーマンスを劇的に向上させることができます
  • xdebug 開発環境でのデバッグに役立ちます

アクセス権

Gravが正しく機能するためには、Webサーバーがログやキャッシュなどを書き込むための適切なファイルパーミッションを持っている必要があります。CLI(Command Line Interface) あるいはGPM(Grav Package Manager) を使う場合、 コマンドラインから PHP を実行するユーザーにも、 ファイルを変更するための適切なパーミッションが必要です。

デフォルトでは、Grav はファイルおよびフォルダのパーミッションをそれぞれ 644 および 755 にしてインストールします。ほとんどのホスティングプロバイダーは、PHPが動作するWebサーバーがユーザーアカウント内でファイルの作成と変更を許可するような設定になっています。つまり、Gravは大多数のホスティングプロバイダーですぐに動作します。

しかしながら、専用サーバーやローカル環境で運用している場合、ユーザーと Web サーバーが必要に応じてファイルを変更できるように、パーミッションを調整する必要があるかもしれません。それには、いくつかのアプローチがあります。

  1. ローカルな開発環境では、通常、自分のユーザープロファイルの下で Web サーバーを実行するように設定することができます。この方法では、Web サーバーは常にファイルの作成と変更を許可します。

  2. すべてのファイルとフォルダーのグループパーミッションを変更し、標準のパーミッションを維持したまま、Webサーバーのグループがファイルとフォルダーへの書き込み権限を持つようにします。これを実現するためには、いくつかのコマンドが必要です。

まず、以下のコマンドを実行して、Apacheがどのユーザーで動作しているかを確認します。

ps aux | grep -v root | grep apache | cut -d\  -f1 | sort | uniq

次のコマンドを実行して、このユーザーがどのグループに属しているかを調べます(注:USERNAMEは、前のコマンドで見つけたapacheのユーザー名で調整してください)。

groups USERNAME

(注意: GROUP は、前のコマンドで見つかった、apacheが実行されているグループに合わせます。[www-data,apache,nobody, etc.])。

chgrp -R GROUP .
find . -type f | xargs chmod 664
find ./bin -type f | xargs chmod 775
find . -type d | xargs chmod 775
find . -type d | xargs chmod +s
umask 0002

スーパーユーザの権限を呼び出す必要がある場合は、代わりに find ... | sudo xargs chmod ... を実行することになります。


オリジナル : https://learn.getgrav.org/17/basics/requirements