그누보드5 여러개 설치, 회원관련 공유(세션포함)에 대한 질문입니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
그누보드5 여러개 설치, 회원관련 공유(세션포함)에 대한 질문입니다.

QA

그누보드5 여러개 설치, 회원관련 공유(세션포함)에 대한 질문입니다.

본문

여러개의 그부보드5를 하나의 도메인, 호스팅계정, 단일DB에 설치한 후, 회원은 모든 곳에서 공유릃 하고자 합니다.

 

즉,

www.domain.com/  (prefix: g5_) (www/ 또는 public_html/ 에 main용 그누보드5 설치)  

www.domain.com/g5sub1  (prefix: s1g5_)

www.domain.com/g5sub2  (prefix: s2g5_)

         :

         :

와 같이 여러개의 그누보드5를 각가의서브디렉토리에 설치 후 회원(세션포함)만 공유 하려고 합니다.

(공통적으로 공유가 될 table의 prefix는 g5_ (즉, 최상위에 설치된 그누보드5임)로 지정) 

 

이 경우

www.domain.com/  즉, 최 상위에는 메인으로 사용할 그누보드5 설치하여 초기 접속시

www.domain.com/index.php에서 각각 다른 서브디렉토리로 link를 연결하여

www.domain.com/g5sub1/index.php로 분기,

www.domain.com/g5sub2/index.php로 분기,

                 :

와 같이 지정하고 메인에서 처리가 되도록 하구요.

 

질문의 요지는,

dbconfig.php에서 정의한 각종 테이블 중에서 공통적으로 사용하기 위해

변경이 되어야 하는 것이 어떤 테이블들인지요?  

단순 member table만이 아닐 듯 싶어서요.

 

$g5['auth_table'] = G5_TABLE_PREFIX.'auth'; // 관리권한 설정 테이블
$g5['config_table'] = G5_TABLE_PREFIX.'config'; // 기본환경 설정 테이블
$g5['group_table'] = G5_TABLE_PREFIX.'group'; // 게시판 그룹 테이블
$g5['group_member_table'] = G5_TABLE_PREFIX.'group_member'; // 게시판 그룹+회원 테이블
$g5['board_table'] = G5_TABLE_PREFIX.'board'; // 게시판 설정 테이블
$g5['board_file_table'] = G5_TABLE_PREFIX.'board_file'; // 게시판 첨부파일 테이블
$g5['board_good_table'] = G5_TABLE_PREFIX.'board_good'; // 게시물 추천,비추천 테이블
$g5['board_new_table'] = G5_TABLE_PREFIX.'board_new'; // 게시판 새글 테이블
$g5['login_table'] = G5_TABLE_PREFIX.'login'; // 로그인 테이블 (접속자수)
$g5['mail_table'] = G5_TABLE_PREFIX.'mail'; // 회원메일 테이블
$g5['member_table'] = G5_TABLE_PREFIX.'member'; // 회원 테이블
$g5['memo_table'] = G5_TABLE_PREFIX.'memo'; // 메모 테이블
$g5['poll_table'] = G5_TABLE_PREFIX.'poll'; // 투표 테이블
$g5['poll_etc_table'] = G5_TABLE_PREFIX.'poll_etc'; // 투표 기타의견 테이블
$g5['point_table'] = G5_TABLE_PREFIX.'point'; // 포인트 테이블
$g5['popular_table'] = G5_TABLE_PREFIX.'popular'; // 인기검색어 테이블
$g5['scrap_table'] = G5_TABLE_PREFIX.'scrap'; // 게시글 스크랩 테이블
$g5['visit_table'] = G5_TABLE_PREFIX.'visit'; // 방문자 테이블
$g5['visit_sum_table'] = G5_TABLE_PREFIX.'visit_sum'; // 방문자 합계 테이블
$g5['uniqid_table'] = G5_TABLE_PREFIX.'uniqid'; // 유니크한 값을 만드는 테이블
$g5['autosave_table'] = G5_TABLE_PREFIX.'autosave'; // 게시글 작성시 일정시간마다 글을 임시 저장하는 테이블
$g5['cert_history_table'] = G5_TABLE_PREFIX.'cert_history'; // 인증내역 테이블
$g5['qa_config_table'] = G5_TABLE_PREFIX.'qa_config'; // 1:1문의 설정테이블
$g5['qa_content_table'] = G5_TABLE_PREFIX.'qa_content'; // 1:1문의 테이블
$g5['content_table'] = G5_TABLE_PREFIX.'content'; // 내용(컨텐츠)정보 테이블
$g5['faq_table'] = G5_TABLE_PREFIX.'faq'; // 자주하시는 질문 테이블
$g5['faq_master_table'] = G5_TABLE_PREFIX.'faq_master'; // 자주하시는 질문 마스터 테이블
$g5['new_win_table'] = G5_TABLE_PREFIX.'new_win'; // 새창 테이블
$g5['menu_table'] = G5_TABLE_PREFIX.'menu'; // 메뉴관리 테이블

 

