解決策 1:
FHSによると、/usr
shareable, read-only data
用です - ウェブサイトを配置したい場所ではありません。これは、コードを配置する場所です (たとえば、Fedora は Wordpress に対してこれを行います)。 Fedora の Web アセット パッケージ ガイドも参照してください。
/var
「可変データ ファイル。これには、スプール ディレクトリとファイル、管理データとログ データ、および一時ファイルと一時ファイルが含まれます。」 -- 改善されましたが、まだ完全には正しくありません -- しかし、多くのシステムは /var/www
を使用します ですので、たとえ間違っていたとしても、良い仲間です。
/srv
「このシステムによって提供されるサイト固有のデータ」用です。 -- これはよく似ているように見えますが、/var/www
よりも一般的ではありません。 .
サイト ファイルを配置するもう 1 つの一般的な場所は、/home
の下です。 -- website
という特別なユーザーを作成する など、そのユーザーのホームディレクトリ内にファイルを配置します (例:/home/website
).
解決策 2:
Filesystem Hierarchy Standard (Wikipedia) を見てください。私自身、/srv/web/$domain/{htdocs,logs,cgi-bin,...} を使用しています。
解決策 3:
Web サイトは、ユーザーのホーム ディレクトリに存在する必要があります。それらはユーザー データであり、サイトごとに 1 人のユーザーによって分離される必要があり、動的コンテンツは、適切なアクセス許可が与えられた場合に、動的コンテンツが読み取りおよび変更する必要があるファイルを使用して、別のユーザーとして再度実行する必要があります。
更新:
共有ホスティング サーバーではないからといって、優れたセキュリティ プラクティスに取り組み、独立した役割を独自のセキュリティ ゾーンに分離するべきではないということにはなりません。
解決策 4:
決定的なガイドは Filesystem Hierarchy Standard で、/srv
と書かれています
解決策 5:
それらがディスク上のどこにあるかはほとんど問題ではありません。
私のすべてのマシンの /www から実際の場所へのシンボリック リンクがあるので、マシンごとに迷う必要はありません。一部の古いマシンにはユーザー ディスク用の /u0 と /u1 があり、そこに Web を配置しています。一部の /home は直接マウントされているため、そこに移動しますが、/www は常に正しい場所を指します。
また、/usr にも /var にも構成を入れません。これは /local に入ります (ご想像のとおり、通常は /u0 または /u1 のどこかにあるシンボリック リンクです)。これにより、バックアップが簡単になります。ユーザーディスクをバックアップするだけです。
もちろん、私が選んだ OS である NetBSD のマスター配布サイトがあります。このメイン マシン (実際には xen インスタンス) と rsync /usr で必要なシステムを作成します。生活が楽になります。