Cent OS LEMP 스택의 워드프레스 플러그인 설치 에러 해결방법이다.
예상치 않은 에러가 발생했습니다. WordPress.org나 이 서버의 환경설정이 뭔가 잘못된 것 같습니다. 문제가 지속된다면 지원 포럼에서 해결해보세요.
이 모든 문제가 아마 Cent OS에서 지원하는 SELinux 때문이다.
Cockit을 이용해서 SELinux를 들어가보면 어마어마한 양의 로그를 발견…
SELinux is preventing /usr/sbin/nginx from name_connect access on the tcp_socket port 80.
- If you want to allow httpd to can network connect
You must tell SELinux about this by enabling the ‘httpd_can_network_connect’ boolean.
=> ‘httpd_can_network_connect’ 를 활성화 시켜야함. - If you want to allow httpd to graceful shutdown
You must tell SELinux about this by enabling the ‘httpd_graceful_shutdown’ boolean.
=> ‘httpd_graceful_shutdown’ 활성화 - If you want to allow httpd to can network relay
You must tell SELinux about this by enabling the ‘httpd_can_network_relay’ boolean.
=> ‘httpd_can_network_relay’ 활성화 - If you want to allow nis to enabled
You must tell SELinux about this by enabling the ‘nis_enabled’ boolean.
=> ‘nis_enabled’ 활성화 - If you believe that nginx should be allowed name_connect access on the port 80 tcp_socket by default.
You should report this as a bug. You can generate a local policy module to allow this access.
=> nginx에 name_connect 액세스가 허용될수있게 모듈을 생성시켜줘야함.
해결방법
SELinux 설정을 차근차근 변경해주면된다.
- setsebool -P httpd_can_network_connect 1
- setsebool -P httpd_graceful_shutdown 1
- setsebool -P httpd_can_network_relay 1
- setsebool -P nis_enabled 1
- ausearch -c ‘nginx’ –raw | audit2allow -M my-nginx && semodule -X 300 -i my-nginx.pp
이제 터미널로가서 명령어 하나하나를 실행해보자.
그리고 service nginx restart
다시 관리자페이지에서 플러그인에 접속하면 전과같은 에러가 해결된걸 확인할 수 있다.