CentOS 7.X Wrodpress 上傳的檔案無法被移動至wp-content/uploads/

在移植完Wrodpress測試是否正常時,發生了媒體無法上傳的問題,錯誤訊息給出上傳的檔案無法被移動至wp-content/uploads/,就翻了之前寫的文章WordPress 資料權限修復,這邊有一點點不太一樣的就是在CentOS裡面Apache的使用者不是www-data而是apache,修正完資料夾權限後竟然還是無法正常上傳媒體,爬文爬了一整晚將近12小時,下了各種關鍵字都找不到原因,最後快要放棄時逛逛PTT Linux版時無意間看到了這篇,才發現原來除了預設的資料夾權限以外,還多了SELinux安全性的問題。

解決方法有兩種如下:

  1. 給予權限寫入資料 (推薦!!)

    • 給予httpd讀取的權限
1
2

sudo chcon -t httpd_sys_content_t /var/www/html/ -R
*   給予寫入的權限
1
2

sudo chcon -t httpd_sys_rw_content_t /data/www/html/sofast/wp-content/* -R
  1. 完全關閉SELinux (不推薦)

    • 開啟路徑
1
2

/etc/sysconfig/selinux
*   搜尋`SELINUX`修改為`<code>disabled`</code>
1
2
3

//預設enforcing為開啟,disabled為關閉
SELINUX=disabled
*   重開機

查詢SELinux是否開啟(Enforcing為開啟,disabled為關閉)

1
2

getenforce

參考:

  1. CentOS 7 + SELinux + PHP + Apache – cannot write/access file no matter what
  2. CentOS 關閉SELinux方式
  3. [問題] CentOS 7 apache資料夾權限