web-dev-qa-db-ja.com

nginxでプロジェクトファイルを配置する場所

/usr/share/doc/nginx/README.Debianファイルを見ると、次の警告が表示されます。

README for Debian
-----------------

  Files under /var/www/ are not supported as per Debian Policy.
  Please see: http://lintian.debian.org/tags/dir-or-file-in-var-www.html and,
  http://www.pathname.com/fhs/pub/fhs-2.3.html#THEVARHIERARCHY for more
  details and explanations.

いくつかの失敗した研究の後(私はおそらく間違った場所を見ています...)、私は疑問に思います:

  1. この警告は一般的なアドバイスです(「ファイルを/var/wwwに入れないでください」)、または標準のDebianパッケージのインストールで/var/wwwの下にファイルをインストールしないことを意味する場合。
  2. 実際に本番Webサイトを/var/wwwに配置することをお勧めしない場合、どこに配置すればよいですか?

よろしくお願いします!

5
astorije

もう一度全部読んで、私見ですが、docrootを/ usrの下に置くのはナンセンスです。これはあなたのデータであり、nginxのデータではありません。したがって、/ varのどこかが明らかに適切な場所です。バックアップについて考えてください。 あなたのデータは/ varにあり、ウェブサイトはその一部です。/usrはそうではなく、/ usrにはパッケージデータ(ソフトウェアシステムデータ)が含まれます。

さて、「なぜこのDebianポリシー」についての私の試み

Webサーバーでデフォルトで汎用パスを公開するのは危険です。デフォルト設定を/ usr/share/nginx/somethingに設定することにより、DebianはWebサーバーがファイルの提供を開始しないようにします。

/ var/wwwにdocrootを持つApacheが既にあり、Apacheジョブ以外の目的でnginxをインストールしています(たとえば、速度を上げるためにいくつかの静的ファイルを提供しています)。したがって、PHPもhtaccessサポートもなしで「裸の」nginxを使用します:nginxがApacheによって処理されるファイルの提供を開始するのを見たくありません:PHP sourceファイルおよびhtaccessesで保護する必要のあるファイル。

したがって、私の理解では、Debianポリシーは "ではありません"/var/www(または/ var/www /)にdocrootを置くことは悪い習慣です、しかしそれ以上 "httpdパッケージがデフォルトで/ var/wwwの提供を開始するのは悪い習慣です"

このメッセージ/動作は単なる(安全な)パッケージングポリシーです。システム管理者のグッドプラクティスではありません

5

http://lintian.debian.org/tags/dir-or-file-in-var-www.html によると

Debianパッケージは/ var/wwwの下にファイルをインストールすべきではありません。これは、File HierarchyStandardの/ varディレクトリの1つではなく、ローカル管理者の管理下にあります。パッケージは、それがWebサーバーのドキュメントルートであると想定してはなりません。ユーザーがデフォルトのドキュメントルートを変更することは非常に一般的であり、パッケージはユーザーが特定の設定を保持することを想定してはなりません。

したがって、これは単に、パッケージ作成者が/var/wwwがドキュメントルートであると想定せず、そこにファイルをインストールしないようにするための警告のように見えます。実際、私のDebianシステムでは、デフォルトのルートでさえありません。デフォルトのルートは/usr/share/nginx/htmlです(Debianコレクションからまたは直接nginx.orgからnginxをインストールしたかどうかは思い出せません)。 。

/var/wwwに本番サイトを配置することを妨げるものは何もありません。

2
cnst

/ srv/wwwは、Webアプリケーションファイルを保持する場所です。ワードプレスなどのaptでイ​​ンストールするWebパッケージには/ var/wwwを残します。 wordpressを手動で設定した場合は、/ srv/wwwに配置します。

そうは言っても、debianが/ var/wwwディレクトリをwww-dataユーザーのホームとして設定しているにもかかわらず、デフォルトでそのディレクトリを作成しないという問題があります。 nginxをインストールしても、ディレクトリは作成されません。 Apacheをインストールします。それはただ恣意的です。

1
dori