제 블로그는 Amazon Lightsail에서 제공하는 Bitnami WordPress Stack를 통해 구축한 워드프레스로 운영되고 있습니다. 서버 설치나 워드프레스 설치 등 이것저것 번거로운 일을 줄일 수 있어서 직접 설치하는 워드프레스와 좀 다른 부분(경로라던지..)이 있더라도 괜찮게 써오고 있습니다.
사실 글 쓸 때(그나마도 요즘은 잘 안 쓰지만) 외에는 가끔씩 댓글 등록된게 있나, 업데이트가 있나 정도 들려보는 정도인데, 어제는 접속하니까 아래 같은 메시지가 튀어나오더군요.
이 상태에서 아무 것도 할 수 없는지라, 해당 화면에 링크된 워드프레스 디버깅 설명 페이지를 방문하였고, 디버그 모드를 켜고 어떤 내용인가를 확인하였습니다.
- SSH로 접속합니다(아마존의 경우 라이트세일 접속하여 웹콘솔을 띄우거나, SSH Key를 다운로드 받아 Putty등의 터미널을 통해 접속할 수 있습니다).
- 워드프레스가 설치된 경로로 이동합니다. 저처럼 아마존 라이트세일 Bitnami WordPress Stack을 설치한 경우 cd ~/apps/wordpress/htdocs로 이동하시면 됩니다.
- vi로 wp-config.php 파일을 열고, define( ‘WP_DEBUG’, false ); 문자열을 찾아, false를 true로 변경한 다음 저장합니다.
- 다시 블로그에 접속하면 어떤 부분이 문제 있는지 나타납니다.
제 경우에는 /opt/bitnami/apps/wordpress/htdocs/wp-inclubes/cron.php 파일이 없는 문제였습니다(왜 삭제된지는 모르겠습니다). 워드프레스 앱 구성에 꼭 필요한 파일이 아닐 수도 있지만 일단 블로그 기동이 되지 않으니 이 부분을 해결해야합니다.
처음에는 Bitnami Community에도 질문을 올렸습니다만, 단순히 파일이 없는 문제라면 그 파일을 찾아서 넣으면 해결될 것 같았습니다. 그리고 워드프레스는 그 소스가 공개되어있지요. 버전만 맞다면, 해당 파일을 받아서 넣어주면 될꺼라 생각했습니다.
- 위에서 열었던 콘솔에서 아래 명령어를 입력합니다. 그러면 첨부한 이미지처럼 현재 설치되어있는 워드프레스의 버전이 나옵니다.
grep wp_version wp-includes/version.php
- 제 블로그의 워드프레스 버전은 5.4.2이군요. 워드프레스 소스 리포지토리에 방문하여 아래 경로를 찾아갑니다.
branches/5.4/wp-includes - cron.php를 찾아서 파일 이름 옆 다운로드 버튼을 클릭하여 파일을 다운로드합니다.
- 해당 파일을 wp-include/ 경로에 업로드하거나, vi로 작성하여 내용을 붙여넣습니다. 아마존 라이트세일 환경이면 일반 FTP로 접근할 수 없으니 WinSCP 등을 사용하시면 됩니다.
- 파일을 작성하였거나 업로드한 뒤에는 해당 경로내 다른 php 파일과 마찬가지로 파일 소유권을 맞춰줍니다. 아래 예시는 제 블로그 환경(아마존 라이트세일+Bitnami WordPress Stack)에 따른 내용이므로, ls -al 를 통해 설치된 환경에서 다른 파일의 소유권을 확인하시고 동일하게 맞춰주시면 됩니다.
sudo chown bitnami:daemon cron.php
- 처음 수정했던 wp-config.php 내 debug 문자열을 다시 false로 되돌립니다.
위와 같이 진행하면 정상적으로 블로그 접속이 가능해집니다.
꽤 식겁하긴 했지만 그래도 해결한 김에 기록으로 남겨봅니다. 파일이 없는 경우라면 위와 같이 해결할 수 있습니다만, 아직도 cron.php 파일이 제 블로그 서버에서 삭제된 이유는 모르겠습니다.. ⓣ