RX/XE 팁
XE FAQ 는 제가 XE공홈 '묻고 답하기'에 답변한 내용들 중 일부를 정리한 내용입니다. (대부분이 제가 한 답변이죠)
XE Tips 는 제가 XE 공홈에 쓴 XE 관련 유용한 팁들입니다. 기능개선은 공홈에 안 적어둔 XE 유용 개선팁들입니다.
유용정보는 외부 검색을 통해 알아낸 소스등을 기재해둔 곳입니다.
버그 신고내역들은 XE 사용하다가 발견한 버그 패치방법들로, Core Issue 에 기록해뒀기에 XE 에 적용이 되었을 가능성이 있겠죠

제가 쓴 글들에 대해 퍼가실때는 꼭 출처를남겨주시고.. (다만 플래시뷰 기반이기에 퍼가기는조금 힘들 수 있겠죠 ^^;)
타회원의 글들도 적혀있는 출처를 같이 꼭 기재해주세요
출처 Gekkou 
출처URL http://www.xpressengine.com/tip/18669896 

 

I. 서버이전 준비 

 

1. 파일질라 FTP클라이언트 프로그램을 준비하세요.

    FTP클라이언트가 필요합니다. 알FTP는 사용하지 마시고 반드시
    파일질라(무료) 와 같은 다른 전용 프로그램을 이용하십시오.

 

2. Putty 와 같은 SSH 프로그램을 준비하세요.

 

    DB와 계정의 파일들을 백업하기 위해서 반드시 필요한 프로그램입니다.
    코덱스(codex.kr) 과 같이 일부 전용 cPanel 을 제공하는 호스팅업체라면 SSH프로그램이 필요하지 않을수 있습니다.
    또한, SSH를 지원하지 않는 호스팅이용자분들은 서버관리자에게 계정 백업을 요구하셔야 합니다.
    FTP프로그램으로 XE를 직접 내려받는 식으로 백업을 해 두시면
    첨부파일과 이미지파일들이 모두 깨지는 문제가 발생합니다. (첨부파일 암호화 / 파일명 UTF-8 때문)

 

3. 새로 이전하려는 호스팅업체의 서버 환경을 확인하세요.

 

    PHP 4.x ~ 5.x (단 PHP 5.2.2 버전에서는 사용할 수 없음), XML 라이브러리, GD 라이브러리가 사용가능한지 확인하시고,

    MySQL 의 버전이 4.1 이상인지 확인하세요.

 

 

 

 

 II. 주의사항 (필독) 

 

 

1. FTP 를 이용할 때에는, 알FTP 는 절대 사용하지 마세요. [필수]

 

    FTP 로 파일을 전송하다 보면, 서버환경에 따라 파일이 누락되는 경우가 있습니다.
    이는 상당히 빈번히 일어나는 일로, 누락된 파일만 다시 재업로드 할수 있는 FTP 툴이 필요합니다.
    알FTP 는 이러한 부분에서 상당히 취약합니다. 전송에 실패한 파일을 재전송할 수 있는 기능이 없습니다.
    따라서, 해당 기능이 있는
Filezilla (무료) 등과 같은 다른 FTP 클라이언트를 이용하셔야 합니다.

 

2. 서버 이전 이후에는 캐쉬폴더를 삭제해 주어야 합니다.

 

    서버 이전 직후에 레이아웃이 일그러지거나 관리자모드에 로그인이 되지 않는 등의 문제가 발생할 수 있습니다.

    이는 이전 서버의 환경에서 생성된 cache 폴더와 파일들이 일으키는 문제가 대부분이어서

    cache 폴더를 삭제 해주면 해결될 수 있는 문제입니다.

 

