g4 에서 g5 로의 업그레이드를
이제는 그누보드5 가 공식적으로 지원한다.
http://sir.co.kr/g5_tip/2542
====
그누보드 g5 버전이 출시된 이후로, 영카트5 도 출시하였고 안정화 단계로 접어드는 것으로 보인다.
이에 따라 g4 버전을 사용중인 분들이 g5 로의 이전을 많이 원하고 있는 상황에서 해당 메뉴얼을 만들어 본다.
<< 주의 >>
아래 내용은 본인의 서버환경에 따른 메뉴얼이며, 모든 환경에 적용되지는 않습니다.
작업전에 모든 디비 및 소스를 백업을 받아 놓고 작업하시기 바랍니다.
이전 작업시 발생하는 문제는 책임지지 않습니다. ^^
0. 기본환경 전제조건 및 제약사항
- 기존 소스 환경은 그누보드4 소스이며, 디비의 접두어는 g4_ 를 사용하고 있다.
- 신규 소스 환경은 그누보드5 소스이며, 디비의 접두어는 g4_ 를 그대로 사용한다.
- g5 의 기본 소스로의 변환이므로, 빌더나 스킨의 변환 적용 등은 논외로 한다.
- 디비는 utf-8 로 되었다고 가정하고, euc-kr 일 경우 utf-8 로의 변환은 별도로 다루지 않는다.
- 디비 접두어를 g4_ 를 그대로 쓰는 것의 장점은 그누보드4 소스에서도 그대로 디비에 접근하여 사용할 수 있다는 것이다.
그래서 여차하면, 그누보드4 로 되돌아 갈 수 있다. ^^
1. g5 신규 설치.
- 새 사이트나 새 폴더를 추가하여 g5 소스로 g5 를 신규로 설치한다.
- g5 가 설치되어 있지 않다고 가정하고, 테이블 접두어는 g5_ 로 설치한다.
- MySQL 정보와 최고관리자 정보, 즉, admin 의 비밀번호, 디비명, 디비계정, 디비비번 등은 g4 의 정보와 같게 세팅한다.
2. data 폴더 복사
- 중복되는 폴더명이 있으나, 덮어쓰면 될 듯 하다.
- 깔끔한 이전을 원하면, 폴더를 하나하나 비교해 보면서 필요한 것들만 복사할 수도 있다.
3. data/dbconfig.php 수정 및 추가
- define('G5_TABLE_PREFIX', 'g4_'); => 이렇게 접두어 g5_ 를 g4_ 로 변경한다.
4. g5 관리자 페이지 접속하여 디비 테이블 업데이트하기
- 웹브라우저에서 {g5설치폴더}/adm/ 으로 접속하여 관리자 페이지로 들어같다
- 관리자페이지 > 환경설정 > 기본환경설정 으로 가면, 디비 테이블이 업데이트 된다.
- 기본환경설정 페이지에서 디비 에러가 날 경우 새로고침을 해 몇번 해 주자.. ^^
- 관리자페이지 > 관리자정보
- 관리자페이지 > 게시판관리 > 게시판추가
- 관리자페이지 > 게시판그룹관리 > 게시판그룹추가
- 관리자페이지 > 1:1문의설정
- 위 메뉴들을 순서대로 하나씩 들어가면, 관련 디비 테이블에 필드가 추가가 된다.
5. 추가적인 디비 테이블 업데이트 작업
- 아래 8 의 소스를 adm 폴더에 넣고, 브라우저에서 호출한다.
- 해당 소스는 g5 에서 추가된 필드 중 위4에서 자동 추가되지 않는 필드들을 추가해 주는 소스이다.
6. 관리자페이지 > 기본환경설정 업데이트하기
- 관리자페이지 > 기본환경설정 화면에서 값을 저장하여, 필수 데이터들의 기본값을 업데이트 한다.
7. 게시판들의 스킨을 basic 으로 변경
- g5 에서 기본 제공되는 스킨은 basic 과 gallery 두가지 뿐이다. 게시판들의 스킨을 이 둘중 하나로 변경한다.
8. 디비 테이블 업그레이드 스크립트
<?
$sub_menu = "100600";
include_once("./_common.php");
check_demo();
if ($is_admin != "super")
alert("최고관리자만 접근 가능합니다.", $g5[path]);
$g5[title] = "업그레이드";
include_once("./admin.head.php");
// config 테이블 필드 추가
sql_query(" ALTER TABLE `{$g5['config_table']}` ADD `cf_point_term` int(11) NOT NULL DEFAULT '0' AFTER `cf_use_point` ", FALSE);
// point 테이블 필드 추가
sql_query(" ALTER TABLE `{$g5['point_table']}` ADD `po_use_point` int(11) NOT NULL default '0' AFTER `po_point` ", FALSE);
sql_query(" ALTER TABLE `{$g5['point_table']}` ADD `po_expired` tinyint(4) NOT NULL default '0' AFTER `po_use_point` ", FALSE);
sql_query(" ALTER TABLE `{$g5['point_table']}` ADD `po_expire_date` date NOT NULL default '0000-00-00' AFTER `po_expired` ", FALSE);
sql_query(" ALTER TABLE `{$g5['point_table']}` ADD `po_mb_point` int(11) NOT NULL default '0' AFTER `po_expire_date` ", FALSE);
// uniqid 테이블이 없을 경우 생성
if(!sql_query(" DESC {$g5['syndi_log_table']} ", 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`)
) ", false);
}
echo "UPGRADE 완료.";
include_once("./admin.tail.php");
?>