미디어위키 업그레이드 성공

드디어 오랜 시간동안 생각해 왔던 미디어위키 업그레이드에 성공하였다. 즐겁구나. 하하하.이미지

삽질기를 기록해 놓아야지.

기존에 사용하던 조건

  • 노트북(Windows XP)에서 Local로 사용
  • EasyPHP 사용 (아파치 + PHP + MySQL)
  • MediaWiki 1.15.1

미디어위키 1.18.x 정도로 업그레이드를 하려고 했는데, 기억에 MySQL 버젼이 맞지 않아서 EasyPHP와 MediaWiki를 동시에 업그레이드하는 것이 문제였다.

업그레이드 순서

  1. 만약에 외부 서버에 미디어위키를 사용하고 있다면 현재 디비를 백업한다.
    – 테이블 사이즈가 큰 경우에는 적당한 사이즈로 나눠야 한다. 특히 text 테이블
    – 테이블들을 백업할 때는 drop 조건을 같이 넣어서 하는 것이 좋다.
    (다시 디비에 넣을때 새로 만들어진 테이블과 충돌이 생기지 않는다)
    – text 테이블을 여러개로 쪼개는 경우에 첫번째 것에만 DROP, CREATE가 들어있고,
    나머지는 그대로 INSERT만 한다.  (다시 넣는 순서에 주의)
  2. easyPHP를 최신 버젼으로 설치한다.
    – 이번에 설치한 것은 EasyPHP DevServer 13.1 VC9 버젼임.
    – 기존 버젼을 살리기 위해서 새로운 디렉토리에 설치하였다.
    – VC11 버젼도 있다는데 이것은 XP에서 문제가 된다고 함.
  3. 기존에 사용하고 있던 버젼의 mediawiki를 다운받아서 필요한 디렉토리에 푼다.
    – 13.1 버젼에선 디렉토리 구조가 달라졌다.
    – 예전엔 www 디렉토리였는데, data/localweb에 풀어야 함.
  4. 미디어위키를 설치한다.
    – localhost/wiki에 들어가면 setup을 시작할 수 있는 링크가 나타나므로 설치를 시작할 수 있으나, 생각해 보니 이 과정은 필요 없다.
    – 기존에 돌리던 디렉토리에서 미디어위키 관련 디렉토리를 가져오고,
    mySQL/wikidb 디렉토리를 그냥 복사해 오면 된다.
  5. 설치가 된 다음에는 덤프한 디비를 밀어 넣는다.
    – 윈도우에서 돌리는 경우에는 MySQL/wikidb 디렉토리를 통채 복사하면 된다.
    – 외부 서버인 경우에는 아마도 백업한 것을 restore 해야할 것임.
  6. 정상적으로 돌아가는지 확인한다.

미디어위키 업그레이드 하기

미디어위키 업그레이드는 두가지 방법으로 할 수 있는데, 브라우저에서 하는 것을 추천

  • 도스창에서 새로 설치한 MediaWiki/maintenance 디렉토리로 가서 update.php 실행
    php update.php
    만약에 안되면, php 확장자와 php.exe 파일을 연결시켜줘야 함.
  • 브라우저에서 localhost/wiki/mw-config 로 들어간다.
    웹 버젼으로 업데이트가 진행된다.

미디어위키를 업그레이드 하는 과정의 문제 해결

  1. 미디어위키를 설치할 때 새로운 버젼은 새로운 디렉토리에 풀어준다.
    – 기존 버젼에서 필요없는 파일들이 남아서 문제를 일으킬 수 있다.
    – 새로 풀은 디렉토리에 기존에 쓰던 LocalSetting.php 만 복사해 놓으면 됨.
    – Extension 부분은 삭제한 다음에 진행하였는데 그냥 해도 될 것 같다.
  2. MySQL에 mediawiki가 접근할 때 사용자 이름을 보통 wikiuser라고 만들어 놓는데, 이쪽은 권한이 충분하지 않아서 update.php 실행시 Error가 발생할 수 있음.
    – 이 경우는 grant 어쩌고 하는 mySQL 스크립트로 권한을 줄 수 있고,
    – LocalSetting.php $wgDBuser 를 root로 바꿔주면 해결됨. ($wgDBpassword 도 같이)
  3. 1.15.1 에서 1.21.1 까지 한번에 업그레이드 된다.
  4. 1054: Unknown column ‘rev_sha1’ in ‘field list’ (localhost)”
    – 계속 반복적으로 이런 에러가 발생하였는데, 계속 동일한 page_id에서 발생하였다.
    – 구글링으로 http://localhost/wiki/api.php?action=query&prop=info&pageids=page_id&inprop=url 와 같이 api.php 를 사용하여 page_id에 해당하는 문서를 찾을 수 있다는 것을 알게되었고,
    – 문제가 되었던 문서를 삭제하고 해결되었음. (이번에 에러를 만든 문서는 사용자 파일들이었음)
  5. 업그레이드가 끝나면 정상적으로 완료되었는지 확인한다. Extension 들은 MediaWiki 버젼에 따라서 문제가 생길 수 있으므로 해당 버젼용으로 업데이트한다.

이제 그렇게 기대하던 Mobile FrontEnd 도 쓸 수 있고, 시멘틱 미디어위키도 사용할 수 있게 되었다.

남은 일들

  • 시맨틱 미디어위키와 관련해서 디비 업데이트를 진행한다. (이거 하다가 Hostinger 쪽에서 오남용이라고 계정이 정지되었다.)
  • SugarSync에 새로 만든 미디어위키/EasyPHP 디렉토리를 싱크 시키자.
  • Hostinger는 계정이 살아나는대로 데이타 들어있는 것들을 몽땅 날려야지.
  • EasyPHP 디렉토리와 그 아래에 있는 MediaWiki 디렉토리를 모두 백업할 필요는 없다.
    이번에 업데이트 해보니 나머지 디렉토리들은 필요하면 새로 만들면 되므로 실제 데이타들이 쌓이는 디렉토리만 백업하면 된다.
    _ MediaWiki 디렉토리에서는 images 디렉토리와 LocalSetting.php 파일
    _ MySQL 디렉토리에서는 wikidb

즐거운 월요일이다.^^

Advertisements
이 글은 위키 카테고리에 분류되었고 , 태그가 있습니다. 고유주소 북마크.

미디어위키 업그레이드 성공에 1개의 응답

  1. 핑백: Mobile FrontEnd | Memo 5

  2. 핑백: Mohiomap | Memo 5

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중