3. 계정 파일들의 백업은 FTP 로 직접 다운받는 방식으로는 하면 안됩니다.

 

    첨부파일 중, 이미지 파일 말고, 압축파일인 경우에는

    우선 DB 상으로는 XE_files 에 저장됩니다.

    그러나 실제적인 파일의 업로드는 암호화되어 XE폴더 -> files -> attach -> binaries 폴더 안에 저장됩니다.

    폴더번호는 일련의 규칙에 따라 생성되어 저장되게 됩니다.

  

    그런데, 이 폴더의 파일들을 백업하여 복원할 때 문제가 발생합니다.

    XE를 계정이전하거나 백업후 복원할 때,

    리눅스명령어 (tar cvf / tar xvf ) 를 사용하지 않고

    FTP 로 직접 파일들을 다운받아 백업하고, FTP 업로드를 통해 업로드를 하는 경우

    암호화되어 저장된 파일의 속성이 변경되어 버리는 문제가 있습니다.

    .exe 등과 같은 일반 파일들의 경우 큰 문제가 없는것 같으나,

    .zip, .rar, .alz, .tar 등 모든 압축파일은 문제가 생깁니다.

 

    따라서, 만일 SSH가 지원되지 않는 계정을 이용중이시라면

    반드시 서버관리자 / 호스팅업체에 데이터백업 을 해 줄 것을 요청하셔야 합니다.

 

 4. files 폴더만 백업해서 옮기면 된다는데요?

 

    그래도 되긴 합니다. 그러나 이렇게 하면 만들어두었던 레이아웃, 위젯스킨들이 모두 적용되지 않습니다.

    망가지는 것은 아닌데, 제대로 적용되게 해서 완전히 똑같이 옮기려면

    레이아웃폴더, 모듈폴더, 애드온폴더, 위젯폴더, 위젯스타일 폴더 등을 같이 옮기셔야 합니다.

    결국 xe 를 통채로 백업하는 것이 더 간편하고 쉽습니다.

 

 

 

 

 III. 서버인전 시작하기 

 

 

1. 외부에서 이전하려는 홈페이지로 접속하지 못하도록 임시 페이지를 만드세요. [필수]


 이용량이 많은 사이트라면, 업데이트 도중에 외부의 접속을 막기 위해, 첫화면을 XE 와 관계없는 html 페이지를
 임시로 만들어, 최초 접속시 해당 페이지가 나오도록 하세요. (공사중, 업데이트 중, 등등의 안내 페이지)


 

2. 기존에 사용하던 호스팅업체의 SSH 로 로그인을 하세요.

 

3. ls 라고 입력하여 자기가 사용하는 호스팅업체의 루트 폴더 이름을 확인하세요.

 -   html, www, public_html 등의 폴더가 이에 해당합니다.

 

4. 계정의 파일들을 백업할 것입니다. 압축명령어를 실행해 주세요.

       tar cvfpz backup.tar.gz html

 

      이라고 입력하였는데,

      tar cvfpz : cvfpz 라는 추가명령어를 포함하여, 압축하라

      backup.tar.gz : backup 이란 파일명으로 tar.gz 라는 압축파일을 만들어라.

      html : 백업하려는 폴더 이름은 html 이다.

      라는 뜻입니다.

 

      따라서, 위와 이 글을 읽으시는 분들은 본인의 계정환경에 맞게, tar cvfpz 이후의 명령어는 바꿔 입력하시면 됩니다. 

 

 

5. DB를 백업할 것입니다. DB백업 명령어를 실행해 주세요.

 

    mysqldump -u ID -p DBname > backup.sql

 

    이라고 입력하였는데,

    mysqldump : mysql DB를 백업할 것이다.

    -u ID : user는 ID 이고,

    -p : 비밀번호는 조금있다가 입력할 것이다. (저 명령어를 넣은 후 엔터 치면, Enter Password 라고 비밀번호 입력칸이 나옵니다)

    DBname : 본인의 DB명을 입력하시면 됩니다.

    > backup.sql : 그 DB명에 있는 테이블들을 backup.sql 파일로 저장할 것이다.

    라는 뜻입니다.

 

    DB백업 방법은 이 외에도 phpmyadmin 에서 하는 방법이 있습니다.

    이 방법은 검색하시면 쉽게 아실 수 있습니다.

 

 

