5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

現場で見てきたDocumentRootの位置サンプル

Last updated at Posted at 2020-07-09

初めに

今までいくつかの現場にアサインしてきましたが、DocumentRootの位置が現場により異なりました。
正直DocumentRootの位置は/tmp等やめたほうが良いパス以外は好きにして構わないと思うのですが、全くの初心者の頃皆目見当がつかなかったので、少し纏めてみたいと思います。
説明に過不足ありましたら是非ご一報ください!

※Linux系のサーバにデプロイする前提の内容となります。
 また、Javascript、PHPのWebアプリケーションのみとなります。

DocumentRootとは

Webアプリケーションにアクセスされたとき、Webサーバが参照する際に 基準となるディレクトリの位置 を定義するための仕組みです。

https://sample.com/index.htmlでアクセスされた際、
DocumentRoot→/var/www/htmlの場合、
/var/www/html/index.htmlが参照されレスポンスされる。

つまりこの場合/var/www/htmlが基準のディレクトリとなります。

/var/www/html/[アプリケーション名]

ApacheやNginX等よく使われるWebサーバのデフォルトのDocumentRootです。
デフォルトのままですのでシンプルで、兎に角スピード重視という意味合いの印象です。

/var/www/vhosts/[アプリケーション名]

仮想ホストを利用している際に良く/var/www/vhosts/配下に指定するようです。
仮想ホストについては以下のApacheの公式ページの通り、一つのWebサーバで複数のドメインを運用したい際に利用します。
https://httpd.apache.org/docs/2.2/ja/vhosts/examples.html

/home/www/[アプリケーション名]

wwwというアプリケーション実行ユーザを作成して、その実行ユーザのhomeディレクトリを指定していました。勿論www以外の実行ユーザ名でも問題ないと思います。
アプリケーション実行ユーザ、DBユーザ、cron実行ユーザ...と役割をしっかり分けてセキュリティを意識した作りで見られました。

以上です。

ちなみに

以下のコラム、PDFで纏められていますが、
https://www.atmarkit.co.jp/ait/articles/0108/07/news002.html
https://www.pathname.com/fhs/pub/fhs-2.3.pdf

それぞれ思想に沿ってディレクトリが切られています。
/var: 変更されるデータ
/home: ユーザーのホームディレクトリ
/opt: 追加アプリケーション(Javaで使うTomcatではここのサブディレクトリがDocumentRootになります)

ここら辺のディレクトリをDocumentRootに指定するのは、至極自然な発想なのですね!

最後に

私の見てきた現場ですと、おおよそ上記のパターンに収まっていました。
利用しているサーバ、サービスによって異なるかと思いますので、違った構成や意見がありましたら是非コメントくださると嬉しいです!

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?