내 설정

내 설정

최근에 Linux로 전환하여 직접 LEMP 설정을 시도했는데 대부분 관리했지만 이제는 해결할 수 없는 권한 문제가 발생했습니다. 로컬 WordPress 사이트에서는 파일을 업로드할 수 없습니다.

내 설정

  • php-fpm이 내 사용자로 실행됩니다.
  • nginx는 nginx 사용자로 실행됩니다.
  • 사이트는 /home//Websites/example.com에 저장됩니다.

이는 지역 개발에만 해당됩니다.

/home/my-user drwxr-xr-x
/home/my-user/웹 사이트 drwxrwxr-x
/home/my-user/Websites/example.com drwxrwxr-x
/home/my-user/Wbsites/example.com/ wp-contentdrwxrwxr-x

모두 my-user:my-user가 소유합니다.

업로드 외에는 사이트가 작동하고 있습니다.


편집하다: 문제는 SELinux에서 발생한 것 같습니다. 업로드 문제를 해결하기 위해 무엇을 활성화해야 할지 아직 잘 모르겠습니다.

답변1

이 문제는 파일 시스템 권한과 관련이 없지만 selinux가 업로드 폴더에 대한 쓰기 액세스를 차단하는 것 같습니다.

먼저 selinux를 허용 모드로 설정하십시오. 이렇게 하려면 루트로 실행하세요.

setenforce 0

그런 다음 다음 return을 실행하여 명령이 올바르게 적용되었는지 확인하십시오 Permissive.

getenforce

이제 로컬 업로드 폴더에 파일을 업로드할 수 있습니다. 완료되면 selinux 로그에서 오류를 확인하세요. 로그 파일은 /var/log/audit/audit.log에 있습니다.

업로드한 폴더의 보안 컨텍스트가 잘못되었을 가능성이 높습니다. 다음 출력을 확인하십시오.

ls --context

업로드 폴더에 올바른 보안 컨텍스트가 있는지 확인해야 합니다. 이 폴더에는 httpd_sys_rw_content_t웹 서버가 디렉터리에 쓸 수 있도록 허용하는 컨텍스트가 있어야 합니다.

답변2

업로드 디렉터리를 777로 설정한 다음 파일을 업로드해 보세요. 그러면 어떤 사용자가 파일을 생성하고 있는지 확인할 수 있습니다.

이 내용이 표시되면 디렉터리를 해당 사용자로 변경하고 적절한 권한을 설정할 수 있습니다.

내 LAMP 시스템에서 전체 워드프레스 트리는 www-data:www-data의 소유입니다.

설정이 완료되면 WordPress 플러그인을 업데이트/설치할 수도 있습니다.

관련 정보