關於Apache的目錄瀏覽功能
近日,公司有個需求需要使用到Apache的目錄瀏覽功能。但是遇到了一點問題,所以出現了這篇文章。
linux安裝Apache很簡單,使用yum安裝即可。命令:yum -y install httpd。
然後就使用命令:systemctl start httpd。就啟動了服務,可以直接訪問了。
如果需要內網中的其他主機訪問Apache,就需要開放系統埠。因為我使用的Apache的預設埠80埠。
所以使用命令:firewall-cmd --zone=public --add-port=80/tcp --permanent。來開啟80埠。執行成功會輸出success。
如果沒有在Apache的預設首頁目錄(/var/www/html)中,新增index.html的話,訪問到如下頁面即為安裝成功。
然後因為需要用到瀏覽目錄功能,所以需要修改httpd.conf。如果是使用yum安裝的,檔案的位置是/etc/httpd/conf/httpd.conf。
修改檔案根目錄到你想要顯示的目錄。將Document "/var/www/html" 改成Document "/home/videos"。
還需要為/home/videos新建一個目錄配置。在httpd.conf中新加
<Directory "/home/videos">
Options Indexes FollowSymLinks
</Directory>
儲存設定。
使用systemctl restart httpd重啟Apache。訪問網頁,發現沒有什麼變化依舊顯示先前的頁面Testing123。在網上找了半天,終於找到了問題。問題在Apache有個welcome.conf。開啟welcome.conf。命令:vim /etc/htttpd/conf.d/welcome.conf。
打開發現,welcome.conf設定成了不支援目錄瀏覽功能。將Options -Indexes修改成Options Indexes就可以了。
然後開發網頁發現如果檔名較長會出現亂碼。在/home/videos的Directory標籤內加上IndexOptions NameWidth=*。代表根據name的長度來自動調整寬度。