web直接顯示目錄
最近聽朋友說遇到一個問題,在網站某個目錄之下,直接用目錄list之方式顯示index.php的程式,似乎沒有執行此index.php程式(如下圖),有可能幾個原因進行討論,環境都以CentOS7x為例

1.此台linux上面沒有安裝php的套件
參考解法,透過yum安裝php套件
# yum -y install php php-mysqlyum
php-pdo php-gd php-ldap php-odbc php-pear.noarch php-xml php-xmlrpc
php-mbstring php-snmp php-soap php-mcrypt curl curl-devel libxml2 libxml2-devel
curl curl-devel libjpeg libjpeg-devel libpng libpng-devel libmcrypt
libmcrypt-devel libtool-ltdl-devel
# yum -y install *php* (比較快的方法,直接將php相關套件都安裝起來,但是有可能多裝了不少套件!!)
# systemctl restart httpd.service (php安裝後要重啟apache)
# systemctl restart httpd.service (php安裝後要重啟apache)
2.apache httpd設定中沒有指定預設目錄執行檔案
參考解法,透過修改httpd.conf中是否有下面藍色框中加上index.php(通常也會再加上index.htm or index,html)設定目錄預設中有那些檔案時可以自動執行
# nano /etc/httpd/conf/httpd.conf
<IfModule dir_module>
DirectoryIndex index.php index.htm </IfModule> |
# systemctl restart httpd.service
(httpd.conf修改完後要重啟apache)
3.apache httpd設定預設目錄沒有對應執行檔案時會顯示目錄,這是不安全的設定
參考解法,透過修改httpd.conf中如設定目錄預設中沒有可以直接執行的檔案時,不要顯示目錄
# nano /etc/httpd/conf/httpd.conf
先找到<Directory "/var/www/html">這一行
然後將Options Indexes FollowSymLinks中 |

# systemctl restart httpd.service
(httpd.conf修改完後要重啟apache)
就可以看到如下的狀況了!!

沒有留言:
張貼留言