[아빠창고/Computer] - 2009. 8. 13. 23:19  by 사가아빠

몇날 며칠에 걸쳐 이전 홈페이지(제로보드)에서 데이터 이전 작업을 했습니다.


굳이 이전을 할려고 한것은 서버 관리의 어려움도 있고 호스팅 업체에서도 PHP나 MySQL의 업데이트를 쉽게 할 수 없다는 문제점도 있습니다.

서버를 나 혼자만 쓰는 것이 아니라 여러명의 사용자가 쓰고 있어서 쉽게 버전업을 할 수 없다고 합니다.

테터 1.8이후 버전부터는  PHP5.2/MySQL4.1 만 지원한다고 하는데 역시 서버가 안따라주는군요.


어쨌든 하루종일 매달린것은 아니고 짬 나는 대로 하긴 했는데 스트레스가 장난이 아니었습니다.

테터홈페이지에 소개된 몇가지 이전 방법을 사용해 봤는데 결국 가능한 것은 한가지 였습니다.

 

데이터 이전 방법은 텍스트큐브공식블로그에 자세히 소개되어 있습니다.

문제는 제로보드의 데이터를 가져오는것이 문제였습니다.

 

제로보드 데이터를 테터로 가져오는 방법은 textcube.org(Needlworks) 에 있습니다.



여기서 처음으로 선택한 방법은 VentiAmericano 의 방법이었습니다.

이 방법은 현재의 테터버전(1.7.6)으로 가능했고 플러그인을 사용한 간단한 방법이었기에 선택했는데 결정적으로 내 홈피에는 적용이 안되는것인지 결국 완성하지 못했습니다.

제로보드의 테이블과 글목록까지 인식하는데 마지막 단계에서 글을 가져오지 못하는 에러를 발생하더군요.


Step2 단계에서 이렇게 게시판이 글 갯수등을 정상적으로 불러옵니다.



그렇지만 마지막 단계에서 변환할 게시물이 없다는 메세지와 함게 변환을 실패했습니다.

여러번 시도하고 질문까지 올렸으나 답변을 못 듣고 결국 포기하고 다른 방법을 시도했습니다.

(하지만 여전히 시도를 하고 있습니다. 방명록의 댓글은 쉽게 포기가 되지 않네요)



 

다른 방법으로 시도한 것이 POMODORO(웅파님)의 방법이었습니다.

이 방법의 단점은 테터 버전을 1.0.2부터 시작해야 한다는 것입니다.

웅파님 블로그에 자세히 소개되어 있지만 테터 버전을 1.0.2로 다운그레이드 한 후 제로보드 데이터를 import한 후 다시 테터를 단계별로 업데이트를 한 후 백업을 해야 합니다.

결국 이 방법으로 완벽하지는 않지만 방명록을 빼곤 만족할만큼 성공했습니다.

 

방명록의 경우 1.0.2버전은 댓글을 지원하지 않습니다.

그래서 나타나는 문제가 제로보드에 있던 댓글들이 엉뚱한 포스트에 가서 붙는다는 것입니다.

연관글(entry)과 일치하는 포스트가 있으면 그 글에 붙는 현상이 나타난거죠.

그래서 PHPmyAdmin으로 DB접속을 해서 연관글이 있는 댓글을 모두 삭제한 후 해결했습니다.

댓글이 있는 제로보드를 방명록으로 가져올 경우 테터 1.0.2의 방명록은 댓글지원을 하지 않으므로 댓글을 포기해야 합니다.

 

또 다른 문제는 일부 포스트에 숫자형 지역로그가 생성된다는 것입니다.

이 문제의 원인은 알 수 없었으나 결국 해결하지 못하고 일일이 해당 포스트를 수정을 해서 지역로그를 지워주는 것으로 해결을 했습니다.

 

 

한가지 더 한글 지원 문제는 어떻게 해결할 방법이 없더군요.

테터는 UTF-8을 지원하는데 쓰던 제로보드가 지원을 하지 않아서 그런지 일부 문자와 일부 댓글이름이 깨져서 나오더군요.

 

결국 수십번을 다운그레이드 업그레이드를 반복한 후 겨우 마칠 수 있었습니다. 방명록의 댓글은 포기한 상태로….



XML 파일을 그대로 복원하면 원래 있던 글을 지우고 복원합니다.

현재 글을 놔둔 상태에서 복원할려면 XML 파일을 열어서(UTF-8를 지원하는 에디터) 상단의 <blog type="tattertools/1.0" migrational="false"> 를 <blog type="tattertools/1.0" migrational="true"> 로 바꿔서 저장하신 후에 복원하시면 됩니다.

<참고>cirrus의 파란하늘