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

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

QA

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

답변 1

본문

여러개의 그부보드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를 써서 그런거 같은데 어떻게 해야 할까요
 많이 공부해야 될것같습니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 125,873
© SIRSOFT
현재 페이지 제일 처음으로