그누보드2013. 12. 27. 18:35
300x250



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");
?>


300x250
Posted by 마스타