미디어위키 업그레이드 1.21.2 → 1.23.3

  다른 뜻에 대해서는 미디어위키 업그레이드 1.18.0 → 1.21.2 문서를 참조하십시오.

1 현재버전 확인[ | ]

제품 버전
MediaWiki 1.21.2
PHP 5.3.28 (apache2handler)
MySQL 5.5.34
Lua 5.1.5

2 최신버전 확인 및 다운로드[ | ]

PHP 5.3.2 이상, MySQL 5.0.2 이상
→ 위 문단과 비교해보니 OK
  • [ Download MediaWiki 1.23.3 ] 클릭하여 mediawiki-1.23.3.tar.gz 다운로드(19.0 MB)

3 서버 용량 확인[ | ]

[root@zetawiki ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       35G  4.3G   29G  13% /
/dev/vda1              99M   27M   68M  28% /boot
tmpfs                1006M     0 1006M   0% /dev/shm
[root@zetawiki ~]# du -hs /var/www/html/w/
846M	/var/www/html/w/
→ 디스크 용량은 29 GB가 남아있고, w폴더의 전체 용량은 846 MB 이므로 백업하기에 여유가 있다.

4 아파치 중지[ | ]

[root@zetawiki ~]# service httpd stop
Stopping httpd:                                            [  OK  ]

5 백업[ | ]

파일 백업

w 폴더(소스코드 + 업로드 파일)의 사본을 "w-오늘날짜"라는 이름으로 만든다.

[root@zetawiki ~]# cp -a /var/www/html/w /var/www/html/w-20140907
→ 진행상황을 알 수 없으니 추가로 SSH 접속하여 아래 명령어로 확인
[root@zetawiki ~]# watch -n1 du -bs /var/www/html/w*
Every 1.0s: du -bs /var/www/html/w /var/w...  Sun Sep  7 13:26:14 2014

813536839	/var/www/html/w
302766717	/var/www/html/w-20140907
→ 복사 완료될 때까지 대기
→ 원본 폴더와 사본 폴더 용량이 거의 같아짐[1]
DB 백업
[root@zetawiki ~]# cd /var/www/html/w-20140907
[root@zetawiki w-20140907]# mysqldump -uroot -pP@ssw0rd --databases mydb > mydb-20140907.sql
[root@zetawiki w-20140907]# ll -h *.sql
-rw-r--r-- 1 root root 195M Sep  7 13:33 mydb-20140907.sql

6 설치파일 업로드 및 설치[ | ]

아까 받은 mediawiki-1.23.3.tar.gz를 서버에 업로드

[root@zetawiki ~]# ll mediawiki*
-rw-r--r-- 1 root root 19886309 Sep  7 13:19 mediawiki-1.23.3.tar.gz

압축을 해제하고 w 폴더에 덮어쓴다.

[root@zetawiki ~]# tar xvzf mediawiki-1.23.3.tar.gz
... (생략)
mediawiki-1.23.3/load.php
mediawiki-1.23.3/profileinfo.php
mediawiki-1.23.3/thumb.php
[root@zetawiki ~]# \cp -Ru mediawiki-1.23.3/* /var/www/html/w/

update.php를 실행시켜 주면 완료

[root@zetawiki ~]# cd /var/www/html/w/maintenance/
[root@zetawiki maintenance]# php update.php
MediaWiki 1.23.3 Updater
... (생략)
...fa_sha1 column of filearchive table already populated.
Purging caches...done.

Done in 0:07.

7 아파치 시작[ | ]

[root@zetawiki ~]# service httpd start
Starting httpd:                                            [  OK  ]

8 웹페이지 확인[ | ]

  • 페이지 보기, 편집, 파일 업로드 등을 해보고 이상 없는지 확인
  • 특수기능:버전에서 버전 확인
제품 버전
MediaWiki 1.23.3
PHP 5.3.28 (apache2handler)
MySQL 5.0.77
  • "w-오늘날짜" 폴더(사본 폴더)는 한달 쯤 후에 삭제하자.

9 오류수정 1: skin 관련 경고[ | ]

Warning: A skin using autodiscovery mechanism, Standard, was found in your skins/ directory. The mechanism will be removed in MediaWiki 1.25 and the skin will no longer be recognized. See https://www.mediawiki.org/wiki/Manual:Skin_autodiscovery for information how to fix this. [Called from Skin::getSkinNames in /var/www/html/w/includes/Skin.php at line 74] in /var/www/html/w/includes/debug/Debug.php on line 303

[root@zetawiki ~]# cd /var/www/html/w/
[root@zetawiki w]# mv skins/ skins-20140907
[root@zetawiki w]# cp -a /root/mediawiki-1.23.3/skins/ .
→ 기존 skins 폴더를 삭제(또는 이동)하고 새 skins 폴더를 복사해넣으면 해결된다.

10 오류수정 2: MobileFrontend 문제[ | ]

  • 모바일 보기를 하면 다음과 같은 오류가 난다.

Fatal error: Call to undefined method MobileFormatter::setHtmlMode() in /var/www/html/w/extensions/MobileFrontend/includes/MobileFormatter.php on line 62

  • 일단 LocalSettings.php에서 MobileFrontend를 불러오는 부분을 주석처리 (모바일 지원 안되게 됨)
// require_once "$IP/extensions/MobileFrontend/MobileFrontend.php";
// $wgMFAutodetectMobileView = true;
  • 웹브라우저에서 데스크톱 버전이 정상적으로 나오는지 확인
  • MobileFrontend 삭제 후 재설치
[root@zetawiki ~]# cd /var/www/html/w/extensions/
[root@zetawiki extensions]# ll | grep MobileFrontend
drwxrwxr-x 10 root root 4096 Mar 16  2013 MobileFrontend
[root@zetawiki extensions]# rm -rf MobileFrontend
[root@zetawiki extensions]# git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/MobileFrontend.git
... (생략)
remote: Total 49493 (delta 2), reused 49469 (delta 2)
Receiving objects: 100% (49493/49493), 43.23 MiB | 3.36 MiB/s, done.
Resolving deltas: 100% (32522/32522), done.
  • 웹브라우저로 확인해보면 이번에는 Mantle이 필요하다는 오류 발생

Please install the Mantle MediaWiki extension.

  • Mantle 확장기능 설치
[root@zetawiki extensions]# git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/Mantle.git
Cloning into 'Mantle'...
remote: Total 246 (delta 0), reused 246 (delta 0)
Receiving objects: 100% (246/246), 73.48 KiB, done.
Resolving deltas: 100% (103/103), done.
  • LocalSettings.php 파일에서 아까 주석처리했던 부분을 아래 내용으로 교체
require_once "$IP/extensions/Mantle/Mantle.php";
require_once "$IP/extensions/MobileFrontend/MobileFrontend.php";
$wgMFAutodetectMobileView = true;
  • 이제 데스크톱/모바일 페이지도 모두 정상으로 나온다.

11 같이 보기[ | ]

12 주석[ | ]

  1. 4000바이트 정도 차이는 나더라

13 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}