팁소스 | 그누보드4에서 그누보드5로 이사하기
페이지 정보
작성자 rimsoft 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일13-12-27 11:18 조회4,297회 댓글0건본문
"DB이전 하지 마세요."
본 내용은 그누보드4기반의 운영중인 홈페이지인 경우에 해당되는 팁으로, 테스트로 진행후 이상없을 시 이전을 하시길 권장드립니다.
그누보드4에서 dtd 버젼인 경우 크게 문제없이 이전이 됩니다만, 그누보드5경우 $g4[path] 변수가 다르게 대체됨과 여러가지 기능과 그에따른 필드가 생성이 됨으로써, 그리 간단치는 않습니다.
하지만, 다행인것은 그누보드5의 개발은 그누보드4를 기반으로 하는 것은 분명히 보이기에 이전이 가능하겠습니다.
1. 운영중 계정에 새로운 폴더(예: g5)를 생성합니다.
2. g5 전체(adm, bbs ,...., _common.php,....)를 g5로 ftp를 통해 복사를 합니다. (폴더 전체(g5-5.0b14)가 아닌 index.php 파일이 포함하는 폴더/파일)
3. g5/data/ 내 아래 내용을 dbconfig.php 파일로 저장하여 올립니다. 단, mysql 정보를 입력해야 합니다.
4. 아래 내용을 파일(임의의 파일명.php)로 저장하여 g5/extend/내 올립니다. (예 : index.php)
페이지가 한번 로딩되면서 필요한 필드를 생성하기 위함입니다.
5. 도메인/g5/ 로 접속합니다.
이렇게 함으로써 기본적으로 이전은 일단, 완료가 됩니다만, 외 필요한 테이빌 및 필드가 충분이 있을 수 있습니다.
그런 경우 테이블이나 필드가 없다는 오류를 띄우게 되며, 당황할 필요없이 이때는 간단히 해당 필드를 위 index.php 파일에 계속 추가하며 생성해 주면 거의 완벽한 이전이 가능할 것입니다. 만약, index.php 파일에 넣어도 안될 경우 common.php 파일 중상쯤에 넣어서 아무페이지나 로딩시켜주면 됩니다.
부가적으로, 기존의 $g4[path]변수가 포함된 페이지를 사용할 경우 아래와 같이 일반적으로 G5_URL상수값을 $g4[path]로 대체하면 가능하겠지만 그누보드5에는 G5_PATH , G5_URL로 분리사용되므로 가급적 수정을 하는 것을 권장드립니다.
config.php 하단부에 추가합니다.
$g4[path]=G5_URL;//$g4[path]가 html내 사용된 경우 적용이 가능하며, include 등이 사용될 경우 에러가 발생합니다.
결론은, 그누보드4는 table prefix 기본 g4_ 입니다. 그누보드5는 g5_ 이지만, g5의 table prefix를 g4로 바꾸고, 기존에 없던 테이블, 필드만 생성하면 이전이 간단히 해결되겠습니다.
도움되시길 바랍니다.
아울러, 그누보드5의 건승을 기원합니다.
본 내용은 그누보드4기반의 운영중인 홈페이지인 경우에 해당되는 팁으로, 테스트로 진행후 이상없을 시 이전을 하시길 권장드립니다.
그누보드4에서 dtd 버젼인 경우 크게 문제없이 이전이 됩니다만, 그누보드5경우 $g4[path] 변수가 다르게 대체됨과 여러가지 기능과 그에따른 필드가 생성이 됨으로써, 그리 간단치는 않습니다.
하지만, 다행인것은 그누보드5의 개발은 그누보드4를 기반으로 하는 것은 분명히 보이기에 이전이 가능하겠습니다.
1. 운영중 계정에 새로운 폴더(예: g5)를 생성합니다.
2. g5 전체(adm, bbs ,...., _common.php,....)를 g5로 ftp를 통해 복사를 합니다. (폴더 전체(g5-5.0b14)가 아닌 index.php 파일이 포함하는 폴더/파일)
3. g5/data/ 내 아래 내용을 dbconfig.php 파일로 저장하여 올립니다. 단, mysql 정보를 입력해야 합니다.
<?php if (!defined('_GNUBOARD_')) exit; define('G5_MYSQL_HOST', 'localhost'); define('G5_MYSQL_USER', '');//mysql id define('G5_MYSQL_PASSWORD', '');//mysql password define('G5_MYSQL_DB', '');//mysql dbname define('G5_TABLE_PREFIX', 'g4_'); $g5['write_prefix'] = G5_TABLE_PREFIX.'write_'; // 게시판 테이블명 접두사 $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['syndi_log_table'] = G5_TABLE_PREFIX.'syndi_log'; // 네이버 신디케이션 컨텐츠 삭제 로그 테이블 $g5['autosave_table'] = G5_TABLE_PREFIX.'autosave'; // 게시글 작성시 일정시간마다 글을 임시 저장하는 테이블 $g5['cert_history_table'] = G5_TABLE_PREFIX.'cert_history'; // 인증내역 테이블 $g5['qa_content_table'] = G5_TABLE_PREFIX.'qa_content';//1:1 내용 $g5['qa_config_table'] = G5_TABLE_PREFIX.'qa_config';//1:1 환경 ?>
4. 아래 내용을 파일(임의의 파일명.php)로 저장하여 g5/extend/내 올립니다. (예 : index.php)
페이지가 한번 로딩되면서 필요한 필드를 생성하기 위함입니다.
sql_query("alter table $g5[group_table] add `gr_show_menu` tinyint(4) NOT NULL default '0' ", false); sql_query("alter table $g5[group_table] add `gr_device` ENUM('both','pc','mobile') NOT NULL DEFAULT 'both' ", false); sql_query("alter table $g5[group_table] add `gr_order` int(11) NOT NULL default '0'", false); sql_query("alter table $g5[board_table] add `bo_mobile_subject` varchar(255) NOT NULL DEFAULT ''", false); sql_query("alter table $g5[board_table] add `bo_device` enum('both','pc','mobile') NOT NULL DEFAULT 'both'", false); sql_query("alter table $g5[board_table] add `bo_order` int(11) NOT NULL DEFAULT '0'", false); sql_query("alter table $g5[board_table] add `bo_show_menu` tinyint(4) NOT NULL DEFAULT '0'", false); sql_query("alter table $g5[point_table] add `po_use_point` int(11) NOT NULL default '0'", false); sql_query("alter table $g5[point_table] add `po_mb_point` int(11) NOT NULL default '0'", false); sql_query("alter table $g5[point_table] add `po_expired` tinyint(4) NOT NULL default '0'", false); sql_query("alter table $g5[point_table] add `po_expire_date` date NOT NULL default '0000-00-00'", false); sql_query("alter table $g5[point_table] add KEY `index2` (`po_expire_date`)", false); sql_query(" CREATE TABLE IF NOT EXISTS $g5[qa_config_table] ( `qa_title` varchar(255) NOT NULL DEFAULT'', `qa_category` varchar(255) NOT NULL DEFAULT'', `qa_skin` varchar(255) NOT NULL DEFAULT '', `qa_mobile_skin` varchar(255) NOT NULL DEFAULT '', `qa_use_email` tinyint(4) NOT NULL DEFAULT '0', `qa_req_email` tinyint(4) NOT NULL DEFAULT '0', `qa_use_hp` tinyint(4) NOT NULL DEFAULT '0', `qa_req_hp` tinyint(4) NOT NULL DEFAULT '0', `qa_use_sms` tinyint(4) NOT NULL DEFAULT '0', `qa_send_number` varchar(255) NOT NULL DEFAULT '0', `qa_admin_hp` varchar(255) NOT NULL DEFAULT '', `qa_use_editor` tinyint(4) NOT NULL DEFAULT '0', `qa_subject_len` int(11) NOT NULL DEFAULT '0', `qa_mobile_subject_len` int(11) NOT NULL DEFAULT '0', `qa_page_rows` int(11) NOT NULL DEFAULT '0', `qa_mobile_page_rows` int(11) NOT NULL DEFAULT '0', `qa_image_width` int(11) NOT NULL DEFAULT '0', `qa_upload_size` int(11) NOT NULL DEFAULT '0', `qa_insert_content` text NOT NULL, `qa_1_subj` varchar(255) NOT NULL DEFAULT '', `qa_2_subj` varchar(255) NOT NULL DEFAULT '', `qa_3_subj` varchar(255) NOT NULL DEFAULT '', `qa_4_subj` varchar(255) NOT NULL DEFAULT '', `qa_5_subj` varchar(255) NOT NULL DEFAULT '', `qa_1` varchar(255) NOT NULL DEFAULT '', `qa_2` varchar(255) NOT NULL DEFAULT '', `qa_3` varchar(255) NOT NULL DEFAULT '', `qa_4` varchar(255) NOT NULL DEFAULT '', `qa_5` varchar(255) NOT NULL DEFAULT '' ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ", false); sql_query(" CREATE TABLE IF NOT EXISTS $g5[qa_content_table] ( `qa_id` int(11) NOT NULL AUTO_INCREMENT, `qa_num` int(11) NOT NULL DEFAULT '0', `qa_parent` int(11) NOT NULL DEFAULT '0', `qa_related` int(11) NOT NULL DEFAULT '0', `mb_id` varchar(20) NOT NULL DEFAULT '', `qa_name` varchar(255) NOT NULL DEFAULT '', `qa_email` varchar(255) NOT NULL DEFAULT '', `qa_hp` varchar(255) NOT NULL DEFAULT '', `qa_type` tinyint(4) NOT NULL DEFAULT '0', `qa_category` varchar(255) NOT NULL DEFAULT '', `qa_email_recv` tinyint(4) NOT NULL DEFAULT '0', `qa_sms_recv` tinyint(4) NOT NULL DEFAULT '0', `qa_html` tinyint(4) NOT NULL DEFAULT '0', `qa_subject` varchar(255) NOT NULL DEFAULT '', `qa_content` text NOT NULL, `qa_status` tinyint(4) NOT NULL DEFAULT '0', `qa_file1` varchar(255) NOT NULL DEFAULT '', `qa_source1` varchar(255) NOT NULL DEFAULT '', `qa_file2` varchar(255) NOT NULL DEFAULT '', `qa_source2` varchar(255) NOT NULL DEFAULT '', `qa_ip` varchar(255) NOT NULL DEFAULT '', `qa_datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `qa_1` varchar(255) NOT NULL DEFAULT '', `qa_2` varchar(255) NOT NULL DEFAULT '', `qa_3` varchar(255) NOT NULL DEFAULT '', `qa_4` varchar(255) NOT NULL DEFAULT '', `qa_5` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`qa_id`), KEY `qa_num_parent` (`qa_num`,`qa_parent`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ", false); sql_query(" CREATE TABLE IF NOT EXISTS ".$g5['uniqid_table']." ( `uq_id` bigint(20) unsigned NOT NULL, `uq_ip` varchar(255) NOT NULL, PRIMARY KEY (`uq_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ", false); sql_query(" CREATE TABLE IF NOT EXISTS ".$g5['syndi_log_table']." ( `content_id` int(11) NOT NULL, `bbs_id` varchar(50) NOT NULL, `title` text NOT NULL, `link_alternative` varchar(250) NOT NULL, `delete_date` varchar(14) NOT NULL, PRIMARY KEY (`content_id`,`bbs_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ", false); sql_query(" CREATE TABLE IF NOT EXISTS ".$g5['autosave_table']." ( `as_id` int(11) NOT NULL AUTO_INCREMENT, `mb_id` varchar(20) NOT NULL, `as_uid` bigint(20) unsigned NOT NULL, `as_subject` varchar(255) NOT NULL, `as_content` text NOT NULL, `as_datetime` datetime NOT NULL, PRIMARY KEY (`as_id`), UNIQUE KEY `as_uid` (`as_uid`), KEY `mb_id` (`mb_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ", false);
5. 도메인/g5/ 로 접속합니다.
이렇게 함으로써 기본적으로 이전은 일단, 완료가 됩니다만, 외 필요한 테이빌 및 필드가 충분이 있을 수 있습니다.
그런 경우 테이블이나 필드가 없다는 오류를 띄우게 되며, 당황할 필요없이 이때는 간단히 해당 필드를 위 index.php 파일에 계속 추가하며 생성해 주면 거의 완벽한 이전이 가능할 것입니다. 만약, index.php 파일에 넣어도 안될 경우 common.php 파일 중상쯤에 넣어서 아무페이지나 로딩시켜주면 됩니다.
부가적으로, 기존의 $g4[path]변수가 포함된 페이지를 사용할 경우 아래와 같이 일반적으로 G5_URL상수값을 $g4[path]로 대체하면 가능하겠지만 그누보드5에는 G5_PATH , G5_URL로 분리사용되므로 가급적 수정을 하는 것을 권장드립니다.
config.php 하단부에 추가합니다.
$g4[path]=G5_URL;//$g4[path]가 html내 사용된 경우 적용이 가능하며, include 등이 사용될 경우 에러가 발생합니다.
결론은, 그누보드4는 table prefix 기본 g4_ 입니다. 그누보드5는 g5_ 이지만, g5의 table prefix를 g4로 바꾸고, 기존에 없던 테이블, 필드만 생성하면 이전이 간단히 해결되겠습니다.
도움되시길 바랍니다.
아울러, 그누보드5의 건승을 기원합니다.
댓글목록
등록된 댓글이 없습니다.