또한 세션을 공유하기 위해서는  

common.php의 어느 부분을 회원공유와 관련하여 수정이 되어야 하는지요?

 

질문이 장황하고 혼란스러운 것 같아 죄송합니다.

 

의견 부탁 드립니다.

감사합니다. 

 

이 질문에 댓글 쓰기 :

답변 1

회원만 공유하실 생각이시라면 공통적으로 공유될 테이블은 주로 회원과 관련된 부분을 g5_ 접두어로 지정하면 될 것 같습니다.

예를 들면,

$g5['login_table'] = G5_TABLE_PREFIX.'login'; // 로그인 테이블 (접속자수)
$g5['mail_table'] = G5_TABLE_PREFIX.'mail'; // 회원메일 테이블
$g5['member_table'] = G5_TABLE_PREFIX.'member'; // 회원 테이블
$g5['memo_table'] = G5_TABLE_PREFIX.'memo'; // 메모 테이블
$g5['poll_table'] = G5_TABLE_PREFIX.'poll'; // 투표 테이블
$g5['poll_etc_table'] = G5_TABLE_PREFIX.'poll_etc'; // 투표 기타의견 테이블
$g5['point_table'] = G5_TABLE_PREFIX.'point'; // 포인트 테이블
$g5['scrap_table'] = G5_TABLE_PREFIX.'scrap'; // 게시글 스크랩 테이블
$g5['visit_table'] = G5_TABLE_PREFIX.'visit'; // 방문자 테이블
$g5['visit_sum_table'] = G5_TABLE_PREFIX.'visit_sum'; // 방문자 합계 테이블

이정도 될 텐데, 상황에 따라 더 필요한 부분은 추가하거나 필요없는 부분은 빼야 하겠지요.^^

 

그런데 서브디렉토리에 그누보드를 다른 접두어(s1g5_, s2g5_)로 개별 설치하려면

install 관련 파일(gnuboard5.sql, install_db.php)에서 공통적으로 공유될 테이블에 대한 내용을 지우셔야 할 겁니다.

 

그리고 세션을 공유하기 위해서는  서브디렉토리에 설치된 그누보드의

common.php의 188번째 쯤 라인에 session_save_path(G5_SESSION_PATH); 의 G5_SESSION_PATH를 메인 디렉토리의 세션경로로 수정하면 될 겁니다.


g5sub1 서브디렉토리에 설치된 그누보드의 session_save_path 경로 수정 예시 


//session_save_path(G5_SESSION_PATH); // 이부분 주석처리 후 아래와 같이 추가
$root_path = str_replace('/g5sub1', '', str_replace('\\', '/', dirname(__FILE__)));
session_save_path($root_path.'/data/session'); 

 

이 외에도 좀 더 생각해 보아야 할 부분은 서브디렉토리에 설치된

config.php 파일에서의 path와 url 설정입니다.

또한, 관리자 페이지의 회원 관련 내용도 살펴보아야 할 것 같구요....

 

이러한 부분은 모두 설치한 후 각각 어떻게 작동하는 지 상황을 보면서 적절히 수정하셔야 할 것 같네요....

 

답변 감사합니다.
예상했던 것 이상으로 작업범위가 상당히 크군요.
말씀하신 부분에 대하여 적용해 보고 궁금한 점 다시 질문 드려야겠네요.
고맙습니다.

정말 도움이 많이 되었습니다. 감사합니다.
$root_path = str_replace('/g5sub1', '', str_replace('\\', '/', dirname(__FILE__)));
이부분이 관리자 페이지주소도 변경하는거 같은데 그때문인지 로그인 페이지가 페이지 없음으로 뜹니다...
한글사이트에서는 현재경로/adm 을 붙여주는 str_replace를 써서 그런거 같은데 어떻게 해야 할까요
 많이 공부해야 될것같습니다.

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

회원로그인

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