Gnuboard5 서버 이전 후 잘 되던 로그인이 안 될때
문제상황
서버를 이전하기 전에 로그인이 잘 되다가 새 서버로 이전한 다음 로그인이 안 될경우
참고로 로그인을 시도하면 새로고침이 일어나고(정확히는 Form 액션에 의해 페이지가 이동했다가 다시 돌아오면서 페이지를 새로 받는 것이다) 로그인 창은 그대로 로그인이 안 된 채 남아있는 상황이었다.
점검 포인트
data/session 폴더 확인
리눅스 서버에 있던 파일을 압축해서 받은 다음 다시 별도의 리눅스 서버로 이전하는 과정을 거쳤는데 이때 폴더 권한이 날아가버렸다.
그누보드5에서 로그인을 시도하면 data/session 폴더에 세션 파일을 쓰기 때문에 쓰기 권한이 없으면 로그인이 되지 않는다.
리눅스 콘솔에서 다음 명령어로 session 파일의 권한을 바꿔보자.
chmod -R 707 /data/session
간혹 session 폴더를 아예 빼먹은 경우도 있는데 이 때는 session 폴더를 생성해주면 된다.
참고로 /data 폴더의 권한도 707로 해 두는 것이 여러모로 편리하다.
data 폴더 안에는 사용자가 업로드한 온갖 파일을 비롯해서 갤러리에서 생성한 썸네일 등등 말 그대로 온갖 파일들이 다 들어간다.
한편 data 폴더에 들어있는 dbconfig.php 파일은 절대로 털리면 안 되는데, 이게 털리는 순간 DB가 뚫리기 때문이다. 간혹 아파치 설정을 잘못 잡아놓으면 dbconfig.php 파일이 다운로드 가능(!)하게 되거나 php 코드가 그대로 노출되는 경우가 생기는데 반드시 점검해보도록 하자.
쿠키 설정은 올바르게 되었는가?
쿠키 설정이 잘못되었을 경우 로그인이 되지 않는다.
config.php
파일의 쿠키도메인에 이전되기 전의 서버 도메인이 적혀있거나 하지 않은지 점검해보자.
공백으로 변경하면 로그인이 될 것이다.
DB 계정과 비밀번호는 제대로 되었는가?
서버를 이전하면서 이전되기 전의 DB 설정을 사용하는 경우에도 로그인이 되지 않을 수 있다. 이 경우에는 로그인 이전에 index 페이지 자체가 정상적으로 출력되지 않을 것이다.
기타
그 외에도 config.php 파일에 커스텀 설정이 많이 들어있는 경우에 서버를 이전하면서 호환되지 않는 설정이 남아있을 수 있다.
예를 들어 세션 폴더 경로를 수정했다거나 하면 수정된 폴더가 존재하는지, 권한은 제대로 설정되어 있는지를 다시 점검해줘야 한다.