85769


## 環境

OS：Amazon Linux2

## やりたいこと

自作または会社で作成したWebアプリをLinuxにデプロイしようとしていますが、どのディレクトリに置くべきでしょうか？


CC BY-SA 4.0
2022-01-17T21:11:43.013
85764
2022-01-19T11:49:28.493
36122
question
linux amazon-linux
自作のアプリケーションはLinuxのどのディレクトリに置けばよいですか？


web アプリ **ではない** のであれば `/usr/local` とか `/opt/プロジェクト名`
とか、標準的なディレクトリ選定基準があって（コメント欄でリンクあり）それに従うことになるでしょう。インストーラは非標準な場所にもインストールできるように作っておかないと記憶装置の容量が足らない場合にユーザー（というか管理者）が困る(=使ってもらえない)ことになります。

web アプリ限定ということだと、普通の Unix/Linux ユーザーがこれを自分で起動することはまずないので（起動するのは `Apache httpd`
等 web server
であろう）インストール先は各サーバー管理者のセキュリティ指針等によって決める・決まることになります。逆に言うと「ここにインストールすればだれからも文句が出ない」ような標準的なインストール先なんてものは無いです。なのであなたの組織（なりあなた自身なり）で決めればよいというか、決めるしかないというか。それが悩ましいということなら、悩む前に「あなたの組織のセキュリティ指針」を定めるほうが先っス。


CC BY-SA 4.0
2022-01-18T04:20:44.710
85769
2022-01-18T04:20:44.710
8589
85764
answer


CGI/PHP/ASPのような古からのアーキテクチャの場合、置き場所=Webサーバのコンテンツディレクトリ(Apacheで言えばDocumentRootやScriptAliasで指定されたディレクトリ)に必然的になってしまいます。

また今時であればバージョン管理ツールのリポジトリからデプロイすることが一般的なので、それによってもある程度制約を受けます。(複数ディレクトリに分散してファイルを置こうとかするとめんどくさい)

フレームワークによっては標準的なデプロイツールがあるものもあって、その流儀にもしたがう必要があります。

会社であれば会社によってデプロイのルールが定められている場合もあるでしょう。誰もが好き勝手な場所にデプロイしてしまうとセキュリティ以前に単純に収集がつかないので。

`man
hier`を読みましょう、というのはWebアプリではほとんど参考にならないですし、そうでない場も大分様子が変わっている(ユーザーのホームディレクトリに展開させるとか)のでこちらもあまり参考になりません。


CC BY-SA 4.0
2022-01-19T11:49:28.493
85794
2022-01-19T11:49:28.493
5793
85764
answer