그누보드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 설정입니다.
또한, 관리자 페이지의 회원 관련 내용도 살펴보아야 할 것 같구요....
이러한 부분은 모두 설치한 후 각각 어떻게 작동하는 지 상황을 보면서 적절히 수정하셔야 할 것 같네요....
!-->