Apache-2.2

對 Apache 數據和日誌使用 /var 或 /srv?

  • July 13, 2013

我一直是這樣配置 Apache 的:

/etc/httpd/conf/httpd.conf(主要 Apache 配置)

<Directory />
  Options None
  AllowOverride None
  Order deny,allow
  Deny from all 
</Directory>


<Directory "/var/www/html">
   Options None
   AllowOverride None
   Order deny,allow
   Deny from all
</Directory>

虛擬主機配置

<VirtualHost *:80>
       ServerName xxxxx.co.uk
       ServerAlias xxxxx.co.uk xxxxx
       DocumentRoot /var/www/html/xxxxx.co.uk   
       ErrorLog /var/www/log/xxxxx.co.uk
       <Directory "/var/www/html/xxxxx.co.uk">
               AllowOverride None
               Options -Indexes -FollowSymLinks
               Order Allow,Deny
               Allow from all
       </Directory>
</VirtualHost>

我注意到有些人似乎為網路內容和日誌創建了一個特定的文件夾,即

/srv/html/xxxxx.co.uk
/srv/log/xxxxx.co.uk

我想知道是否有人可以解釋為什麼會這樣?這樣做更安全嗎?是否有任何其他原因將 Web 內容內容移出 /var/….. 路徑?

提前致謝 :-)

除了 Mike 關於 FHS 的觀點,這裡是來自 Ubuntu 論壇的討論:

http://ubuntuforums.org/showthread.php?t=1425726

最好的評論是:

/var 是一個較舊的約定。它適用於隨時間變化的數據(“可變數據”),例如記憶體、假離線、日誌、各種內務管理和管理文件,而“使用者數據”將位於主目錄中,……但在某些時候,可能由於缺乏任何其他合適的地方,/var 也成為守護程序將服務於其他系統和使用者(例如數據庫和網頁)的“數據”的地方。當然,這些文件也會“隨著時間而改變”,但我同意網站和系統日誌之間存在差異。

Debian 仍然預設使用 /var 儲存數據,但可能大多數“舊” linux 都這樣做(例如 Redhat),並且大多數文件也假定 /var 用於這類東西,儘管我在某些 (不太傳統的)應用程序的管理指南。

FWIW,CentOS 6 有一個 /srv 目錄,但它是空的,而 Apache,例如,預設為 /var/www 作為根目錄。可以證明,/srv/logs在您的範例中應該按照慣例正確放置/var,因為日誌不是您的機器提供的東西。

引用自:https://serverfault.com/questions/380353