6. 이제 FTP 로 계정에 접속해 보세요.

 

    위 3번, 4번 과정에서 만든 backup.tar.gz 파일과 backup.sql 파일이 있을 겁니다.

    이 두 파일을 컴퓨터로 내려받으세요.

    이 파일들을 새 계정으로 옮길 것입니다.

 

 

7. 옮기려는 새 계정의 FTP로 접속하세요.

 

    그리고 컴퓨터로 내려받을 위의 두 파일을 업로드 하세요.

    업로드 할 때에는, FTP 접속 후에 나오는 폴더에 바로 하시는 것 보다,

    public_html 혹은 www 혹은 html 등의 root 폴더 안에 하시는 것이 좋습니다.

    8번부터 이어지는 설명은 root 폴더 안에 넣었다고 가정하고 진행하겠습니다.

 

 

8. 새로 옮길 계정의 SSH 로 로그인 하세요.

 

9. ls 라고 입력하여, root 폴더를 확인하세요.

 

10. 복원하려는 두 파일 (backup.tar.gz / backup.sql) 이 있는 root 폴더로 이동하세요.

 

   이동하는 방법은, cd public_html 을 입력하고 엔터를 치면 됩니다.

    public_html 대신, 본인의 root 폴더를 입력하면 되겠죠.

 

 

11. ls 를 입력하여 복원하려는 두 파일(backup.tar.gz / backup.sql)이 존재하는지 확인해 보세요.

 

12. 이제 계정의 파일들의 압축을 해제할 겁니다. 압축해제 명령어를 입력하세요.

  

    tar xvfpz backup.tar.gz

 

    라고 입력했는데,

    tar xvfpz : vfpz 라는 추가 명령어를 포함하여 압축을 해제할 것이다.

    backup.tar.gz : 압축해제 대상은 backup.tar.gz 파일이다.

    라는 뜻입니다.

 

    따라서, 본인이 압축했던 파일 명을 tar xvfpz 뒤에 입력하면 됩니다.

 

 

13. 이제 DB를 복원할 것입니다. DB복원 명령어를 입력하세요.

 

    mysql -u ID -p DBname < backup.sql

 

    이라고 입력하였는데,

    mysql : mysql서버를 불러올 것이다.

    -u ID : user는 ID 이고,

    -p : 비밀번호는 나중에 입력할 것이다.

    DBname < backup.sql  : backup.sql 파일에 있는 내용들을 DBname 이라는 DB명에 넣을 것이다.

    라는 뜻입니다.

 

    주의할 점은, 백업할때 사용하였던 mysqldump 와 명령어가 다릅니다. mysqldump 가 아닌 mysql 입니다.

    또한 여기서 입력하는 ID, 비밀번호, DBname 등은 이전에 사용하던 계정의 정보가 아니라

    새 계정의 정보에 맞게 입력하셔야 합니다.

 

 

14. FTP로 접속하여 파일과 폴더들을 옮겨주셔야 합니다.

 

    지금까지의 과정을 이행하셨다면, FTP 로 새 계정에 접속 했을 때

    root 폴더 (저같은 경우, public_html)가 나오고 그 폴더로 들어가면

    이전에 사용하던 루트폴더(저의 경우, html)가 또 있을 겁니다.

    그리고 그 폴더 안으로 들어가야 비로소 이전 계정에 있던 폴더들이 보일 겁니다.

 

    새 계정 FTP접속 > 루트폴더 > 이전에 사용하던 계정의 루트폴더 > 폴더와 파일들

 

    이렇게 있는 셈인데,

    폴더와 파일들루트폴더 바로 밑으로 옮겨야 합니다.

 

    옮기는 방법은

    이전에 사용하던 계정의 루트폴더 로 이동한 후,

    그 안에 있는 폴더와 파일들을 모두 선택하세요.

    그 후, 그 상위폴더로 드래그 앤 드롭 하시면 됩니다.

 

   (주의)  옮기기 이전에 숨김파일을 강제표시 하게 한 후 하셔야 합니다!!

   

 

 

