[Apache] 安裝好Apache後新移入的檔案無法正常瀏覽資料夾?關閉 SELinux 方式

全新安裝好的 Apache 正常運作,但移動進入的檔案或資料夾卻無法正常瀏覽?

Forbidden
You don't have permission to access /folder/ on this server.

或是

這個網頁無法運作
HTTP ERROR 500

這個狀況通常會發生在你剛安裝完 Apache 並且興高采烈的將檔案移入 www 時,移入的檔案或資料夾會一直無法正常瀏覽的現象!

這時候有可能是你檔案或資料夾的權限設定錯誤造成的,但也有可能是 SELinux 的介入所造成的問題,關於這個情況網路上許多人解答的都是權限設定錯誤的問題,但是如果不論是775 644都無法正常瀏覽的時候,可能就要開始懷疑是 SELinux 的影響囉!

前言:

前幾天在GCP (Google Cloud Platform) 中嘗試建置了一個新的環境,但沒有想到在進行phpMyAdmin的安裝的時候,資料夾移入後卻發現怎麼試都一直出現 HTTP ERROR 500 的這個錯誤訊息,起初也認為可能是檔案權限問題所造成的,不斷的檢查與重新設定檔案權限都未獲得改善,並且在網路上尋找了許多的討論,絕大多數的討論也都是提及到要將資料夾設定為644、檔案設定為755這個比較基本的操作,但卻怎麼樣也改善不了這個問題。

在偶然之間也不知道哪裡發現有人提到可能跟 SELinux 有關係,可以試著先暫時關閉來測試是否為 SELinux的問題所造成的,結果沒想到一試便成功了,至於什麼是 SELinux 這裡就不花費篇幅解釋了,相信遇到這個問題想要解決的人應該已經花很多時間在查找資料了(和我一樣),就不多說直接簡單的解釋說明一下解決的方式吧!

 

解決方式:

暫時關閉 SELinux :

要暫時的關閉SELinux的方式其實是相對簡單的,只要輸入以下指令 (立即生效)

# sudo setenforce 0

接著什麼都不用變更,直接把你無法顯示的頁面F5重新整理,馬上就會看到成效了!
而如果我們要把這個暫時關閉的 SELinux 重新啟動,只要把同樣的這個指令最後的0改為1就會啟動了。

在暫時關閉的情況下,當我們的機器重開機之後它又會再度的自動開啟,因此如果要直接一勞永逸的話可以考慮永久關閉 SELinux !

永久關閉 SELinux :

當我們確定了是 SELinux 的原因造成的後,如果你想要將它永久關閉的話,我們則需要修改 SELinux 的設定檔

# sudo vim /etc/selinux/config

我們就透過vim來編輯 /etc/selinux/config 這個檔案,並且將其中的 SELINUX=enforcing 修改成 SELINUX=disabled,接著重新啟動設備就完成編輯了

/etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

存檔後,可以使用 reboot 來重啟設備,但是這一次重啟的速度會非常慢,要耐心等候哦!

 

關於 SELinux 的介紹:

如果閒暇下來有時間,或許你也可以了解一下SELinux到底是在做什麼,這邊分享一下我簡單找到的一篇我覺得還算是容易閱讀的文章 https://kknews.cc/zh-tw/code/jmn3l56.html

 

其他更多關於 架站 的相關文章
其他更多關於 Apache 的相關文章