logo

한국어

컴퓨터교육

오늘:
732
어제:
843
전체:
1,140,317
Since 1999/07/09

평범한 선생님은 말을 하고, 좋은 선생님은 설명을 하며, 뛰어난 선생님은 몸소 보여주고, 위대한 선생님은 영감을 준다

초보의 호스팅 이전(XE->XE)

마을지기 2008.02.10 13:15 조회 수 : 13573

 초보의 호스팅 이전(XE->XE)



마이그레이션 툴을 이용하여 간단하게 백업하기
아래의 링크 참고

http://www.bek.me/?document_srl=211465



아래의 방법은 XE 초기의 방법이었음...


레드맨

2008.01.26 21:28:29


안녕하세요. 한번도 호스팅을 이전해 본적이 없는데 이번에 해봤습니다. -_-;; 그래서 고생깨나 했는데 혹시나 도움되실 분들 있을까봐 과정을 쭉 써볼게요.



여기에는 다음과 같은 것들이 적혀 있습니다.

> utf-8/euc-kr을 지원하는 ftp, 변환기,에디터 등

> phpAdmin으로 백업하고 import하는 방법

> 백업한 DB올릴때 한글깨지는 문제 해결방법

> 백업한 소스 및 DB 수정할 때 주의 사항



[준비물]

- UTF-8을 지원하는 FTP클라이언트 : Filezila 등 --> 이거 없으면 한글이름으로 된 파일은 백업 못합니다. ㅡㅡ;

- UTF-8과 euc-kr 양쪽 모두 변환가능한 유틸리티 : All Converter 등 --> 이전할 곳의 DB의 기본언어셋을 확인하시기 바랍니다. 현재 쓰고 있는 DB와 다를 경우 반드시 필요합니다.

- UTF-8을 지원해주는 에디터 : 드림위버 등 --> 당연히 필요합니다.

참고) 절대 알-FTP를 백업받는데 사용하지 마시기 바랍니다.




[환경]

참고삼아 적는 건데요...

*저의 경우는 XE를 뜯어고친 부분이 너무 많아서 소스를 엎어버리기 싫었구요, 경험담쪽에서 보면 File폴더의 권한문제 때문에 이전하고나서 원래 가지고 있던 File폴더의 파일들을 엎어치지 못하는 문제도 생기는 것 같아서 고민했습니다. 그러다보니 제로님이 만들어주신 마이그레이션 툴은 백업만 해 놓고 정작 쓰지는 못했네요. ㅡㅡ;

*원 소스가 있는 곳의 환경 - Mysql 4.1.6 , phpAdmin 2.6.1, DB기본언어셋: utf-8

*이전할 곳의 시스템 환경 - Mysql 5.0.41, phpAdmin 2.10.3, DB기본언어셋: euc-kr

*양쪽다 ssh지원 안하고 FTP만 지원합니다.


[파일백업순서-Filezila이용]

1. Filezila는 GNU로 무료입니다. 최신버전이 3.x이고 어느정도는 한글화가 되어 있습니다.

2. 빠른 접속으로 마시고 사이트 관리자로 접속 사이트 세팅을 하시면 UTF-8로 세팅하실 수 있습니다. 굉장히 좋은 프로그램입니다만 간혹 사소한 문제가 좀 있습니다.^^;(숨겨진 파일보기, 실패하거나 못받은 파일의 대기문제...등) 아무튼 알-FTP에 비해 엄청나게 좋은 프로그램입니다.

3. 먼저 원소스쪽으로 FTP접속을 해서 모두 백업받습니다. 하시기 전에 XE관리자 모드에서 캐쉬재생성 한번 해주시고 로그아웃하시면 세션파일크기가 좀 줄더군요. 백업 받을때는 모든 파일을 백업받으시고 그러기 위해 FTP에 숨겨진 파일 보기를 꼭 선택해주셔야 합니다.

Tip) Filezila에서의 팁입니다.

 - 숨겨진 파일보기가 좀 이상하게 동작합니다. 현재 상태에서 안보이거든 숨겨진 파일보기를 한번 클릭해주시고 프로그램을 종료하셨다가 다시 실행하시면 보일 겁니다.

 - 전송되지 않고 큐에 남아 대기중인 파일이 꼭 끝에 몇개가 남더군요. 가만 놔두면 엄청 오래 시간을 끕니다. 윗쪽 메뉴에 보시면 토글방식의 큐진행아이콘과 접속 끊기 아이콘이 있습니다. 우선 큐진행아이콘을 한번 클릭하셔서 큐진행을 중단하시고 접속끊기를 누릅니다. 그리고 다시 접속아이콘을 눌러서 접속하시고 큐진행아이콘을 눌러서 큐에 남아있는 파일의 전송을 진행시킵니다. 그래도 안되면 계속 저런 순서를 반복합니다.

 - 설정에서 로그인 딜레이 시간을 너무 짧게 하거나 동시접속 수를 너무 많게 하면 서버에서 동시접속제한때문에 접속을 강제종료시켜버리거나 로그인 딜레이시간이 짧아서 제대로 비밀번호를 인식 못할 수 있습니다.