15. 새로 이사한 계정으로 옮긴 XE > files 폴더 안에 있는 cache 폴더를 삭제해야 합니다.

 

    FTP나 SSH로 접속하여 xe 폴더 > files 폴더 안에 있는 cache 폴더를 통채로 삭제해 주십시오.

    SSH 에서 cache 폴더를 삭제하는 방법은,

    cd 명령어로 files 폴더 까지 이동한 후 rm -rf cache 라고 입력하면 됩니다.

 

    순서대로 따라하셨다면 권한 문제가 발생할 일은 없지만,

    만일 권한문제로 인해 삭제가 되지 않는다면

    http://www.xpressengine.com/18445192문서의 5번 문항을 참고하여 cache 폴더를 삭제해 주세요.

 

 

16. xe폴더 > files > config 폴더 안에 있는 db.config.php 파일을 수정해야 합니다.

 

    FTP로 접속하여 db.config.php 파일을 컴퓨터로 내려받으세요.

    메모장이나 editplus 등으로 여신 후,

 

    $db_info->db_hostname = 'localhost';
    $db_info->db_userid = 'OOOOOOO';
    $db_info->db_password = 'OOOOOOOO';
    $db_info->db_database = 'OOOOOOOOO';

 

    부분을 새 계정의 정보에 맞게 입력하세요.

     hostname 의 경우 대부분이 localhost 를 사용하지만,

     일부 호스팅에서는 다른 값을 요구할 수도 있으니

     해당 서버환경에 맞게 입력하세요.

 

     수정이 끝나셨으면 저장하시고 xe > files > config  폴더에 업로드 하여 덮어 씌우세요.

 

     만일 권한문제로 업로드가 되지 않는다면

     http://www.xpressengine.com/18308524 문서의 12번 항목을 참고하여 권한을 변경해주시면 됩니다.

     절대로 db.config.php 파일을 삭제하지는 마십시오.

 

 

17. 이제 웹사이트로 로그인을 해 볼 것입니다.

 

    인터넷 주소창에 http://도메인/xe/?module=admin 을 입력하여 관리자 모드로 접속하세요.

 

 

18. 캐쉬파일 재생성을 눌러주세요.

 

19. 관리자모드 > settings 로 들어가 FTP정보를 삭제하신 후 다시 입력해 주세요.

 

20. 1번과정에서 만들었던 임시 페이지를 삭제해 주세요.

 

 

-----------------------------------------------------

아카스 님  댓글Tip  추가

 

ftp로 내려받고 다시 올리기 구찮을 경우가 있죠.

그럴경우 기존서버에 sql파일과 xe압축파일 tar.gz파일을 웹 접근이 가능한 폴더에 집어넣구...(mc를 이용하면 무자게 편하지요잉) . 

그다음 옮길서버에서 putty로 ssh접속후 wget http://이전서버도메인/머시기저시기.sql , wget http://이전서버도메인/머시기저시기.tag.gz등으로 직접 다운 받으면.. 받고 올리는 시간을 줄일수 있습니다... 

