WordPress에서의 업그레이드 오류 대처법

필자는 Centos 7을 SELinux Enforced 모드가 활성화된 채로 운용하고 있다.
이게 당연히 맞는 이야기이고, 몇 가지 문제점이 생긴다고 해서 SELinux 자체를 비활성화 시킨다는 것은 내 정보는 공공재입니다~ 하는 것과 마찬가지라 생각해 문제가 조금씩 있더라도 자료를 찾아가며 해결하려 하는 편이다.

최근에 APM(Apache + PHP + MySQL)에서 Nginx + PHP-fpm + MariaDB 구성으로 넘어오면서 데이터 이전을 했는데, 워드프레스 코어 업데이트가 되지 않는 문제가 발생했다.
구글신의 힘을 빌어 chcon -t httpd_sys_script_rw_t (path_to_wp-content)를 먹이면 된다는 말에 혹해 해봤지만 실패.
혹시나 chowning이 문제인가 싶어서 nobody:nobody를 해봤는데도 실패.
나는 nginx를 사용하고 있었기에, 당연히 nginx daemon이 파일 쓰기 권한이 없어서 그런가보다 싶어서 chown nginx:nginx를 해봤지만 이것도 실패.

결과적으로 chown apache:apache가 답이었다.
워드프레스 루트 폴더의 php 파일들은 chcon -t http_sys_script_exec_t *.php로 권한을 주어야 하고, 워드프레스 루트 폴더는 chown -R apache:apache (path-to-wp-root) 으로 소유자 설정을 한 후, wp-content 내의 폴더들은 chcon -R -t httpd_sys_script_rw_t *를 주어야 정상적으로 작동한다.

위 내용을 적용해도 안 될때는, setenforce 0로 SELinux Enforcing 모드를 Permissive로 바꾼 뒤에 하려던 작업(워드프레스에서의)을 실행해보고, /var/log/audit/audit.log를 참고해 어느 권한이 문제가 되는지 확인해 보자.

-추가-
이렇게 적용을 해도 무슨 문제인지 PNG파일은 업로드가 되지 않고, JPG/JPEG 파일만 업로드가 정상적으로 된다. 이건 워드프레스 자체의 문제로 보이는데… 더 알아봐야겠다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다