質問: ウェブサイトのコンテンツを保存するために推奨されるディレクトリは何ですか? 私が最初にwebのプログラミングを始めて、新しいプロジェクトを作成したいと思ったとき、常に/var/www/にディレクトリを作成するように教えられました。しかし、私が読んだ多くのチュートリアルでは、人々は/home/username/にディレクトリを作成する傾向があります。/home/username/に入れるのは好きではありません。正しい場所はありますか、それともファイルシステムの特定の領域に配置することの利点/欠点は何ですか?
回答: 「最適な」ディレクトリはありません。そして、この質問は主観的である、またはファイルの実際の配置は重要ではない、そして後者については正しいと人々は主張するかもしれませんが、がありますunixライクなシステムのどこに何を配置するかに関する標準化された推奨事項。 filesystem hierarchy standard はこれを定義し、以下を提供します。 /var –ログなどの通常の操作中に変更されるデータを配置する場所です。/var/wwwは、apacheのwebコンテンツを配置するデフォルトのディレクトリですが、その使用法はまったく標準化されておらず、「通常」というのは、人々がデフォルト設定をあまり頻繁に変更しないためです。 /srv –このディレクトリには、システムによって提供されるデータが含まれている必要があります。これは通常、必要な場所です。 fhsは次のように説明しています。 これを指定するこの主な目的は、ユーザーが特定のサービスのデータファイルの場所を見つけられるようにすること、および読み取り専用データ、書き込み可能なデータ、およびスクリプト(cgiスクリプトなど)に単一のツリーを必要とするサービスを合理的に配置できるようにすることです。特定のユーザーのみが関心を持つデータは、そのユーザーのホームディレクトリに移動する必要があります。 (...) /srvの下でデータを構造化する1つの方法は、プロトコルによるものです。 ftp、rsync、www、cvs したがって、単に/srv/wwwディレクトリを作成し、これを使用します。マシンで提供したいすべての仮想ホストのサブフォルダーを作成できます。 /homeには、実際には1人のユーザーに属すべきファイルが含まれています。たとえば、apacheは serdirs を許可するため、http://example.com/~usernameを介してユーザーのwebファイルにアクセスでき、それらはユーザーのホームのpublic_htmlディレクトリから提供されます。 複数の人で共有されているサーバーを使用していて、すべての人が自分のスクリプトをホストできるようにしたい場合は、ここで行ってください。ディレクトリは、所属するユーザーのみが書き込み可能にしてください。 基本的に、/srv/wwwと/var/wwwは、ホストするwebプロジェクトのサブディレクトリを作成する必要があります。次に、これらのディレクトリに異なる権限を定義して、特定のユーザーまたはユーザーグループがそれらに書き込むことを許可できます。一度に1人のユーザーのプロジェクトがある場合は、/homeを使用します。