전체 682건
번호 카테고리 제목 출처 등록일 조회
공지 XE 기능개선 XE 1.11.18 이후 버전의 익명 수정 버그 수정법 xetown  2023.10.07 2756
공지 XE 기능개선 XE 1.11.14 보안패치 - 타인의 쪽지 내용을 확인할 수 있는 버그 패치방법 xetown  2023.10.03 2853
공지 XE 기능개선 XE 1.11.6 이후 보안배치 #4 file rhymix  2022.07.05 2936
공지 1.11.6 XE 1.11.6 이후 보안배치 #3 rhymix  2022.04.02 2927
공지 1.11.6 XE 1.11.6 이후 보안배치 #1 xetown  2021.06.22 3291
공지 1.11.6 XE 1.11.6 이하 에서 공개댓글을 비밀댓글로 변경시 생길 수 있는 오류 수정법 sejin7940  2021.01.10 3222
공지 XE 기능개선 XE 1.11.4 이후에서 파일 업로드시 정상 작동 안 하는 현상 수정법 XE github  2019.04.02 6001
공지 XE 기능개선 php 7.1 환경에서 XE 오류 나는 경우 확인할 사항 sejin7940  2018.07.11 5927
공지 유용정보 php7.2 환경에서 XE 오류가 생기는 경우 - Object 클래스 변경 필요 XE Github  2017.11.27 8270
공지 XE 기능개선 XE 1.8.30 이하에서 반드시 수정해주셔야하는 부분입니다. XE 1.8.31  2017.02.26 6694
공지 1.8.18 XE 1.8.18 에서 사용시 반드시 수정해야할 사항들 ( XE 1.8.20 이후에서는 수정 불필요 ) xetown  2016.04.03 25807
공지 XE 기능개선 XE 1.8.12 이후부터 proc controller 일부가 작동 안 할 경우 확인할 부분 [1] XE  2015.10.16 25626
62 유용정보 input 에 숫자만 입력 가능하게 하는 소스 sejin7940  2019.03.08 5560
61 유용정보 리눅스 상에서 간단한 파일실행방법 sejin7940  2011.11.22 6730
60 유용정보 selectbox 에서 선택한 값을 다른 input 값에다가 넣는 방법 sejin7940  2011.11.15 9447
59 유용정보 GET방식,POST방식 구분하지 않고 값 받기 - $_REQUEST 참좋은날  2011.11.15 9573
58 유용정보 주민등록 유효성 검사 소스 Haneuloon  2011.11.10 5712
57 XE 기능개선 모든 링크에 자동으로 blur 적용하는 방법 sejin7940  2011.10.23 4411
56 유용정보 iframe 높이가 100%가 되게 하는 소스 영쓰  2020.01.22 6947
55 유용정보 checkbox 하나만 선택되게 하기 햇님  2011.10.19 7831
54 유용정보 이미지와 텍스트 동시 사용시 중앙정렬   2011.10.19 6122
53 유용정보 XE에서 도메인 설정변경해도 과거 도메인 나올때 sejin7940  2011.10.10 4870
52 XE 기능개선 자신이 스크랩한 글인지 목록에서 확인하는 기능 sejin7940  2011.10.03 5113
51 유용정보 www 가 붙을때와 붙지 않았을때, 로그인이 지속되지 않고 풀리는 경우 RainSky  2011.09.27 4670
50 유용정보 iframe 에서 스크롤바 안 나오게 자동확장 하는 소스 file 리치  2011.09.26 5515
49 유용정보 table 의 'tr' 태그에 직접 display 속성을 부여할 경우 웹프로그래머  2011.09.15 5284
48 유용정보 입력폼 전체 리셋하는 스크립트 소스 Main()  2011.09.14 5743
47 유용정보 즐겨찾기 등록 소스 - 브라우저호환 달콤쌉쌀 블로그  2011.09.08 5869
46 XE 기능개선 글읽기 권한 없을때 회원가입창으로 유도하는 방법! (최신XE수정) [5] sejin7940  2011.08.23 7120
45 XE 기능개선 조회수 제한 풀고, 조회수 증가값을 더 크게 하는 소스 [1] sejin7940  2011.08.21 5888
44 XE 기능개선 닉네임 끝부분을 ** 처리해서 숨기는 방법 sejin7940  2011.08.06 5511
43 유용정보 사업자번호 10자리 검사 / 가맹점 번호 검사 하는 간단한 소스 sejin7940  2011.07.25 5089
XE Login