제로보드 변환 (게시판, 그룹, 회원) 정보
제로보드 변환 (게시판, 그룹, 회원)첨부파일
본문
제가 사용한 방법입니다.
이곳에 있는 파일들을 이용했고 조금씩 수정했습니다.
1. 그누보드 설치
- 그누보드 설치후 첨부파일을 그누보드를 설치한 디렉토리에 압축을 푼다.
2. converter/zb4_config.php 수정
- 경로 수정
3. http://URL/gnuboard/adm/ 로그인
4. 회원데이터변환
- http://URL/gnuboard/converter/zb4_member.php
5. 회원그룹변환
- http://URL/gnuboard/converter/zb4_group.php
- 변환시 아래와 같은 권한 문제가 생길 경우 소스 수정
...
LOCK TABLES zetyx_member_table READ, g4_group_member WRITE
1044 : Access denied for user 'xxxx'@'localhost' to database 'XXXX'
error file : /gnuboard/converter/zb4_group_update.php
...
- converter/zb4_group_update.php [line: 36], 다음과 같이 주석처리
...
//// for performance.
//$sql = "LOCK TABLES zetyx_member_table READ, g4_group_member WRITE";
//sql_query($sql);
...
//$sql = "UNLOCK TABLES";
//sql_query($sql);
6. 게시판 일괄 생성
- http://URL/gnuboard/converter/zb4_board_make_all.php
- 게시판에 대한 세부 설정은 변환후 개별 설정해야 한다. (다음 사항만 이전됨)
- 권한('list', 'view', 'write', 'reply', 'comment', 'html')
- 기타설정 ('secret', 'showip')
- 그룹([5]에서 변환된 그룹만!)
- 게시판 이름
7. 게시판 내용 변환
- http://URL/gnuboard/converter/zb4_board.php
- 제로보드 테이블과 그누보드 테이블을 선택하여 [변환]
- 모든 게시판 변환할 때까지 반복!
댓글 전체
덕분에 잘 변환하였습니다.
작업중 몇 가지 문제점에 대한 해결안을 공유합니다.
1. 타 서버로부터 첨부파일들을 FTP, SCP를 이용하여 새로운 서버로 이전할 경우 한글깨짐현상.
일반적으로 Linux서버는 시스템 기본이 UTF8로 되어있어서 다른서버에서 한글로 된 첨부파일들을 카피해올 경우 한글이름들이 깨집니다.
파일이름들이 깨지다보니 제로보드 폴더에서 그누보드 폴더로 파일들의 이전 및 변환 또한 불가능하게 됩니다. 당연히 파일의 크기도 가져올 수 없겠지요. 쉽게말해 파일을 읽지 못하게 됩니다.
서버를 직접 운영하거나 접근 권한이 있을 경우 아래 방법으로 간단히 해결할 수 있습니다.
convmv 사용.
레드헷 기반이라면 yum으로 인스톨하면 됩니다.
convmv --notest -f euckr -t utf8 -r '폴더이름'
'폴더이름' 안에 있는 모든 파일 중 euckr로 된 (깨져서 보이는) 파일 및 폴더들을 utf8로 바꿔줍니다.
따라서 한글이름으로된 모든 첨부파일들의 변환 시에 아무 문제가 생기지 않습니다.
2. 제로보드를 사용했다면 거의 패스워드 비트수가 다를 겁니다. 따라서, 멤버를 변환해도 로그인이 안될 수 있습니다.
아래 함수를 하나 추가합니다. (/extend 폴더안에 아무 php 파일 하나 만들어서 넣으면 됩니다.)
function sql_old_password($value)
{
$row = sql_fetch(" select old_password('$value') as pass ");
return $row[pass];
}
그리고...
/bbs/login_check.php의 아래부분을
if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password])) {
alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");
}
이렇게 바꿉니다.
if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password])) {
if (sql_old_password($mb_password) != $mb[mb_password]) { // 기존 제로보드 아이디 로그인을 위해 추가함.
alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");
}
}
이상입니다.
잘 사용하였습니다.
감사합니다.
function sql_old_password($value)
{
$row = sql_fetch(" select old_password('$value') as pass ");
return $row[pass];
}
이 함수를 제가 php로 만들어서 /extend 이 폴더에 넣어도 안되는데
혹시 이유를 알 수 없을까요 ? ? ?
에러가 나오는데요... ㅠㅠ
다른 디비인경우 어떻게 해야 하나요?
둘다 같은 디비에 있어야만 이전이 가능합니다.
$zbdb=mysql_connect('localhost', '아이디', '패스워드');
mysql_select_db('디비명', $zbdb);
위와같은 코드를 각 쿼리가 일어나는 페이지마다.. 혹은 common.php에 삽입하신 후에..
제로보드에서 읽어오는 쿼리에는 다음과같이...
sql_query($query)라고 된 부분을 sql_query($query, $zbdb)
이렇게 수정해주시면 DB가 달라도 이전이 됩니다.
그래서 converter에 포함된 php 파일들을 EditPlus 같은데서 열어서 모든 "from zetyx_"로 시작하는 문구를 찾아서 "from DB명.zetyx_"로 바꿔주는 방법입니다.
Warning: chmod(): No such file or directory in /home2/kuhahat/public_html/gnuboard4/converter/zb4_board_update.php on line 71
Converting 'hirobbs' to 'hirobbs'...
라고 뜨며
마지막줄에
INSERT INTO g4_write_hirobbs SET ca_name = '일반', wr_option = ',,', wr_num = '-313', wr_reply = '', wr_subject = '오호..', wr_content = '드림하트 다시 부활이군요...\'ㅡ\' 이제부터 열심히 생활(?)해야 겠네요..\'ㅡ\' 윽 와보니 막상 할말이 없다는...ㅠ_ㅠ ', wr_link1 = '', wr_link2 = '', wr_hit = '864', wr_good = '0', mb_id = '', wr_password = '0214a41d480d4aad', wr_name = 'silver', wr_email = '*** 개인정보보호를 위한 이메일주소 노출방지 ***', wr_homepage = 'http://우리집은 페이지가 아닙니다...'ㅡ'v', wr_datetime = '2003-07-16 20:48:40', wr_ip = '61.43.37.41', wr_is_comment = 0, wr_comment = '1', wr_1 = '', wr_2 = '', wr_3 = '', wr_4 = '', wr_5 = '', wr_6 = '', wr_7 = '', wr_8 = '', wr_9 = '', wr_10 = ''
1064 : You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'ㅡ'v', wr_datetime = '2003-07-16 20:48:40', wr_ip = '61
error file : /gnuboard4/converter/zb4_board_update.php
등으로 뜨면서 변환이 되질않습니다. 원인을 알수있을가요 ㅠㅠ
감사합니다~ 깔끔하게 옮겨졌어요^^
감사드립니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=187010&page=0&posting=ok&sca=&sfl=&stx=&sst=&sod=&spt=0
다시 되돌리기 위해 회원 삭제하려는데 전혀 반응이 없네요..ㅜㅜ
근데, 희한하게 딱 한 게시판(사진게시판)만 변환이 안돼요.
정확히 말하자면 변환은 되는데, 첨부파일(사진들)이 안옮겨져요..
이거 어떻게 해야 할지 모르겠네요..
제로보드 사용중인 계정에 그누보드 설치하고 컨버터 올리고 수정하는건가요??
자세한 사용법 좀 부탁드립니다.
제로보드 테이블에서 미리 아이디에서 '를 수동으로 없애주었습니다.
위와 같이 따라 해볼려고 하는데 제로보드 4.0은 버전이 낮아서 그누보드4를 함께 설치할 수가 없네요
이럴 경우 어떻게 해야 하나요?
깔쌈하게 변환 완료 했네요 ㅋㅋㅋㅋㅋㅋㅋ
파일도 싹다 잘 넘어왔습니다. 정말로 베리베리 감사 !ㅋㅋㅋㅋㅋㅋ
정말 유용한 컨버터 감사드립니다. 덕분에 그누보드로 쉽게 넘어왔습니다. 강추합니다.^^
덕분에 너무 손쉽게 변환할 수 있었어요. 쪽쪽쪽~!
게시글 옮기는 부분에서. 첨부파일이 2개만 옮겨지는데. 무엇을 설정 을 변경해야 할가요???