그누보드 환경 웹사이트에서 로그인이 안될 경우

Yeeees, I can!·2022년 9월 20일
0

얼마전 웹사이트 로그인시 이상증상이 있었습니다.
로그인은 가능했으나 세션체크시 권한이 없다는 경고메시지를 뿌리는 상황이었습니다.
단순 세션 생성 경로의 소유권 문제로 보고, 아파치 소유권으로 권한변경을 해주었으나, 동일했습니다.

drwxr-xr-x   daemon           daemon              6 2022-07-21 16:28 session
위 처럼 소유권도 변경했으나, 실제 세션경로엔 쌓이지 않았습니다.
그걸로 인해, 그누보드의 로그인 체크 소스들이, 정상작동하지 않는 문제가 발생하였습니다.
(로그인체크시 세션파일의 권한등을 체크하는걸로 확인)

그래서, 임시 경로 /tmp 쪽을 살펴보았습니다.

-rw------- 1 daemon           daemon             17 2022-09-16 16:18 sess_oom5c5ok8hrnsc9b9apsg1v1a1
-rw------- 1 daemon           daemon             17 2022-09-16 16:19 sess_hb76md5plnkke2loghot8qdg1r
-rw------- 1 daemon           daemon            242 2022-09-16 16:19 sess_glc4gsn4nrt2j6n5cmifp47vl1

세션파일들이 생성되어 있는부분 확인이 되었습니다.
그리고 로그인체크를 진행하는 php파일은, 세션파일 체크 경로가
웹데이터 경로(예를들어 : /home/web/data/session)를 검사하도록 설정이 되어있습니다.
이로인해, 로그인체크가 정상 작동을 하지 않았다는점을 알게되었습니다.

php.ini쪽에 세션생성 경로를(session_save path) "/home/web/data/session" 지정하여,
다시 한번 테스트 진행시, 로그인체크 기능이 정상작동됨을 확인하였습니다.
웹소스 수정시, 세션경로에 대한 지정은 하였으나 어플리케이션 환경설정에 대해선 생각하지 못한것으로 보입니다.🙊

추가로 그누보드 common.php파일을 확인해보았으며,
해당 파일엔 기본적인 세션경로를 기본경로로 할것인지, 지정경로로 할것인지에 대한 정의가 있었습니다.

session_save_path(G5_SESSION_PATH); <<주석처리되어 있을 경우, /tmp로 지정됩니다.
세션경로를 다른곳으로 하는경우 주석해제하셔야 합니다.

※정리
그누보드 환경에서 세션경로를 지정하여 사용하는 경우, 세션 권한 문제로 로그인이 되지 않을땐 다음의 상태를 꼭 확인해주셔야 합니다.

  • 세션 저장 경로의 권한이 이상이 없는지.
    ->아파치 daemon권한인지 확인!
  • 그누보드에 session_save_path 부분을 주석해제하였는지
  • 실제 세션저장경로에 세션파일이 잘 생성되는지.
profile
그동안 경험 및 공부하면서 얻은 지식을 써놓은 블로그입니다~

0개의 댓글