Linux システムでサーバー ファイルを配置する標準的な場所を知るにはどうすればよいですか?

Linux システムでサーバー ファイルを配置する標準的な場所を知るにはどうすればよいですか?

私は最近自分でホスティングを始めたのですが、ファイルの場所を選択するための一般的な方法があるようです。

例えば、私はこのウェブサイトSSL 証明書を保存するための標準的な場所はディストリビューションによって異なります。

Linux には、あらゆるものに対して指定されたディレクトリがあります。Filesystem Hierarchy Standard (FHS) の一部である /var、/etc などのディレクトリについては、すでによくご存知でしょう。

そうですか、SSL 証明書を保存するための指定された場所もあります。

Ubuntuの場合: /etc/ssl/certs/

セントOS: /etc/pki/tls/certs/

これらの場所は、もっと正式に文書化されている場所はありますか? 「一般的な重要なファイルの Ubuntu 標準ファイルの場所」のようなものを想像しています。

私は読むこの質問、標準が存在しない場合もあるようです。しかし、この記事では、少なくとも特定のファイルに関しては、そうではないと言っているようです。

おそらく関連しているのは、nginx 構成フォルダーをレイアウトする方法が異なることです (構成ファイルは、conf.d一部のディストリビューションでは に保存され、sites-available他のディストリビューションでは に保存されます)。これらの違いは一体どこから来るのでしょうか? 私の知る限り、nginx は単一の組織によって公開された単一のアプリケーションです。

答え1

ファイルをどこに置くべきかについての正確な権限はありません。ハウツーガイド、リファレンスマニュアルなどのドキュメントを読み、パッケージがインストールする構成ファイルのように見えるものを確認してください。

かなり昔に、誰かが https 対応の nginx の構築に着手し、そのパッケージ化の決定が多くのドキュメントで繰り返されました。システム上のすべてのパッケージに対してこれを繰り返すことで、物事がどこにあるかに関する一連の規則が構築されます。

同じソース コードであっても、大幅に変更しても機能する可能性があることを認識してください。構成ファイル、追加されたサポート スクリプト、アップストリームではないコード パッチ、コンパイル時のオプション。理想的ではありませんが、これらの違いは存在します。

Red Hat/CentOSとDebian/Ubuntuはどちらも、Mozillaの成果に基づいたca-certificatesパッケージを大きなバンドルとして出荷しています。しかし、システムのPKIディレクトリが異なるだけでなく、バ​​ンドルを更新するためのツールも異なります。DebianにはCA証明書の更新これはopensslベースですが、ELはアップデート-CA-信頼これはバイナリを含む p11-kit ライブラリに抽象化されますtrust

PKI は非常に一般的な問題なので、証明書を他の場所に置くことは一般的であり、許容できることを理解してください。Web サーバーの証明書をシステム ストアに置く必要はありません。Debian ハンドブックの httpd レシピまさにそれを示しています。利用可能な場合は Let's Encrypt 証明書を使用することもできます。デフォルトでは、それらは にあります/etc/letsencrypt/

関連情報