「最適な」ディレクトリはありません。この質問は主観的なものである、またはファイルの実際の配置は問題ではないと主張する人がいるかもしれませんが、後者については正しいです。 Unix ライクなシステムのどこに何を配置するかについての標準化された推奨事項。
Filesystem Hierarchy Standard はこれを定義し、以下を提供します:
-
/var
– ログなど、通常の操作中に変化するデータを置く場所/var/www
は、Apache の Web コンテンツを配置するデフォルトのディレクトリですが、その使用法はまったく標準化されておらず、人々がデフォルト設定をあまり頻繁に変更しないため、配置する「通常の」場所にすぎません。 -
/srv
– このディレクトリには、システムによって提供されるデータが含まれている必要があります。これは通常、必要な場所です。 FHS は次のように説明しています。これを指定する主な目的は、ユーザーが特定のサービスのデータ ファイルの場所を見つけられるようにすることと、読み取り専用データ、書き込み可能なデータ、およびスクリプト (CGI スクリプトなど) に対して単一のツリーを必要とするサービスを合理的に配置できるようにすることです。特定のユーザーのみが関心を持つデータは、そのユーザーのホーム ディレクトリに移動する必要があります。 (…)
/srv
の下でデータを構造化する方法の 1 つ プロトコルによるものです。ftp
、rsync
、www
、およびcvs
したがって、単純に
/srv/www
を作成します。 ディレクトリに移動し、これを使用します。マシンで提供する可能性のある仮想ホストごとにサブフォルダーを作成できます。 -
/home
実際には 1 人のユーザーに属するべきファイルが含まれています。たとえば、Apache では userdirs が許可されているため、http://example.com/~username
を介してユーザーの Web ファイルにアクセスできます。 、そしてそれらはpublic_html
から提供されます ユーザーのホームにあるディレクトリ。複数のユーザーで共有されているサーバーを使用していて、全員が独自のスクリプトをホストできるようにしたい場合は、ここを使用する必要があります。ディレクトリは、所属するユーザーのみが書き込み可能にすることを忘れないでください。
本質的に /srv/www
と /var/www
は、ホストする可能性のある Web プロジェクト用にサブディレクトリを作成する必要があるディレクトリです。次に、これらのディレクトリにさまざまな権限を定義して、特定のユーザーまたはユーザー グループに書き込みを許可できます。一度に 1 人のユーザーのプロジェクトがある場合は、/home
を使用します .
ファイルに適切にアクセスできる限り、どこにでもファイルを置くことができますが、ファイルシステムが雑然としていると、誰かが後で入ってきたときに頭痛の種になります。
/srv
Filesystem Hierarchy Standard に従っている場合は、ここに移動するのが最も論理的です。
複数のドメインを実行する場合は、 /srv/domain1
を実行できます /srv/domain2
etc etc その後、そこにあるサブフォルダー /ftp
/www
/tftp
/logs
/etc.etc.etc
私にとって、それは非常に堅実な構造であり、その上に構築し、簡単に制御できると感じています
しかし、管理者として、あなたは好きなだけきれいにすることも乱雑にすることもできます。
わかりました。簡単な回答です。
システム上の Web ファイルに、Linux システム上の 1 人のユーザーのみがアクセスする場合。ユーザーのホーム ディレクトリを使用します (~/
).
システム上の Web ファイルが、Linux システム上の複数のユーザーによってアクセスされる場合。 /srv/
を使用 .
これはまさに http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM が述べていることです。
引用は次のとおりです:
<ブロック引用>/srv には、このシステムによって提供されるサイト固有のデータが含まれています。
これを指定する主な目的は、ユーザーが特定のサービスのデータ ファイルの場所を見つけられるようにすることと、読み取り専用データ、書き込み可能なデータ、およびスクリプト (CGI スクリプトなど) に対して単一のツリーを必要とするサービスを合理的に配置できるようにすることです。特定のユーザーのみが関心を持つデータは、そのユーザーのホーム ディレクトリに移動する必要があります。
ボーナス:www? ftp?プロトコルごとに整理しますか?ん?
ここで述べたように http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM
- システム上で 1 人のユーザーのみがウェブサイトにアクセスし、ブラウザ (http プロトコル) を介してのみアクセスする場合:
~/http/your-website-directory/
- Web サイトにシステム上の 1 人のユーザーのみがアクセスし、ブラウザだけでなく複数のプロトコル (例:http と tcp と ...) を介してアクセスする場合:
~/your-website-directory/
- あなたのウェブサイトがシステム上の複数のユーザーによってアクセスされ、ブラウザ (http プロトコル) のみを介してアクセスされる場合:
/srv/http/your-website-directory/
- システム上の複数のユーザーがあなたのウェブサイトにアクセスし、ブラウザだけでなく複数のプロトコル (例:http と ftp と ...) を介してアクセスする場合:
/srv/your-website-directory/
えっwwwじゃないの? これは Apache 時代からの遺産です。 www は、使用されているプロトコルを指定しません。 Debian は現在でもこれを使用していますが、たとえば Arch linux は /srv/http を使用しています。