질문/조언질답게시판

어떻게든 혼자서 해결해보려고 했지만 도저히 해결할 수 가 없어서 문의 드립니다.
php 관련지식도 없고, 그간 제로보드4 버전부터 phpMyAdmin을 가끔 들락거려서 그냥 막연히 DB 이전이나 값을 확인하는 정도 하등한 수준입니다. 

 

현재의 상황은 XE버전 1.5.4.3을 사용중인 구 서버에서 XE 1.11.6 버전의 신 서버로 이전을 하려고 합니다.

(현재 VMware에 데비안을 설치해서 복구작업 중인 상황입니다. 성공하면 실제 서버에 DB를 들이부으려구요..)

 

기존 게시판이 대략 450개 정도 됩니다.

 

XE 버전도 많이 달라졌기에 서버 이전이 쉽지 않을거라 각오는 했던 일이지만 
localhost.sql 파일을 추출하여 적용하니 역시나 아무것도 안나오고 먹통이 되더군요.

 

그래서 phpMyAdmin을 통해 하나하나 자료를 옮기려고 시도중입니다.
일단 xe_member와 xe_member_group_member를 옮겨서 회원정보 및 그룹적용은 제대로 복원했습니다.


그래서 그 다음은 게시판을 복구하기 위해서  
구 서버의 xe_menu_item 항목을 추출해서 신 서버의 xe_menu_item에 적용해서 DB에 게시판 정보는 넣어주었지만
XE 관리자 페이지의 게시판 항목에는 보이지 않더군요.
(무언가 다른 항목에도 필요한 값이 들어가지 않았기 때문으로 생각되지만, 관련지식이 없어서 그게 뭔지를 모르겠습니다..)

 

기억하시겠지만 구버전 XE는 게시판 생성 후 메뉴에 연결해주는 방식이었습니다.
하지만 지금 XE는 메뉴 생성시 게시판도 생성해주는 것이잖아요..

그래서 혹시나 해서 XE 설치 후 기본 메뉴구조를 phpMyAdmin의 xe_menu 항목에서 확인해봤죠.

 

menu_srl과 site_srl을 확인하고 값을 적어놓은 후, 다시 menu_item 로 가서
나타나지 않고 있는 한 게시판의 menu_srl과 parent_srl에 그 값을 적어주었더니!!!

캐쉬재생성 후 사이트메뉴편집 창에서 그 게시판이 목록에 보이긴 하더군요.

 

반가운 마음에 트리메뉴에서 눌러보면 '메뉴타입: undefiend(모듈이 존재하지 않음)'이라고 나옵니다. ㅜㅜ

 


또한 신 서버에 복원해놓은 구 서버의 xe_document의 많은 게시글들은 XE 관리자 페에지의 문서 항목에는 보이긴 합니다만
눌러보면 Err : './modules/message/skins/xedition/list.html' template file does not exists. 라는 에러메시지만 보입니다.

 


제가 여쭤보고 싶은 것은,
일단 구버전의 게시판 목록을 xe_menu_item에 부어준 것만으로는 제대로 게시판 복구가 안되는게 확실한데
혹시 지금 상황에서 어떤 조치를 취할 수 있을까요?

 

