在移植完Wrodpress測試是否正常時,發生了媒體無法上傳的問題,錯誤訊息給出上傳的檔案無法被移動至wp-content/uploads/
,就翻了之前寫的文章WordPress 資料權限修復,這邊有一點點不太一樣的就是在CentOS裡面Apache的使用者不是www-data
而是apache
,修正完資料夾權限後竟然還是無法正常上傳媒體,爬文爬了一整晚將近12小時,下了各種關鍵字都找不到原因,最後快要放棄時逛逛PTT Linux版時無意間看到了這篇,才發現原來除了預設的資料夾權限以外,還多了SELinux安全性的問題。
解決方法有兩種如下:
- 給予權限寫入資料 (推薦!!)
- 給予httpd讀取的權限
sudo chcon -t httpd_sys_content_t /var/www/html/ -R
- 給予寫入的權限
sudo chcon -t httpd_sys_rw_content_t /data/www/html/sofast/wp-content/* -R
- 給予httpd讀取的權限
- 完全關閉SELinux (不推薦)
- 開啟路徑
/etc/sysconfig/selinux
- 搜尋
SELINUX
修改為disabled
//預設enforcing為開啟,disabled為關閉 SELINUX=disabled
- 重開機
- 開啟路徑
查詢SELinux是否開啟(Enforcing為開啟,disabled為關閉)
:
getenforce
參考: