システム要件
Grav は、あえて少ない要件で済むように設計されています。
Grav は、あなたのローカルコンピューターや、99% の web ホスティングプロバイダ(レンタルサーバー)で、簡単に動作します。
手元にペンがあれば、以下のシステム要件を書き留めてください。
- Web サーバー(Apache, Nginx, LiteSpeed, Lightly, IIS など)
- PHP 7.3.6 以上
- ええと… これだけです、本当に! (ただし、スムーズに動かすために PHP要件 をご覧ください)
Grav は、コンテンツをプレーンなテキストファイルから構築します。データベースは不要です。
[!Info]
パフォーマンスを最適化するため、 APCu や、 Memcached 、 Redis のような PHP ユーザキャッシュの使用を強く推奨します。しかし心配はいりません。ホスティングサービスにすでにパッケージされていることがほとんどです!
Web サーバー
Grav は、とてもシンプルで汎用的なので、動かすだけなら web サーバーさえ不要です。直接、 PHP 7.3.6 以上のビルトイン・サーバで動かせます。
ただし、ビルトイン・サーバによる動作テストは、 Grav のインストール確認や、手短かな開発作業には便利ですが、本番環境のサイトや、高度な開発作業には 推奨されません 。
インストールガイド で、方法を説明しています。
技術的には、スタンドアロンの web サーバーが不要とはいえ、ローカル環境であっても、 web サーバーを稼働させた方が良いでしょう。
素晴らしいオプションがたくさんあります:
Mac
- MacOS 10.14 Mojave はすでに、Apache Web サーバーと PHP 7.1 が同梱されています!
- MAMP/MAMP Pro は、 Apache と MySQL 、そしてもちろん PHP が入っています。PHP のバージョンを変えたり、仮想ホストを立ち上げたり、動的 DNS を自動で制御するというような便利な機能をコントロールできるのは素晴らしい方法です。
- DDEV Docker ベースの PHP 開発環境です
- AMPPS は、 Apache や、 PHP 、 Perl 、 Python … などを可能にする Softaculous のソフトウェアスタックです。この方法は、 Grav 開発に必要なもの(と、それ以上)を含みます。
- Brew Apache/PHP は、さまざまな PHP バージョンのインストールを完全に設定できる代替手段です。
Windows
- Laragon ポータブルで、独立しており、処理が速く、パワフルな開発環境で、 PHP, Node.js, その他が動きます。処理が速く、軽く、簡単に使えて、拡張も容易です。
- XAMPP ひとつのシンプルなパッケージで、 Apache と、 PHP 、 MySQL が提供されます。
- EasyPHP よりパワフルな開発者バージョンとともに、パーソナルな web ホスティングパッケージを提供します。
- MAMP for Windows 長い間 Mac 専用でしたが、今では Windows でも利用可能です。
- IIS with PHP Windows 上で PHP を速く動かせます。
- DDEV Docker ベースの PHP 開発環境です。
- AMPPS Softaculous による Apache, PHP, Perl, Python, などのソフトウェアスタックです。Grav 開発に必要なものはすべて入っています。
- Linux Subsystem Windows 上で、 Linux ライクな環境を実行できる素晴らしい方法です。
Linux
- Linux の多くのディストリビューションには、すでに Apache と PHP が組み込まれています。そうでない場合、ディストリビューションは通常パッケージマネージャを提供しており、それを使ってそれほど大変でなくインストールすることができます。より高度な設定は、優れた検索エンジンの助けを借りて調べてください。
Apache の要件
Apache のほとんどのディストリビューションには、 Grav に必要なものがすべて入っていますが、完全なものにするために、ここに必要な Apache モジュールのリストを示します:
mod_rewrite
mod_ssl
(もし Grav を SSL 下で動かしたい場合)mod_mpm_itk_module
(もし Grav を自身のユーザーアカウント下で動かしたい場合)
また、 .htaccess
ファイルが正しく処理され、 rewrite ルールが有効になるように、 <Directory>
や <VirtualHost>
ブロックで AllowOverride All
が設定されていることを確認してください。
IIS の要件
IIS は、 ‘すぐ使える’ web サーバーだと思われていますが、おそらくいくつかの設定が必要です。
IIS サーバーで Grav を動かすには、 URL Rewrite をインストールしてください。
これは、 IIS 内の Microsoft Web Platform Installer を使って利用できます。
もしくは、 iis.net からも URL Rewrite はインストール可能です。
PHP の要件
ほとんどのホスティングプロバイダや、ローカルの LAMP でさえ、 Grav を ‘すぐに’ 動かすために必要なすべてが事前に設定されています。
とはいえ、一部の Windows や、 Linux ディストリビューションのローカル環境や VPS ( Debian を想定!)では、 PHP のコンパイルが最小限の状態となっていることがあります。
よって、もしかすると以下の PHP モジュールをインストールし、有効化する必要があるかもしれません:
curl
( GPM で使用される URL 処理用のクライアント)ctype
( symfony/yaml/Inline で使用)dom
( grav/admin のニュースフィードで使用)gd
(画像操作に使用されるグラフィック・ライブラリ)json
( Symfony/Composer/GPM で使用)mbstring
(マルチバイト文字列のサポート)openssl
(GPM で使うセキュアなソケットライブラリ)session
( toolbox で利用)simplexml
( grav/admin のニュースフィードで使用)xml
(XML サポート)zip
zip 展開のサポート (GPM で使用)
openssl
と、 (un)zip サポートを有効化するには、 Linux ディストリビューションの php.ini
ファイルの以下のような行を見つける必要があります。
;extension=openssl.so
;extension=zip.so
行頭のセミコロンを削除してください。
追加するとより良いモジュール
apcu
キャッシュパフォーマンスを向上させるためopcache
PHP パフォーマンスを向上させるためyaml
PECL Yaml により、ネイティブで yaml を処理でき、パフォーマンスがドラマチックに良くなりますxdebug
開発環境でのデバッグに便利です
パーミッション
Grav が正しく機能するためには、Webサーバにログやキャッシュを書き込むための適切な ファイル・パーミッション が必要です。
CLI (コマンドライン・インターフェース)や GPM ( Grav のパッケージマネージャ)を利用する場合、そのユーザーがコマンドラインから実行する PHP もまた、ファイルの変更に適切なパーミッションが必要になります。
デフォルトでは、 Grav は、ファイルとフォルダをそれぞれ 644
と 755
のパーミッションとしてインストールします。ほとんどのホスティングプロバイダは、利用者のユーザアカウントの範囲で、ファイルを作成したり修正したりできるように設定しています。このことにより、 Grav は、大半のホスティングプロバイダ上で すぐに 動きます。
しかしながら、専用サーバーやローカル環境で動かすときは、 ユーザー と web サーバー がファイルを修正できるように、パーミッションを調整する必要があるかもしれません。そのための方法がいくつかあります。
-
利用環境が ローカル開発環境 の場合、通常は、ユーザ自身のプロファイルのもと web サーバを実行するよう設定できます。この設定方法により、 web サーバーはいつでもファイルの作成や修正を許可します。
-
すべてのファイルとフォルダの グループ・パーミッション を変えることで、標準的なパーミッションを維持したまま、 web サーバーのグループに、書き込み権限を持たせられます。
この方法は、コマンドの実行が少し必要です。
まず、どのユーザが Apache を実行しているのかを、以下のコマンドで探します:
ps aux | grep -v root | grep apache | cut -d\ -f1 | sort | uniq
そして、このユーザがどこのグループに属しているか、次のコマンドを実行して調べてください。(注: USERNAME は、前のコマンドで見つけた apache のユーザ名に書き換えてください)
groups USERNAME
(注: GROUP は、前のコマンドで見つけた apache を実行するグループ名に書き換えて下さい。 [www-data
, apache
, nobody
など]):
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 …
おすすめツール
PhpStorm
Grav は、 PhpStorm を使って開発されています。PhpStorm は、 Grav にとって最高の IDE です。ただし、無料ではありません。
PhpStorm は、複雑な Grav プラグインを書く人を含む PHP 開発者に最適です。( Grav と利用するすべてのプラグインを includes に付け加えるだけで、)自動で Grav のためにコードをコンパイルしてくれて、コード開発を支援する他の多くのツールを提供してくれます。また、 twig, yaml, html, js, scss, そして tailwind のフォーマットにも対応しています。
テキスト・エディタ
メモ帳、Textedit 、 Vi など、お使いのプラットフォームに付属しているデフォルトのテキストエディタでも問題ありませんが、作業効率を上げるために、シンタックス・ハイライト機能を備えた優れたテキスト・エディタを使用することをおすすめします。おすすめの選択肢は以下の通りです:
- Visual Studio Code - Atomと同様に、Electronと、Node、HTML/CSSによって作られています。非常に軽量で、PHPとJavaScriptをとてもよくサポートしてくれる非常に多くのプラグインがあります。現在、Gravの開発に推奨されているエディタです。
- SublimeText - MacOS/Windows/Linux - 商用的な開発者向けのエディタですが、値段通りの価値があります。特にプラグイン( Markdown Extended, Pretty YAML, そして PHP-Twig )と組み合わせると強力です。
- Notepad++ - Windows - 無料でとても人気の Windows 向け開発者用エディタです。
- Bluefish - MacOS/Windows/Linux - 無料で、オープンソースのプラグラマと web 開発者向けテキストエディタです。
- Kate - MacOS/Windows/Linux - 軽量だが強力で多機能なオープンソースのテキストエディタであり、プログラミングツールです。( Markcdown を含む) 300 以上の言語のハイライトをサポートします。
マークダウン・エディタ
コンテンツ制作のみを主な作業とするのであれば、専用の マークダウン・エディタ を使うという選択肢もあります。これらは、しばしばコンテンツづくりに特化しており、コンテンツを HTML としてレンダリングする ライブプレビュー 機能を提供します。これらのエディタは、文字通り何百種類もありますが、良い選択肢は次の通りです:
- MacDown - MacOS - 無料で、シンプルで、軽量なオープンソースの Markdown エディタ。
- LightPaper - MacOS - $17.99 で、クリーンで、強力です。わたしたちが Mac 上で選択した markdown エディタです。 ディスカウントコード( GET_GRAV_25 )で 25 % オフになります
- MarkDrop - MacOS - $5 ですが、クリーンで Droplr サポートが組み込まれています。
- MarkdownPad - Windows - 無料で Pro バージョン。YAML フロントマターサポートまでも付いています。Windows ユーザーにとって素晴らしいソリューションです。
- Mark Text - 無料で、オープンソースの Markdown エディタです。 Windows / Linux / MacOS 対応。
FTPクライアント
Grav をデプロイする方法はいくつもありますが、基本的には、ローカル環境のサイトをホスティングプロバイダにコピーするだけです。その最も基本的な方法は、FTPクライアント を使用することです。たくさんの種類がありますが、おすすめは次のとおりです:
- Transmit - MacOS - MacOS でデファクトの FTP/SFTP クライアントです。簡単に使えて、処理が速くて、フォルダ同期してくれて、必要なことすべてに素晴らしく適合します。
- FileZilla - MacOS/Windows/Linux - おそらく、 Windows ユーザーと Linux ユーザーには最適な選択肢です。無料でとてもパワフルです(が、 Mac 上では見にくいです!)
- Cyberduck - MacOS/Windows - MacOS ユーザーと Windows ユーザー両方に適した無料の選択肢。他のものほど機能は充実していません。
- ForkLift - MacOS - Transmit の堅実な代替品で、しかも若干安いです。
Git
開発環境とサーバ環境で、 Git 分散バージョン管理システムを利用している場合、 Github や、 GitLab のようなホスティングされた Git を使って、シンプルなワークフローを構築できます。
構築の手間は多少増えますが、よりクリーンで堅牢なワークフローが提供され、バックアップも行ってくれます。
もし Git とそのクライアントツールに慣れている場合は、この方法をお試しください。
[!Tip]
ワークフローにおけるGitの使い方は、のちほど、 Webサーバとホスティング の章の Gitによるデプロイ にて詳しく説明します。