워드프레스 사이트에서 파일 퍼미션 오류가 있는 경우 500 HTTP 내부 서버 오류가 발생하거나 관리자에 페이지에 접근할 수 없거나, 워드프레스, 테마 혹은 플러그인을 업데이트하거나 설치하지 못할 수 있습니다. 또한, FTP를 통해 파일을 업로드하지 못하는 문제가 발생할 수도 있습니다. 이 글에서는 파일질라 (FileZilla)를 통해 FTP에 접속하여 워드프레스 파일 퍼미션을 설정하는 방법에 대해 살펴보겠습니다.
아래의 방법은 워드프레스 공식 문서를 참조하여 정리한 것입니다. 혹시 모르니 만약의 사태에 대비하여 백업을 하신 후에 적용하시기 바랍니다.
워드프레스 파일 퍼미션 오류를 수정하는 방법
파일 퍼미션(File Permissions)은 워드프레스 사이트를 구성하는 파일들을 누가 읽고, 쓰고, 실행할 수 있는지를 정의합니다. 워드프레스 사이트에서 파일 퍼미션(권한)을 잘못 설정되면 인증되지 않은 사용자와 해커가 파일을 편집하거나 스팸 콘텐츠를 삽입하거나 멀웨어를 주입할 수 있습니다.
워드프레스 사이트에서 권장되는 파일 퍼미션 설정은 다음과 같습니다.
- wp-admin: 755
- wp-content: 755
- wp-content/themes: 755
- wp-content/plugins: 755
- wp-content/uploads: 755 - wp-config.php: 644
- .htaccess: 644
- 기타 모든 파일 – 644
패스트코멧 등 cPanel을 제공하는 웹호스팅을 이용하는 경우 File Manager (파일 관리자) 툴을 사용하여 파일 퍼미션을 변경할 수 있습니다. 여기에서는 파일질라(FileZilla)를 통해 FTP에 접속하여 워드프레스 파일과 폴더의 권한을 변경하는 방법을 알아보겠습니다.
FTP를 통해 워드프레스 파일 퍼미션 변경하기
FTP는 폴더와 파일에 접근하기 위해 워드프레스 웹사이트의 서버에 연결하는 데 사용되는 소프트웨어입니다. FTP에 접속하려면 FileZilla와 같은 FTP 클라이언트가 필요합니다. 파일질라는 파일질라 사이트에서 최신 버전을 다운로드하여 PC에 설치할 수 있습니다(참고).
파일질라를 통해 FTP에 액세스한 다음, wp-admin, wp-content, wp-includes 등 3개의 폴더를 선택합니다. 여러 개의 폴더나 파일을 선택하려면 Ctrl 키나 Shift 키를 사용하여 선택하면 됩니다.
세 개의 폴더를 선택한 후에 오른쪽 마우스 버튼을 클릭하고 파일 권한... (File permissions...) 메뉴를 선택합니다.
파일 속성 바꾸기 (Change file attributes) 팝업 창이 표시됩니다.
파일질라 영문 버전을 사용하는 경우 UI는 다음과 같습니다.
파일 속성 바꾸기 화면에서 위와 같이 퍼미션을 설정합니다.
- 숫자값 (Numeric value): 755
- 하위 디렉터리로 이동 (Recurse into subdirectories) 체크
- 디렉터리에만 적용 (Apply to directories only) 체크
확인(OK)를 누르면 퍼미션 변경 작업이 시작됩니다. 폴더가 많은 경우 시간이 조금 걸릴 수 있습니다.
다음으로 파일들의 퍼미션을 644로 변경합니다. 파일질라에서 모든 워드프레스 파일과 폴더를 선택한 다음, 오른쪽 마우스 버튼을 클릭하고 파일 권한 (File permissions) 메뉴를 선택합니다.
파일 속성 바꾸기 (Change file attributes) 팝업 창이 표시되면 다음과 같이 파일 퍼미션을 설정합니다.
퍼미션 값을 644로 지정합니다. 그리고 하위 디렉터리로 이동 (Recurse into subdirectories)을 체크하고 파일에만 적용(Apply to files only)을 선택한 후에 확인(OK)을 클릭합니다.
- 숫자값 (Numeric value): 644
755 - 하위 디렉터리로 이동 (Recurse into subdirectories) 체크
- 파일에만 적용 (Apply to files only) 체크
커맨드 라인에서 워드프레스 파일 퍼미션 변경하기
커맨드 라인에서 파일 퍼미션을 변경하려는 경우 "Correct file permissions for WordPress"(올바른 워드프레스 파일 퍼미션) 글을 참고하여 다음과 같은 명령을 실행할 수 있습니다.
chown www-data:www-data -R * # Let Apache be owner
find . -type d -exec chmod 755 {} \; # Change directory permissions rwxr-xr-x
find . -type f -exec chmod 644 {} \; # Change file permissions rw-r--r--
Bitnami WordPress 인스턴스 퍼미션 문제
Stackoverflow 문서에 의하면 Bitnami WordPress를 사용하는 경우 워드프레스 설치 폴더 내의 퍼미션이 664와 775로 조정되어 있다고 합니다. wp-content 폴더의 퍼미션 수정 방법에 대하여 docs.bitnami.com/aws/apps/wordpress/#troubleshooting-wordpress 문서에 설명되어 있습니다. (지금은 해당 문서가 없어졌습니다. 구글링하여 이동된 문서를 찾아보시기 바랍니다.) 소유자 설정을 sudo chown -R bitnami:daemon /opt/bitnami/apps/wordpress/htdocs/wp-content 및 sudo chmod -R g+w /opt/bitnami/apps/wordpress/htdocs/wp-content 명령을 사용하여 설정할 수 있다고 합니다. 최신 Bitnami WordPress 인스턴스에서는 바뀌었을 수 있으므로 참고만 하세요.
Hi Bitnami Engineer here. We set the permissions to be 664 and 775 inside the installation folder of WordPress. The owners are bitnami:daemon because either the user using the command line and the Apache service (daemon) needs write permissions inside that folder. In our troubleshoot section, we explain how to modify the permissions of the wp-content folder docs.bitnami.com/aws/apps/wordpress/#troubleshooting-wordpress sudo chown -R bitnami:daemon /opt/bitnami/apps/wordpress/htdocs/wp-content and sudo chmod -R g+w /opt/bitnami/apps/wordpress/htdocs/wp-content
아마존 AWS나 라이트세일에서 워드프레스를 운영하다 보면 다양한 서버 관련 문제를 경험할 수 있습니다. 리눅스 서버에 대한 지식이 부족한 경우 많은 스트레스를 받을 수 있습니다. 이 때문에 다른 호스팅으로 이전을 의뢰하는 분들도 간혹 계십니다("아마존 AWS에서 국내 호스팅으로 워드프레스 이전 작업" 참고).
마치며
이상으로 워드프레스에서 파일과 폴더 퍼미션 문제가 발생하는 경우에 파일 권한을 변경하는 방법에 대해 살펴보았습니다. 제가 이 블로그를 시작할 당시에는 파일 퍼미션 문제가 빈번하게 발생했지만 최근 몇 년 사이에는 많이 줄어든 것 같습니다.
간혹 파일 퍼미션 문제 때문에 웹호스팅에 문의하면 권한을 777로 설정하라고 안내하는 경우가 있습니다. 하지만 777로 파일 권한을 설정하면 보안상의 문제가 발생하므로 바람직하지 않습니다. 실제로 777로 설정했다가 사이트가 악성코드에 감염되는 경우가 있습니다.
서버를 직접 세팅하여 사용하는 경우에는 위의 방법으로 문제가 해결되지 않을 수 있습니다. 그런 경우 서버 관리자에게 연락하여 문제를 해결하시기 바랍니다.
파일 퍼미션 문제 또는 워드프레스 관련 문제 해결에 어려움을 겪는 경우 여기에서 서비스(유료)를 의뢰하실 수 있습니다.
저두 홈페이지가 안나오네요. 망했네.
백업본이 있다면 백업본을 사용하여 복원해보시기 바랍니다.
문제 해결에 어려움을 겪는 경우 여기에서 서비스(유료) 의뢰를 하실 수 있습니다.
이거 따라서 했더니, 이제는 홈페이지가 아예 안나와요... 어떻게 해야하나요
위의 내용은 워드프레스 공식 문서를 참조한 것입니다. 파일 퍼미션을 이 글을 참고하여 제대로 변경했다면 오류가 날 이유는 없을 것 같습니다.
이 문제를 웹호스팅 업체에 한 번 문의해보시겠어요? 백업본이 있다면 백업본으로 복구해볼 수 있을 것입니다.