[DB백업순서-phpAdmin이용]

-phpAdmin으로 들어가셔서 DB백업을 받습니다.

1. 가장 왼쪽 약간 위쪽에 보시면 전체 테이블이름이 나옵니다. 보통 'DB계정명_db' 라는 식의 이름이니까 예를들면 redman_db이런식인거죠. 그 이름을 클릭하시면 오른쪽 화면이 바뀌면서 위쪽에 '내보내기'라는 메뉴가 보일 겁니다. 그걸 클릭합니다.

2.그러면 오른쪽의 화면이 또 바뀌면서 '내보내기', 'SQL옵션','구조','데이터','파일로 저장' 이렇게 크게 5개의 분류로 이뤄진 화면이 나타납니다.

3. 여기서 SQL:옵션부터 건드려 봅니다. '모두 선택'을 클릭하시고 아래 콤보박스에서 SQL을 선택합니다.(보통 디폴트로 콤보박스는 SQL로 선택되어 있더군요. '모두 선택'만 클릭하시면 될거구요, 그러면 모든 테이블이 선택됩니다.)

4. 그다음으로 구조에 체크하시고(보통 체크되어 있습니다.) 그 아래 항목들 다 선택해주시는데 앞에 Add...로 시작하는 항목들이 있거든 안하셔도 됩니다.(예를들어, add into comments나 Add CREATE PROCEDURE / FUNCTION 같은 것들요. 잘은 모르지만 이전할때는 그닥 필요없는 것 같습니다.)

5. 그다음은 데이터에 체크해주시고(보통 체크되어 있습니다.) 그 아래 항목들을 선택해주시는데 Use delayed inserts, Use ignore inserts 빼고 나머지는 다 체크해 주세요.

6. 마지막으로 파일로 저장에 체크해주시고(이건 기본이 체크안되어 있을 겁니다. 체크 꼭 하세요.) 압축하시고 싶으시면 하시고 안하고 싶으시면 안하는 걸로 해서 하시면 됩니다.

7. 실행클릭하시면 용량에 따라 생성시간이 좀 틀리지만 마지막에 파일명.sql을 어디다 저장할거냐고 묻습니다. 그러면 저장하시면 되구요.



[우선 XE한번 설치해보기]

- 이전 할 곳의 시스템에 XE를 설치합니다. 이유는 환경세팅을 위해서와 경로명을 정확히 알기 위해서 입니다. 파악이 다 됐으면 XE를 삭제해 버립니다. DB와 파일모두~ 그러구 나서 백업받아놨던 파일들과 DB들을 올리는 겁니다.

1. 먼저 이전할 곳의 호스팅 서버에 FTP로 접속 해서 초기 상태를 살펴봅니다. 삭제할 때 뭘 삭제해야 할지 정확히 알기 위해서 입니다.

2. DB쪽에도 접속해서 처음 상태를 확인합니다. 보통은 텅비어 있을 겁니다.

3. XE를 설치합니다. 설치 할때 적어야 하는 DB환경세팅을 위한 변수들을 확인해보고 잘 설치됐나도 보시기 바랍니다. DB백업받은 파일에 직접 적어줘야 하기 때문입니다.

4. 절대 경로명을 꼭 기억해 두시기 바랍니다. 설치하고 나면 초기 관리자 페이지에 절대경로명이 나오고 외부페이지를 생성해보시면 거기에도 절대경로가 나옵니다.

5. 다 파악 하셨으면 FTP로 파일들을 모두 삭제하고 원래 상태로 만듭니다. DB도 모든 테이블을 없앱니다. 하지만 데이터베이스는 없애지 못하니까 그냥 놔두시기 바랍니다. 어차피 같은 이름 사용하실거 아닌가요? ^^;



[환경과 경로명 수정하기]

1. 우선 환경변수부터 고쳐보죠. 파일백업 폴더로 가서 DB환경부터 이전할 곳에 맞게 수정합니다. 파일명은 db.config.php이고 위치는 /zbxe/files/config/ 밑에 있습니다.

 DB도 고치셔야 합니다. 파일명.sql 에서 찾아주세요. 쉽게 찾는 방법은 앞에서 db.config.php를 수정할 때 원래 있던 곳의 DB환경들을 찾으면 되겠죠.



