XE 서버이전을 하는데에는 여러 문서들이 도움이 될 수 있습니다만,

아래 "XE 서버 이전할 때 통채로 압축해서 옮기는 완벽한 방법-로그인, 첨부파일문제 해결" 이라는 글을 참고하시면

기본적인 문제 발생에 대해서 대처하실 수 있을 겁니다.

 

추가적으로, 서버 이전 중 또는 이전 후 발생할 수 있는 문제들을 정리하여

각 문제에 대한 대응방법을 알려드리고자 합니다.

 

 

1. 기존 서버에서 SSH 또는 텔넷을 이용하여 백업(tar cvfpz 명령어 등)할 때 백업이 완료되지 않는 경우

 

  - 원인:  SSH 명령어로 백업을 하는 것은 권한과는 큰 연관성이 없습니다. 이 때 문제가 발생하는 이유는,

               파일 압축 중에 files 폴더 안의 cache 폴더의 내용이 변경되어 발생하는 문제입니다.

 

   - 해결: tar 명령어를 사용하여 전체 백업을 하기 직전에 반드시 관리자모드 -> 캐쉬파일재생성 을 실행시켜 주시고,

               파일이 압축되는 중에는 홈페이지의 내용을 작성하거나 변경하지 않도록 주의하십시오. (그냥 인터넷 창을 꺼두시면 됩니다.)

 

 

2. mysql 4 에서 사용하던 DB 를 mysql 5 의 서버로 이전하는 경우, 정상적으로 DB import 가 되지 않는 경우

 

   - 원인: XE의 DB는 mysql4 와 mysql5 에서 DB 저장방식이 크게 다른것 같지는 않습니다. 따라서, 웬만해서는 큰 문제가

               발생하지 않을 것이라 생각됩니다. 다만, 일부 환경에서는 버전 차이를 이유로 import 가 되지 않을 수 있습니다.

   - 해결: phpmyadmin을 이용하여 원래 서버에서 백업받은 sql 파일을 이전하려는 새 서버에 import 시킬 때,

               Format of imported file 탭에서 SQL compatibility mode 의 값을 "mysql40" 으로 선택하고 실행하시면 됩니다.

               혹시 이렇게 했는데도 버전 차이로 인해 import 가 되지 않는다면, 아래와 같은 순서로 따라하십시오.

 

          1) 이전하려는 서버에 XE를 새로 설치합니다. (XE 1.2.5 core 를 추천합니다. 어차피 나중에 지울 겁니다.)

          2) 설치까지 완료하고 나면 DB 에 XE 테이블들이 생성된 것을 확인합니다.

          3) DB를 export (내보내기, 백업) 을 합니다.

          4) 백업받은 sql 파일을 열고, 맨 첫번째

                  --
                  -- Table structure for table `~~~~~~~`
                  --

              부분의 윗부분을 모두 복사합니다.

          5) 원래 이전하려 했던 sql 파일을 열고, 위에서 복사한 부분으로 해당 부분을 교체하고 저장합니다.

          6) 새 서버에 설치했던 새로운 XE의 파일들과 DB 들을 모두 삭제하세요.

          7) 이 후부터는 XE서버 이전과정을 진행하면 됩니다. (DB import, 백업파일 복사 등)

         

 

3. FTP파일을 모두 이전하고 DB import 까지 한 후 홈페이지 접속하니, "DB connet error"  문구가 뜨면서 로그인 창이 나올 때

 

   - 원인: XE 파일들과 DB 간의 연결이 되지 않은 이유입니다.

   - 해결: XE 폴더 -> files -> config -> db.config.php 파일을 열어서, 이전하려는 새 서버에 맞게 정보를 수정합니다.

 

 

