Extra Form
PHP PHP 7.2
CMS Rhymix 2.0

앞서 올린 글에서 로그인 풀림 현상을 해결하려다 files 폴더를 잘 못 지웠던 것은 다행히 호스팅 업체에서 복구해 주어서 해결이 되었습니다. 

 

그런데, 메인페이지가 심하게 느려지고, 앞서 올려두었던 썸네일이 모두 사라져 있길래 이상해서 새로 글을 써보니 새로 쓴 글도 썸네일이 생기지 않아서...

 

메인페이지를 수정하려고 하니 아래와 같은 메시지가 뜨면서 또 로그인이 풀리는 현상이 발생했습니다. 

 

Main4.png

 

앞서 files 폴더 지웠다가... 간이 콩알만해져서 혹시나 해결 방법이 있는지 여쭤봅니다. 

 

호스팅 업체에는 앞의 사건이 있기 전에 문의했을 때는 서버에는 문제가 없으니 설치된 모듈이나 위젯 문제일 꺼라고 하는데, 어떻게 해야 할 지 난감한 상황입니다. 

 

앞서 검색했던 자료들을 보니 phpinfo로 session.save_path 확인해서 해당 폴더를 만들면 된다는 부분이 있어서 확인하니 제 php info는 이렇게 나옵니다. 

Main5.png

2년동안 관리하면서 이런 일이 한번도 없었는데...

오늘 아침에 메인페이지 위젯을 "XET Content 위젯"으로 바꾼 것 말고는 크게 손 댄 것이 없는데...

혹시 그것 때문일까요? 우선 로그인이 안되기 때문에 그것을 어떻게 해결해야 할 지가 관건이 될 것 같습니다.

 

추가 필요한 내용이 있다면 요청해 주시면 더 첨가하겠습니다. ㅜㅜ

  • profile

    세션이 제대로 저장되지 않고 있는 것이 문제의 원인인 것은 맞는 듯 합니다.

     

    XE나 라이믹스는 사이트 내에 세션 데이터를 저장하는 폴더가 따로 없습니다. 그누보드가 그런 허술한 짓을 했다가 얼마 전 보안취약점으로 몸살을 앓았지요. 세션 데이터를 어디에 저장할지는 호스팅 업체의 서버 관리자가 판단해야 할 부분이고, 라이믹스는 그 판단을 존중합니다. /var/lib/php/session은 나름 많이 사용하는 기본값 중 하나이며 그 자체로 딱히 문제가 되지는 않습니다. 그러나 서버 환경에 따라서는 세션 파일이 너무 많이 쌓여서 에러가 나거나 opcache가 꼬여서 데이터를 제대로 읽어오지 못하는 등의 버그가 일어나기도 합니다.

     

    물론 호스팅 업체 입장에서는 자기들이 이해할 수도 없고 배워볼 의지도 없는 CMS에 책임을 떠넘기는 것이 가장 쉽기 때문에 디버깅에 도움이 되지는 않을 겁니다. 호스팅 업체 고객센터는 비상시 백업 복원 등 어쩔 수 없는 경우나, 전문가의 진단 결과 호스팅 업체의 책임이라는 명백한 증거가 확보된 경우에만 연락하는 것이 좋습니다.

     

    세션 저장 문제에 대해 호스팅 업체에 의존하지 않고 실마리를 찾으려면 files/config/config.php에서 session 항목 아래의 use_db 설정을 false에서 true로 바꿔 보세요. 만약 이것으로 문제가 해결된다면 빼박 서버 문제입니다. 물론 이 상태로 계속 두는 것은 추천하지 않습니다. 일단 로그인해서 아래의 단계를 밟기 위한 임시조치로 소개해 드리는 거예요.

     

    만약 위의 방법으로 로그인에 성공하신다면 1) 캐시파일 재생성 2) 서버 환경 표시 화면 맨 아래에 있는 opcache_reset 클릭까지 해서 예전 캐시의 흔적을 확실하게 날려버리시기 바랍니다. (만약 캐시와 관련된 문제라면 한숨 자고 일어나면 저절로 해결되기도 합니다...)

     

    특정한 위젯이나 애드온 등이 의심된다면 일단 그 자료를 FTP에서 삭제해 버리는 것이 가장 간단한 방법입니다. 문제를 해결한 후에 다시 업로드하면 그만이니까요.

  • profile profile
    감사합니다. 어제 이른 새벽에는 갑자기 또 로그인이 되다가...오늘 아침에는 또 로그인이 안되네요.
    지금 잠깐 외출해야 해서...갔다와서 기진곰님이 알려주신대로 use-db 설정 변경해 보고 답변 드리겠습니다.
  • profile profile

    config.php 파일이 수정이 되지 않습니다. 파일권한은 644로 되어 있고, 권한 변경이 되지 않습니다.
    수정해서 올려도 대상 파일이 이미 존재한다는 메시지만 뜨고, 파일 변경이 되지 않습니다.
    메인페이지에 문제였을 수도 있을 위젯은 FileZilla로 삭제했는데, 메인 페이지의 위젯만 사라지고, 로그인이 되지 않는 현상은 동일합니다.

  • profile profile

    파일 소유권이 님 계정이 아닌 웹서버 계정으로 되어 있는 모양이네요.

    index.php가 있는 사이트 메인 폴더에 fix.php라는 파일을 하나 더 만드셔서 아래의 내용을 넣고 브라우저에서 열어 보세요. (파일명은 달라도 상관없습니다.)


    <?php chmod(__DIR__.'/files/config/config.php', 0777); ?>


    브라우저에서 열면 백지가 나오는 것이 정상이고, 실행 후에는 config.php 파일의 퍼미션이 777로 바뀌어서 변경이 가능하게 될 것입니다.

     

    그 밖에도 백업을 복원하면서 소유권이나 퍼미션이 잘못 지정된 파일이나 폴더가 있다면 여기저기 오작동하는 것도 이해가 되고, 홈페이지 로딩이 무척 느린 것도 설명이 되는 것 같습니다.

  • profile profile
    fix.php 파일을 만들어서 올리고, 브라우저에서 여니까 백지가 나왔습니다.
    하지만, config.php 파일의 퍼미션은 여전히 644인 상황입니다.
    소유자/그룹 root root 라고 되어 있습니다.
  • profile profile

    아... 웹서버 유저(apache, www-data, nobody 등)도 아니고 서버 관리자(root) 소유로 되어 있다면 백업 복원을 잘못 한 겁니다. 고객 권한으로는 무슨 짓을 해도 수정이 불가능할 테니 호스팅 업체에 수정 요청하셔야 합니다.

  • profile profile
    ㅜㅜ 네, 감사합니다. 수정요청하겠습니다.
  • profile profile
    호스팅 업체에 요청해서 files 권한을 변경하고, use_db를 true로 변경해서 로그인에 성공했습니다.
    캐쉬파일 재생성하고, opcache_reset 까지 실시하였습니다.

    files 퍼미션은 707 정도로 변경하고 있습니다.
    기진곰님 덕분에 잘 해결되었습니다. 감사합니다.