2. 경로명을 고치셔야 합니다. 실은 이게 가장 큰 문제입니다.ㅡㅡ; 소스를 작성하실때 조금만 주의하시면 XE에서 정의한 변수들로 고치면 되지만 몇 개의 것들은 그냥 알아서 저절로 URL이나 절대경로가 삽입되는 경우가 있습니다.(위젯, 외부페이지 등).

 - 백업한 파일들은 윈도우즈의 검색기능을 이용해서 고쳐야할 경로명의 특징적인 단어를 검색합니다. (검색 잘 됩니다.^^;)

 - 백업한 DB는 수정해 주실 때 특히 그 앞에 있는 s:숫자 에 주의 하세요. 그 숫자는 뒤의 문자열의 길이를 가지고 있습니다. 따라서 경로나 URL수정시 문자가 늘거나 줄면 그 앞에 있는 숫자도 맞게 수정하셔야 합니다. 예를들어, s:26:"http://...." 였던 것이 s:32:http://.../zbxe/가 되어야 한다는 것이죠. 숫자는 " "안의 문자들의 갯수를 말합니다.



3. 주의할 사항 입니다. 백업한 파일이든 DB든 수정하실 때 물론 준비물에서 보셨다시피 XE니깐 UTF-8로 불러들이시고 저장하셔야 합니다만...이게 기본인건 맞는데 DB는 조금 틀립니다. 결론적으로 말하자면 DB는 이전할 곳의 기본 언어셋으로 저장되어야 합니다. 그러니까, 원래 있던 곳의 DB와 이전할 곳의 DB가 UTF-8을 모두 기본 언어셋으로 정의하고 있다면 무조건 utf-8로 저장하는게 맞습니다. 그런데 어떤 DB들은 euc-kr과 utf-8을 모두 지원하기 위해서 기본 언어셋을 euc-kr로 해둔 곳이 있습니다. 이럴 경우에는 아까 준비물에서 써놨던 변환 유틸을 준비하셔서 euc-kr로 변환하시기 바랍니다. 쉘로 들어가서 하거나 고민할 필요가 없습니다. ^^



[수정한 백업파일 올리기]

- 그냥 이전할 서버에 FTP로 올려주시면 됩니다. 아직 백업한 DB를 안 올렸으니까 작동할리 없으니 테스트는 안하셔도 됩니다. ^^;



[수정한 백업DB올리기-phpAdmin이용]

 -phpAdmin으로 들어가셔서 DB를 올립니다.

1. 최근의 phpAdmin은 아까 백업 할 때처럼 왼쪽 위의 DB네임(보통 DB계정명_db)을 클릭하면 오른쪽화면이 바뀌면서 import라는 메뉴가 윗쪽에 나타납니다. 그걸 클릭하면 되구요, 좀 오래된 phpAdmin의 경우는 왼쪽 위의 DB네임(보통 DB계정명_db)을 클릭하면 오른쪽화면이 바뀌면서 SQL이라는 메뉴가 나타납니다. 그걸 클릭하면 아래쪽에 SQL파일의 위치를 찾아 올릴 수 있도록 되어 있습니다.

2. 올려서 실행하시면 테이블이 쏵~ 만들어집니다. 고생한 거에 비해선 너무 금방이죠. ;; 테이블들이 만들어지면 한글이 깨졌나 안깨졌나 부터 살펴봅니다. 한글이 일단 안깨졌으면 다행인 것이고 깨졌다면 변환프로그램으로 기본 언어셋에 맞게 sql파일을 변환하셔서 지금 만들어진 테이블들을 모두 삭제하고 다시 올리시기 바랍니다.



[마지막입니다. 테스트!]

1. 이제 원래 하던대로 브라우저에서 홈페이지를 들어가 봅니다. 우선 어드민으로 들어가서 캐쉬파일 재생성을 한번 해주시고 하나하나 메뉴를 살펴보시기 바랍니다. 에러 메시지 나오는 곳은 없는지 살펴보세요. 혹시 에러메시지가 나온다면 우선 경로명이 맞는지와 문자갯수를 다시 살펴보시기 바랍니다.

2. 회원들과 첨부파일들이 제대로 보이는지 보시기 바랍니다.



끝이네요...^^;

너무 긴가 싶긴한데...저같은 분들을 위해서 최대한 자세하게 써봤습니다.