워드프레스 500 내부 서버 오류(Internal Server Error) 조치 방법 종합 가이드
2025-09-28
워드프레스의 플러그인을 설치하는데 갑자기 화면에 500원(?) 짜리 둥근 달이 나타났다. 워드프레스를 접근하는 wp-admin, 도메인 그리고 검색도 모두 아웃, 이유인즉 워드프레스 500 에러는 서버가 요청을 처리하지 못할 때 발생하는 일반적인 오류다. 플러그인/테마 충돌, PHP 메모리 부족, .htaccess 손상, 파일 권한 오류, PHP 버전 불일치, 서버 측 제한(ModSecurity/방화벽) 등 원인이 다양하다. 아무튼 너무 겁먹지 말고 단계별로 진행하면 대부분의 사례를 신속히 진단하고 복구할 수 있다. 사실 난 워드프레스를 폭파 시킬 뻔 했다.
—> 목 차 <—
▦ 즉시 확인: 서버 상태와 에러 로그
상태 페이지/호스팅 공지 확인: 호스팅사 점검/장애 여부를 먼저 확인.
서버 에러 로그 확인:
cPanel: Metrics > Errors, 혹은 File Manager > logs
Plesk: Logs
SSH: tail -f /var/log/apache2/error.log 또는 /var/log/nginx/error.log, PHP-FPM 로그
핵심: 1) 에러 로그에서 최근 Fatal error(메모리 부족, 함수/클래스 선언 충돌, 특정 플러그인 파일 경로 등)를 먼저 파악. 2) 디버그 활성화(wp-config.php에 추가 또는 수정) 하여 문제를 확인하였다면 반드시 “워드프레스 디버거를 삭제 또는 비활성.
▦ 플러그인 충돌 점검(가장 흔한 원인)
모든 플러그인 비활성화:
FTP/SFTP 또는 File Manager에서 wp-content/plugins 폴더명을 plugins-disabled로 임시 변경.
사이트가 정상 표시되면 플러그인 충돌이 원인.
문제 플러그인 찾기:
폴더명을 원복한 뒤, 개별 플러그인 폴더를 하나씩 -off로 바꾸며 접속 테스트.
원인이 되는 플러그인을 찾으면 최신 버전 업데이트 또는 대체 플러그인으로 교체.
▦ .htaccess 초기화(Apache 환경)
백업 후 초기화:
루트 디렉터리의 .htaccess를 .htaccess.bak로 변경.
대시보드 접속 가능 시 설정 > 고정 링크에서 “변경 사항 저장” 클릭하여 재생성.
수동 기본값(퍼멀링크 기본 규칙):
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
주의: 필자는 이 방법을 시행하던 중 마지막 수행한 플러그인 프로그램 관련 정보가 마지막 줄에 있어 이를 삭제하고 워드프레스를 호출하였더니, 문제의 플로그인 설치 전 상태로 복귀하여 워드프레스가 정상 작동하였습니다. 그래서 문제된 플러그인을 삭제(?)하고 뒷 정리 후 깜끔하게 마무리 하였다. 아무튼 계속 이어가겠습니다. 왜냐면 뒤 부분에 나온 방법도 다 해보았고, 그 안에 해결 방법이 있을 수도 있기 때문입니다. ※ 매우 중요한 사항이라, 시스템을 건들지 말고 해결하기를 바라는 마음에 앞 부분에 서술 하였다는 것을 이해하여 주세요.
▦ 테마 문제 점검
기본 테마로 전환:
FTP로 /wp-content/themes/에서 사용 중 테마 폴더명을 테마명-off로 변경하면 워드프레스가 기본 테마(Twentytwenty 시리즈 등)로 폴백.
정상 동작하면 해당 테마의 functions.php, 커스텀 코드, 자식 테마 오버라이드 파일을 점검.