4. 서버 이전 이후, "시작모듈이 설정되지 않았습니다." 라는 문구가 뜨며 로그인이 되지 않는 경우

 

   - 원인: 이 경우는 cache 파일들이 일으키는 문제인 것으로 보입니다. 기존의 서버 환경에 맞게 생성되었던 cache 파일들이

               새 서버의 환경에서 정상작동 하지 않는 이유 때문일 겁니다.

   - 해결: cache 폴더를 삭제해주는 방법이 있습니다.

               우선, 만일의 경우를 대비하여 이전하신 서버로 접속하셔서

               xe -> files -> cache 폴더를 통째로 하드디스크로 백업해 두세요.

 

               그 이후에,

               서버의 cache 폴더를 통째로 삭제하세요.

               cache 폴더의 하위폴더만 삭제해서는 안되구요,

               cache 라는 폴더 자체가 존재하지 않도록 싹~ 지워야 해결이 됩니다.

 

                만일 권한문제로 폴더 삭제가 되지 않는다면,

               첨부해 드린 chmod.php  파일을 다운로드 하여,

               xe -> files 폴더 안에 넣고

               브라우저 상에서 실행하세요.

               (예: https://도메인주소.co.kr/xe/files/chmod.php)

 

               실행 후 OK 표시가 뜨면

               FTP에서 cache 폴더 삭제가 될겁니다.

 

                cache 폴더가 삭제되었으면,

               admin 페이지로 바로 접속하세요.

               https://도메인주소.co.kr/xe/?module=admin

 

               이렇게 들어가서셔 로그인을 시도 하시면 잘 될거에요.

               그후에 꼭!

               캐쉬재생성, 세션비우기 눌러주세요~ .

 

 

5. 관리자모드 접속 이후, setting 를 포함하여, 각종 관리 메뉴들이 옛 서버의 주소로 연결되는 경우

 

    - 원인: 이 부분은 cache 파일의 문제였다고 생각하고 캐쉬로 해결하려 했으나 결론적으로는 DB 의 문제였습니다.

    - 해결: 이전된 주소로 직접 변경하여 설정해 주시면 됩니다.

                 https://새도메인주소/xe/?module=admin&act=dispAdminConfig

                 로 직접 브라우저 창에 주소를 입력하고 들어갑니다.

                 기본URL 부분을 새로 바뀐 주소로 바꾸거나, 싹 지워 비워두고 저장합니다.

                 캐쉬파일 재생성, 세션비우기를 실행합니다.

 

 

6. DB 이전까지 완료하였으나, 이전에 사용하던 ID 로 이전한 사이트에서 로그인이 되지 않는 경우

 

   - 원인: 아직 저는 직접적으로 이러한 문제를 접한적이 없습니다. 서버이전의 경우, DB 까지 통째로 옮기는 것이기 때문에,

               이전에 사용하던 ID로 로그인이 안되는 일은 발생할 수 없을 겁니다. 그러나 만일이라도 그런 문제가 발생한다면

               아래와 같이 해결하세요.

    - 해결: 참고: https://www.xpressengine.com/tip/18308405

               뭔가 이전에 사용하던 정보와 내 새로운 서버의 정보가 안맞아서

               만약 로그인(자기 아이디와 비번이 분명하여도)이 안되고 시작모듈 설정하라는 페이지가 뜨고 비번을 찾아야 한다면

               임시방편으로 myPHPadmin에 들어가서 xe_member 테이블로 가서 어드민 아이디를 찾아 수정을 클릭해서 비번을

               e10adc3949ba59abbe56e057f20f883e

               로 바꿔주면 123456 으로 비번을 바꾸게 되는 거랍니다.

 

 

7. 파일 첨부시 100% 에서 증발하는 문제

 

   - 원인: 원인은 여러가지입니다. 허용된 용량보다 더 큰 파일을 업로드 하려 한 경우, files 폴더의 권한이 777 또는 707로 설정되지

               않은 경우 등등이 있습니다.

   - 해결:

 

        1) files 폴더 권한을 확인하고 변경하십시오.

 

           새로운 서버에서 이미지들이 제대로 안떠서 files 폴더 권한 문제인가 싶어서 원래 xe 설치하면 설정되는 데로

           files의 폴더 소유자와 권한을 바꿔주려고 했더니 안되었죠(root 권한으로 해야 명령어가 먹힙니다)
           chown -R nobody:nobody files

           해서 nobody로 바꾸어 주고----(나야나에서 nobody권한으로 변경해주었다고 했어요)
           chmod -R 707 files 로 폴더의 권한을 바꾸어 줍니다.

           리눅스 명령어가 익숙치 않다면, FTP 로 접속해서 XE 폴더 내의 files 폴더 위에서 마우스 오른쪽 버튼을 눌러  

           권한 변경 을 눌러 707 또는 777로 변경합니다.

 

        2) files폴더 권한을 확인하였는데도 안되는 경우, 첨부파일의 용량을 확인하십시오.

 

           첨부파일의 용량이 서버에서 허용된 업로드 용량보다 크다면, 업로드가 되지 않습니다.

           서버의 업로드 허용 용량은 phpinfo.php 로 확인이 가능합니다.

           첨부한 phpinfo.php 파일을 다운받아, 새 서버의 계정으로 업로드 합니다.

           그리고 해당 파일을 인터넷브라우저에서 직접 실행합니다.

           (예: https://www.mydomain.co.kr/phpinfo.php)

 

           해당 파일에 접속하고 나서는,

           post_max_size 값과 upload_max_filesize 값을 확인하세요.

           어디있는지 모르시겠으면 ctrl+F 키를 눌러 찾으시면 되요.

 

           만일, 설정된 용량 보다 더 큰 용량의 파일을 업로드 하게 하고 싶다면,

           .htaccess 파일을 생성하여 계정의 public_html 폴더 안의 맨 상위 폴더에 업로드 하면 되요.

           만일 원래 .htaccess 파일이 있었다면 이를 다운한 후 수정하여 업로드 하면 됩니다.

 

           수정내용: .htaccess 파일의 맨 첫 부분에

           php_value post_max_size 30M   (<- 굳이 30M 가 아니더라도 바꾸고자 하는 용량으로 설정하면 되요.)
           php_value upload_max_filesize 30M   ( <- 마찬가지구요~)

           라고 입력하고 저장한 후 계정에 업로드 하면 됩니다.

 

           참고로, .htaccess 파일은 FTP 프로그램에서 보이지 않을 수 있습니다. 숨김파일이기 때문인데,

            이 파일이 표시되도록 하려면 "숨김파일 강제표시" 옵션을 사용하면 되요.

            또한 이 방법은 임의의 방법이므로, 서버관리자가 막아둔 경우, 설정이 저장되지 않을 수 있습니다.

 

        3) 그래도 해결이 되지 않는다면....

            이럴 가능성은 매우 적지만 제가 직접 경험한 상황이었기에 알려드립니다.

            사이트가 완전히 로드 되지 않은 경우 이런 문제가 발생할 수 있습니다.

            즉, 레이아웃의 일부 이미지 파일이 아직 로드되지 못했다거나, 하는 경우에 발생합니다.

 

            인터넷 창의 상태표시줄에

            https://mydomain.co.kr/xe/ico.php 을(를) 기다리는 중...

            과 같은 문구가 계속 표시된다면, 문제가 되는 해당 파일의 링크를 제거하고 난 후

            상태표시줄에 "완료" 가 뜨게 한 이후에

            파일 첨부를 다시 시도해 보세요. 

 

 

8. 한글로 된 이미지 파일들이 정상적으로 표시 되지 않는 경우

 

   - 원인: 이 경우는 SSH 에서 tar 명령어로 통째로 계정을 백업한 후 새 계정에 압축을 해제 한 경우에는 대부분

               발생하지 않는 문제입니다. 만일 이러한 문제가 발생한다면, FTP 로 직접 XE 폴더를 하드디스크로 내려받은 후

               그것을 다시 새 계정으로 업로드 한 경우입니다.

               FTP 프로그램이 "한글" 을 제대로 인식하지 못해, 다운로드 할 때 오류를 내기 때문입니다.

 

   - 해결: 흔히들 사용하시는 알FTP 로는 계정 이전이 불가능합니다.

               반드시 파일질라 등의 프로그램을 이용하세요. (Filezila 파일질라는 무료이므로 쉽게 구하실 수 있습니다.)

               파일질라를 다운, 설치하신 이후, 계정 접속 설정을 할 때 아래 부분에 유의하세요.

 

               파일질라에서 "빠른 연결" 을 사용하지 마시고,

               파일 탭 -> 사이트 관리자 를 이용하세요.

 

               사이트 관리자에서 새 사이트 추가를 누르시고

               기존에 사용하던(백업하려는) 서버의 정보를 입력한 후,

               "문자셋" 탭으로 이동합니다.

               "문자셋" 탭에서 "UTF-8 로 강제설정" 에 체크하고 확인을 누르세요.

 

               이렇게 설정하셔야만, 한글로 된 이미지파일도 정상적으로 백업할 수 있습니다.

               

 

 9. 홈페이지의 메뉴들이 예전 호스팅계정 혹은 예전 도메인으로 연결될 때

 

    - 원인: 메뉴의 cache 파일들이 이전의 계정 정보로 존재해서 그렇습니다.

    - 해결: 해당메뉴의 캐시파일을 재생성 해 주세요.

 

               관리자모드 -> 사이트설정 -> 메뉴 에서,

               해당 문제를 보이는 메뉴의 설정을 누른 후 메뉴 세부편집 부분에서 "캐쉬파일 재생성" 을 누르세요.

 

 

10. 관리자모드로 들어가려니 예전 홈주소 (또는 도메인) 의 관리자 모드로 연결되어 접속이 안되는 경우

 

     - 원인: 기본 URL 이 예전 홈페이지 주소로 설정되어 있어서 발생하는 문제입니다.

     - 해결: settings 에서 기본URL 을 빈칸으로 두거나, 새 주소로 변경하세요.

 

               새 계정의 관리자모드로 직접 접속하셔야 합니다.

 

              https://새도메인주소/XE폴더주소/?module=admin (루트에 설치하였을 경우는 바로 https://새도메인주소/?module=admin)

 

              을 주소창에 입력하여 접속하세요.

              로그인 한 후에 우측 상단의 settings 를 눌러 기본 URL 부분을 알맞게 변경하세요.

              카페XE 등의 가상모듈을 사용하지 않는 경우는 빈칸으로 두실 것을 권장합니다.

 

              만일 XE 관리자모드 까지 로그인을 잘 하였는데, settings 를 누르니 또 로그인하라고 한다거나,

              페이지를 찾을수 없다는 문구가 나오는 경우, 아래 11번 문항을 참고하세요.

 

 

11. 관리자모드의 settings 로 접속이 안되는 경우

 

    - 원인: 기본 URL 이 예전 홈페이지 주소로 설정되어 있어서 발생하는 문제입니다.

    - 해결: 직접 settings 주소로 접속하여 기본 URL 을 변경하여야 합니다.

 

               https://새도메인주소/XE폴더/?module=admin&act=dispAdminConfig

 

              를 직접 주소창에 입력하신 후, 해당 화면의 기본URL 부분을 알맞게 수정하세요.

              카페XE 등의 가상모듈을 사용하지 않는 경우는 빈칸으로 두실 것을 권장합니다.