我如何知道在 Linux 系統上放置伺服器文件的標準位置是什麼?
我剛剛開始做自己的託管,似乎通常有選擇文件位置的常見做法。
例如,我發現這個網站說有儲存 SSL 證書的標準位置,這些位置因發行版而異:
Linux 對所有內容都有其指定的目錄。您已經熟悉 /var、/etc 和其他目錄,它們是文件系統層次標準 (FHS) 的一部分。
好吧,你猜怎麼著,也有一個指定的位置來儲存 SSL 證書。
Ubuntu:
/etc/ssl/certs/
中央作業系統:
/etc/pki/tls/certs/
這些位置是否有更正式的記錄?我在想像“常見關鍵文件的 Ubuntu 標准文件位置”之類的東西。
我讀了這個問題,似乎有時沒有標準。但這篇文章似乎另有說明,至少在涉及某些文件時。
也許相關的是 nginx 配置文件夾的不同佈局方式(配置文件保存在
conf.d
某些發行版和sites-available
其他發行版中。這些差異到底來自哪裡?據我所知,nginx 是一個發布的單個應用程序由單一組織。
對於文件的確切位置沒有權威。閱讀任何文件:如何指導、參考手冊以及查看軟體包安裝的任何看起來像配置文件的內容。
很久以前有人著手建構啟用 https 的 nginx,並且他們的打包決定在許多文件中重複出現。對系統上的每個包重複此操作,這為事物的位置建立了一組約定。
意識到即使是相同的原始碼也可以進行大量修改並且仍然可以執行。配置文件,添加到支持腳本,非上游程式碼更新檔,編譯時間選項。不理想,但這些差異確實存在。
Red Hat/CentOS 和 Debian/Ubuntu 都提供了一個基於 Mozilla 工作的 ca-certificates 包,作為一個大捆綁包。但是除了系統 PKI 目錄不同之外,更新包的工具也不同。Debian 有基於 openssl 的update-ca-certificates,而 EL 有update-ca-trust將其抽象為帶有
trust
二進製文件的 p11-kit 庫。PKI 是一個相當普遍的問題,所以要知道將證書放在其他地方很常見並且可以接受。Web 伺服器的證書沒有理由需要在系統儲存中。Debian 手冊的 httpd 配方表明:如果可用,不妨使用 Let’s Encrypt 證書,預設情況下是在
/etc/letsencrypt/
.