눈뜬 소경 수준으로 더듬거리며 진행중이지만... 혹시 조언 좀 해주시면 정말 은혜는 잊지 않겠습니다.
읽어 주셔서 감사합니다.

  • profile
    단계별로 올라가야해요
    지금 1.5 라면 1.7가야합니다.
    그다음에 최신으로 덮으면 되지 않을까 해요.
    책임은 못지니까 백업을 하면서 하시구요
  • profile ?
    아..그런건가요?? 5에서 11로 바로 가면 안되고 5 -> 7 -11> 순서로 가야 한다는 말씀이죠?
    지푸라기라도 잡는 심정으로 한번 시도해봐야겠네요 .... 감사합니다.
  • ? profile
    1.4->1.5->1.7 이렇게 가야 하는데 왜냐면 구조가 바뀌는 부분이 있거든요.
    1.7 부터 최신까지는 구조가 크게 바뀌는건 아마 없을듯 합니다.
  • profile

    윗분 말씀대로 단계별로 올라가되, DB는 통째로 가져가셔야 합니다. 일부 테이블만 뽑아서 가져가시면 안됩니다. 예를 들어 xe_sequence 테이블에는 유용한 정보가 없는 것 같아 보이지만 이 테이블의 auto_increment 값까지 완벽하게 다 가져가지 않으면 나중에 글쓰기가 안되는 부작용이 생깁니다. 메뉴를 복사하려면 모듈 정보도 모두 복사해야 하고, 모듈 설정에는 문서 관련 테이블들도 모두 엮여 있습니다. 개인의 판단으로 이건 필요하고 이건 필요없겠지, 생각하면 99%의 확률로 에러납니다.

     

    에러가 났을 때 그것이 DB 때문인지 XE 버전업 때문인지 반드시 확인하셔서, XE 쪽의 문제인데 애꿎은 DB를 자꾸 들쑤시는 일이 없도록 하시기 바랍니다. DB는 아이디/비번이 맞고 모든 테이블이 제대로 옮겨지기만 하면 웬만해서는 문제를 일으키지 않습니다.

  • profile ?

    아...그렇군요. 말씀을 듣고보니 잘 모르면서 선별적으로 시도한 제가 참..무식하면서 용감했네요 ㅠㅠ
    GG님 말씀대로 XE 1.7버전을 설치하려다보니, 1.11 버전을 위해 설치한 PHP 7.3버전이 너무 높아서인지 Object 에러가 나는군요 ... 리눅스 버전에 PHP 버전까지 다시 낮추는 셋팅부터 다시 해야 하나봅니다.
    이렇게 어려운 과정이 될줄 상상도 못했었네요. 기진곰님 조언 정말 감사드립니다.

     

    죄송하지만 한가지만 더 여쭤봐도 될까요? 두분의 조언대로 현재 1.5.4.3 버전에서 1.11 버전으로 무사히 단계적으로 안착하기 위해서 XE 코어를 다시 깔아보려고 합니다.

    지금 버전을 확인해보니 1.7.1.0부터 1.7.12, 그리고 1.8.0부터 1.8.46.. 1.9.0부터 1.9.8까지... 그리고 드디어 1.11.0부터 1.11.6 에 이르기까지 몇십개의 마이너 버전까지 있는데, 어떻게 건너뛰면서 업그레이드 하면 될까요?

    1.5.4.3 --> 1.7.12 --> 1.8.46 --> 1.9.8 --> 1.11.6     이렇게 버전마다 다 거쳐야 하는지요?

    아니면 1.8과 1.9는 건너뛰어도 되는지...     궁금합니다.

    어떤 부분이 버전마다 바뀐지를 모르는 상황이라.. 그냥 다 해보는 것외에 방법이 없을지요? 

     

     

  • ? profile

    준비를 잘 하시면 1.5에서 1.11로 바로 건너뛸 수도 있습니다.
    - 로그인 후 관리자 화면(?module=admin)을 띄워놓은 상태에서 작업하세요. 즉, 기존 버전이 그나마 돌아가는 서버환경에서 시작하시기 바랍니다. 말씀을 들어보면 지금 이게 안되고 있는 것 같습니다.
    - 작업 도중 브라우저는 계속 로그인한 상태로 두시고, PHP를 업그레이드하실 경우 세션 관련 설정을 함부로 건드리면 로그인이 풀릴 수 있으니 주의하세요.

    - 애드온은 다 끄세요.

    - php.ini에서 display_errors = On으로 변경하여 에러가 바로바로 화면에 뜨도록 해주세요.
    - changed 파일이 아닌 풀버전을 통째 덮어씌우세요.
    - 버전업 직후에 관리자 화면을 새로고침합니다.
    - 관리자 화면이 새로고침 안 될 정도로 심각한 에러가 있다면 그것부터 먼저 해결한 후에...
    - 각종 모듈 업데이트 뜨는거 모조리 한번씩 클릭해 주세요. 여기까지 모두 마치기 전에 사이트 메인화면이나 게시판에 먼저 들어가보려고 하지 마세요.
    - 마지막으로 캐시파일 재생성!

    만약 여러 버전을 중간에 거친다면 버전업할 때마다 이 과정을 반복해 주셔야 합니다.

    대부분의 오류는 버전업 후 모듈 업데이트 없이 메인화면이나 게시판부터 먼저 들어가보려고 하기 때문에 일어납니다. 사용하시는 레이아웃과 스킨, 위젯 등이 새 버전과 호환되지 않을 가능성이 높기 때문에, 스킨이나 위젯이 없는 관리자 화면을 띄워놓고 작업하시는 것이 가장 안전합니다.

  • profile ?

    기진곰님. 진심으로 깊이 감사드립니다.
    이렇게 자세히 설명을 해주신 덕분에 시도해볼 용기가 나네요.~ 말로는 표현이 다 안될만큼 감사하는 마음입니다. 조언해주신것 명심하고 한번 시도하겠습니다!!!!! 다시 한번 감사합니다.~