그누보드 여러개 설치 후 세션공유

그누보드 여러개 설치 후 세션공유

QA

그누보드 여러개 설치 후 세션공유

본문

안녕하세요 

글을 찾아보기는 햇는데 명확한 답변이 없어 질문드립니다.


현재  하나의 서버에 대표 도메인 aaa.com 을 두고 있습니다.


그리고 vhost로 5개의 계정을 추가로 만들어서 blog.aaa.com  shop.aaa.com  ccc.aaa.com ... 으로 계정을 셋팅 해둔상태입니다.


유저의 관리를 효율적으로 하고 하나의 로그인으로 여러개의 사이트로 접근을 할 수 있도록 하기 위해서 ( 각 계정별 별도의 마이페이지가 존재합니다)  login.aaa.com을 하나 만들어서  로그인을 이쪽에서 하고 모든 사이트를 이용할 수 있도록 하려 하는데 어떤 방법이 있을까요? 


2주째 이문제로 골머리를 앓고 있습니다.  phpschool에 게시물도 참조하였으나  잘되지 않아 질문드립니다.




이 질문에 댓글 쓰기 :

답변 5

javascript 에서 cookie.domain 과

php ini 정보에서 session.cookie_domain 이 동일하게 .aaa.com 이면 됩니다.


보통 여기까지 설명만 되어 있어서, 정상으로 설정되어 있는지 확인을 안하고 안된다고 하는 경우가 많습니다. phpinfo() 에서 local variable의 session.cooke_domain 이 맞게 출력되는지 모든 가상호스트 페이지에서 확인하셔야 되구요.

특히 php 에서 session.cooke_domain 을 설정하는 경우는 php.ini에서 session.auto_start 를 끄셔야 합니다.

(세션 경로도 동일해야 합니다. 가상호스트별로 세션 저장소가 다르다면, 다르게 연동 안됩니다.)

명랑님께서 말씀하신것까지는 다 확인하였고 수정하였습니다.   그런데 세션경로를 동일하게 한다는 말씀과 방법을 알려주시면 좋겟습니다.


일단 모든 계정은 그누보드 설치 되어있습니다.   각 계정의 홈디렉토리는 /home/계정명/html/data/session  으로 되어있습니다.  모든 계정의 session이 하나의 폴더에 모일수 있도록 하기 위해서 어떤조치를 해야하는지 알려주시면 감사하겠습니다.


참고로 login.domain.co.kr에서 모든 로그인 처리를 하려고 합니다. 

common.php 에서 session_save_path(G5_SESSION_PATH); 설정이 모든 서브 도메인 사이트에 동일하게 들어가면 됩니다.

각 도메인에 phpinfo() 의 session.save_path 값이 동일한지를 체크.(주의 : _common.php가 include 된후에 phpinfo() 를 실행하셔야 합니다.)

동일하게 하기 위해선 위의 설정값을 변경하면 됩니다.
그리고 일고쓰기권한이 있어야 함으로  해당 디렉토리의 퍼미션을 chmod 666 으로 지정하시면 됩니다.
(참고로 세션디렉토리의 기본값은 /tmp 입니다. php.ini 에서 이걸로 되어 있다면, common.php 에서 해당코드를 주석처리하시면 됩니다. 별도로 설정하셔도 됩니다. 꼭 chmod 로 쓰기권한을 주세요.)

일단 모든계정의 session.save_path를 확인해본결과 /home/계정명/html/data/session 으로 확인되었습니다.
이럴 경우 타계정에서는 접근이 안되는것이 아닌지요 ?  어떤식으로 session.save_path  통일 시켜야하는지 타계정애서는 어떻게 접근해야하는지 알고 싶습니다.

위의 말씀대로 /tmp 처럼 서버내  일정한 폴더에  저장을 해야하는건지 php.ini에서 세션저장값은 주석처리 되어 있습니다.

다시 정리를 하자면

1. 각계정의  session_save_path(G5_SESSION_PATH)는 주석처리
2. php.ini의 세션 저장 정보 주석처리 풀기
3. php.ini에서 설정한 폴더에 대한 권한을 666으로 변경
4.phpinfo 에서 세션저장폴더가 값이 동일 한지  확인
  -                  Local Value Master Value
session_save_path      no value        /tmp

이렇게 나오는게 맞는지요?

홈계정 디렉토리는 타계정에서 접근이 되면 당연히 안되는 거죠.(물론 계정 관리자가 한명이겠지만요.)

세션 디렉토리를 하나로 통일하시고, 디렉토리 퍼미션을 666 으로 주시면 됩니다.

 

현재 세션은  특정폴더에 모두 저장을 하도록 설정하였습니다.

글런데 세션에 대한 공유는 되지 않고 여러개의 세션을 불러버리는 경우가 생겼네요

 

간절히 도움을 요청드립니다.

 

현재 작업

 

도메인은 php.ini 에서 .domain.co.kr 로  수정   

session.save_path    common.php파일에서 주석 처리

..

session.save_path /var/lib/php/session

/var/lib/php/session

PHPSESSIONID 의 Domain 이 문제가 있어 보이네요. .domain.co.kr 로 통일되게 나와야 할텐데요.

session.save_path 문제가 아니라 쿠키도메인의 문제입니다.  document.domain 과 session.cookie_domain 을 보셔야 할것 같습니다.

헉!! 갑자기 되기 시작하네요 . 명랑폐인님 감사합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 126,750 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT