RX / XERXE 개발팁XpressEngine
Extra Form

1.8이하 예전 버전에서 최신 버전으로 업데이트는 한번에 최신 버전으로 가는게 간단하고 편리합니다.

XE 최신 버전은 php7.0 환경에서 운영하시는게 좋습니다.

 

이 글의 주요 업데이트 계획은 아래와 같습니다.

오래된 버전의 xe가 운영되고 있는 기존 서버는 php 버전이 5.1~5.6 정도로 비교적 낮은 버전일거라 가정하고 기존 서버에서 업데이트를 시도 하지 않으며,

php7 환경이 준비된 테스트 계정 준비 ->테스트 계정으로 파일 및 D/B 업로드 -> 최신 코어로 덮어쓰기 -> 문제점이 발생된다면 해결하기입니다.

 

1.테스트용 서버나 웹호스팅 계정 준비

php 7.0 + mariadb 최신 버전

웹호스팅은 cafe24, 가비아등 php 7.0 지원되는곳이 많습니다. 

php 7.0 최신 버전으로 준비하시는게 좋습니다.

php 7.2의 경우 일부 애드온,위젯,모듈들과의 호환성이 떨어집니다. (2018년 7월 기준)

 

2.파일및 DB 이전

기존 서버에 있는 DB와 파일을 이전합니다.

D/B 이전은 phpMyAdmin을 이용( https://pat.im/388 과 같은 글을 참고 )하셔서 시도해보시고 잘 안된다면 검색이나 질문을 해주세요.

 

파일 이전시 xe설치 경로에 files 폴더안에 cache 폴더는 테스트 서버로 업로드 하지 않습니다.

cache_12345, supercache, supercache_12345 같은 폴더들도 확인 된다면 업로드하지 않습니다.

어짜피 해당 폴더는 삭제해야됩니다.

이전후 files 폴더의 권한도 다시 한번 확인합니다. 환경에 따라 755,707,777

 

files/config/db.config.php 파일을 열고 테스트 서버 환경에 맞게 수정합니다.

files/config/db.config.php 에서 db_type 부분은

  • mysql 경우 mysqli 로 변경
  • mysql_innodb  경우 mysqli_innodb 로 변경

이 단계부터 테스트 계정의 사이트가 제대로 작동하지 않을수 있습니다.

사이트가 제대로 작동하지 않더라도 3.코어 업데이트, 4.관리자 페이지 접근까지 진행해서 관리자 페이지 로그인 시도를해봅니다.

 

3.코어 업데이트

xe 최신 버전을 다운로드후 테스트용 서버에 덮어쓰기를합니다.

xe 보다 기능이 강화된 라이믹스 최신 버전을 받아서 덮어쓰기 하는것을 추천드립니다.

* 게시판 스킨이나 코어에 커스터마이징 내역이 있다면 별도 백업하거나 내역을 정리후 업데이트가 완료된후 적용하도록합니다.

 

4.관리자 페이지 접근

http://도메인혹은IP/index.php?module=admin 관리자 로그인후 관리자 페이지 첫화면 접속

첫화면에 보이는 모듈들의 업데이트 안내가 보일텐데 해당 업데이트를 하도록합니다.

관리자 페이지 하단에 "캐시파일 재생성"을 해주시거나 files/cache 폴더내의 모든 파일을 삭제합니다.

 

5.테스트 및 문제해결

이것 저것 테스트해보시고 발생되는 문제점은 수정을 하도록 합니다.

만약 직접 수정이 힘들다면 물어보기를 통해 질문을 등록해서 문제점을 해결 해보도록 합시다.

질문 하실때 문제되는 페이지의 URL을 포함해 주시면 빠른 해결에 도움이 됩니다.

500 오류나 빈페이지가 나오는 오류들은 대부분 웹서버의 로그 파일을 보면 상세 내역을 알수 있습니다.

문제가 없다면 테스트 서버를 실 서버로 반영하도록합니다.

도메인 이전과 관련된 부분은 생략합니다.

  • profile
    기진곰 2018.07.12 17:35:41
    오오... 순서대로 정확하게 알려주는 가이드가 나올 것 같군요!
    몇 가지만 첨가해 주세요^^

    1. 기존 서버에서 이전할 때부터 아예 files 아래의 cache 폴더는 빼고 옮기는 것이 좋습니다.
    파일 수도 많고 용량도 많아서 시간을 많이 잡아먹어요. 어차피 지울 텐데...
    귀찮으면 일단 다 옮겨놓고 바로 지워도 됩니다.
    이렇게 하면 캐시파일 재생성을 클릭해 줄 때까지 사이트 메뉴가 보이지 않는 부작용이 있지만,
    그거야 뭐... 캐시파일 재생성 클릭해 주면 되니까 별 문제 아닐뿐더러
    구버전 캐시파일이 남아있으면 오히려 에러가 나서 관리자 접속조차 안 될 가능성이 있으니
    아예 싹 지워놓고 캐시파일 재생성하는 편이 낫습니다.

    2. db.config.php를 수정할 때 db_type이 mysql로 되어 있으면 mysqli로 변경해야 합니다.
    PHP 7.0으로 옮겼을 때 제일 큰 문제가 발생하는 것이 이 부분이지요.
    (mysql_innodb는 mysqli_innodb로 변경)
  • 구름이 글쓴이 2018.07.12 17:48:46
    반영했습니다.
  • 기진곰 2018.07.12 17:57:39
    @구름이
    더 생각나는 것 몇 가지 추가요...

    3. 슬래시를 디렉토리 구분자로 취급하는 것에 익숙하지 않은 윈도우 유저들은 files/cache라고 하면 "files와 cache"나 "files 또는 cache"로 이해하기도 하더군요 ㅡ.ㅡ;; 하위폴더에 파일명까지 있으면 그나마 오해의 소지가 적은데, 위와 같은 경우에는 ./files/cache라고 일부러 늘려 쓰거나 "files 폴더 안에 있는 cache 폴더"라고 풀어쓰는 것이 더 안전합니다. 초보자를 위한 가이드니까요.

    4. files 아래에 cache_12345, cache_67890 이렇게 캐시폴더가 여러 개 있는 경우도 있는데, 모조리 지워버려도 무방합니다. 원본서버에서 미리 지워도 괜찮습니다. 슈퍼캐시 모듈 사용시 나타날 수 있는 supercache, supercache_12345, supercache_67890 등의 폴더도 마찬가지!

서버에 요청 중입니다. 잠시만 기다려 주십시오...