GNU/Linux >> Linux の 問題 >  >> Linux

Web サイトのコンテンツを保存するための推奨ディレクトリは何ですか?

「最適な」ディレクトリはありません。この質問は主観的なものである、またはファイルの実際の配置は問題ではないと主張する人がいるかもしれませんが、後者については正しいです。 Unix ライクなシステムのどこに何を配置するかについての標準化された推奨事項。

Filesystem Hierarchy Standard はこれを定義し、以下を提供します:

  • /var – ログなど、通常の操作中に変化するデータを置く場所 /var/www は、Apache の Web コンテンツを配置するデフォルトのディレクトリですが、その使用法はまったく標準化されておらず、人々がデフォルト設定をあまり頻繁に変更しないため、配置する「通常の」場所にすぎません。

  • /srv – このディレクトリには、システムによって提供されるデータが含まれている必要があります。これは通常、必要な場所です。 FHS は次のように説明しています。

    <ブロック引用>

    これを指定する主な目的は、ユーザーが特定のサービスのデータ ファイルの場所を見つけられるようにすることと、読み取り専用データ、書き込み可能なデータ、およびスクリプト (CGI スクリプトなど) に対して単一のツリーを必要とするサービスを合理的に配置できるようにすることです。特定のユーザーのみが関心を持つデータは、そのユーザーのホーム ディレクトリに移動する必要があります。 (…)

    /srv の下でデータを構造化する方法の 1 つ プロトコルによるものです。 ftprsyncwww 、および 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 を使用しています。


Linux
  1. ホームディレクトリを暗号化するポイントは何ですか?

  2. 作成時刻を格納する Linux のファイル システムはどれですか?

  3. システムコール tuxcall は何をしましたか?

  1. Linuxファイルシステムツリーにgitリポジトリを保存する従来の場所はどこですか?

  2. システムのディスクへのアトミック書き込みのサイズは?

  3. 最新のファイル システムの何百万ものファイルのパフォーマンスへの影響は何ですか?

  1. シェルを使用してinitシステムを検出しますか?

  2. クラウドバックアップとローカルバックアップ:データを保存する最も安全な方法

  3. MySQL レプリケーションにおける「システム ユーザー」の目的は何ですか