미디어위키 업그레이드 1.26.2 → 1.27.1

(미디어위키 업그레이드에서 넘어옴)

1 서버 용량 확인[ | ]

root@zetawiki:~# df -h
Filesystem                   Size  Used Avail Use% Mounted on
udev                         486M  4.0K  486M   1% /dev
tmpfs                        100M  400K   99M   1% /run
/dev/mapper/ubuntu--vg-root   29G   10G   18G  37% /
none                         4.0K     0  4.0K   0% /sys/fs/cgroup
none                         5.0M     0  5.0M   0% /run/lock
none                         497M     0  497M   0% /run/shm
none                         100M     0  100M   0% /run/user
/dev/vda1                    236M   40M  184M  18% /boot
root@zetawiki:~# du -hs /var/www/html/w/
153M	/var/www/html/w/
→ 디스크 용량은 18 GB 가 남아있고, w폴더의 전체 용량은 153 MB 이므로 백업하기에 여유가 있다.

2 백업[ | ]

파일 백업

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

root@zetawiki:~# cd /var/www/html/
root@zetawiki:/var/www/html# cp -a w ~/w-backup
→ 진행상황을 알 수 없으니 추가로 SSH 접속하여 아래 명령어로 확인
root@zetawiki:~# watch 'du -bs /var/www/html/w ~/w-backup'
Every 2.0s: du -bs /var/www/html/w ~/w-backup                  Sun Mar 27 20:22:06 2016

1256189143      /var/www/html/w
264323148       /root/w-backup
→ 복사 완료될 때까지 대기
→ 원본 폴더와 사본 폴더 용량이 거의 같아짐[1]
DB 백업
root@zetawiki:/var/www/html# cd ~/w-backup
root@zetawiki:~/w-backup# mysqldump -hzetadb -uroot -pP@ssw0rd --databases mydb > mydb_backup.sql
root@zetawiki:~/w-backup# ll -h mydb_backup.sql
-rw-r--r-- 1 root root 722M Mar 27 20:31 mydb_backup.sql

3 설치파일 다운로드 및 설치[ | ]

  • w 폴더의 상위 폴더로 이동하여 mediawiki-1.27.1.tar.gz를 서버에 다운로드(wget)
root@zetawiki:~/w-backup# cd /var/www/html
root@zetawiki:/var/www/html# wget releases.wikimedia.org/mediawiki/1.27/mediawiki-1.27.1.tar.gz
... (생략)
HTTP request sent, awaiting response... 200 OK
Length: 31504507 (30M) [application/x-gzip]
Saving to: ‘mediawiki-1.27.1.tar.gz’

100%[============================>] 31,504,507   139KB/s   in 2m 44s 

2016-09-04 22:15:40 (187 KB/s) - ‘mediawiki-1.27.1.tar.gz’ saved [31504507/31504507]
root@zetawiki:/var/www/html# ll mediawiki*
-rw-r--r-- 1 root root 31504507 Aug 23 05:54 mediawiki-1.27.1.tar.gz
  • 압축 해제 후 압축파일 삭제
root@zetawiki:/var/www/html# tar xvzf mediawiki-1.26.2.tar.gz
... (생략)
mediawiki-1.27.1/vendor/zordius/lightncandy/tests/test3.tmpl
mediawiki-1.27.1/vendor/zordius/lightncandy/UPGRADE.md
mediawiki-1.27.1/wiki.phtml
root@zetawiki:/var/www/html# rm -f mediawiki-1.27.1.tar.gz 
root@zetawiki:/var/www/html#

4 기존 파일 가져오기[ | ]

  • 새로운 폴더 mediawiki-1.27.1로 이동
  • 기존 폴더(w 폴더)에서 필요한 파일을 복사해온다.
root@zetawiki:/var/www/html# cd mediawiki-1.27.1/
root@zetawiki:/var/www/html/mediawiki-1.27.1# cp -a ../w/LocalSettings.php .
root@zetawiki:/var/www/html/mediawiki-1.27.1# cp -a ../w/images/ . -i
cp: overwrite ‘./images/.htaccess’? n
cp: overwrite ‘./images/README’? n
  • 필요한 스킨 가져오기
root@zetawiki:/var/www/html/mediawiki-1.27.1# cp -a ../w/skins/SomeSkin/ ./skins/
root@zetawiki:/var/www/html/mediawiki-1.27.1# cp -a ../w/skins/ZetaStyle/ ./skins/
  • cache 폴더 소유자 변경[2]
root@zetawiki:/var/www/html/mediawiki-1.27.1# chown -R www-data:www-data ./cache/

5 확장기능 가져오기[ | ]

  • extensions 폴더는 비교하여 필요한 것을 선별하여 기존 폴더에서 가져오자.
  • 대략 LocalSettings.php에서 필요로 하는 것 중에 빠진 것을 가져오면 된다.
root@zetawiki:/var/www/html/mediawiki-1.27.1# cd extensions/
root@zetawiki:/var/www/html/mediawiki-1.27.1/extensions# ls
Cite          Interwiki           README
CiteThisPage  LocalisationUpdate  Renameuser
ConfirmEdit   Nuke                SpamBlacklist
Gadgets       ParserFunctions     SyntaxHighlight_GeSHi
ImageMap      PdfHandler          TitleBlacklist
InputBox      Poem                WikiEditor
root@zetawiki:/var/www/html/mediawiki-1.27.1/extensions# ls ../../w/extensions/
... (생략)
ForceTocOnEveryPage                   SyntaxHighlight_GeSHi
Gadgets                               TitleBlacklist
googleAnalytics                       Validator
HideVariousTabsFromUnauthorizedUsers  Vector
Interwiki                             WikiEditor
LocalisationUpdate                    WikiToWordPress
MagnetLinks                           YouTube
Maps                                  ZetaTrace
root@zetawiki:/var/www/html/mediawiki-1.27.1/extensions# cp -a ../../w/extensions/ForceTocOnEveryPage .
root@zetawiki:/var/www/html/mediawiki-1.27.1/extensions# cp -a ../../w/extensions/YouTube .
root@zetawiki:/var/www/html/mediawiki-1.27.1/extensions# cp -a ../../w/extensions/SimpleMathJax .
root@zetawiki:/var/www/html/mediawiki-1.27.1/extensions#

6 update 스크립트 실행[ | ]

root@zetawiki:/var/www/html/mediawiki-1.27.1/extensions# cd ../maintenance/
root@zetawiki:/var/www/html/mediawiki-1.27.1/maintenance# php update.php
MediaWiki 1.27.1 Updater

Your composer.lock file is up to date with current dependencies!
Going to run database updates for jmnote-nt_
Depending on the size of your database this may take a while!
Abort with control-c in the next five seconds (skip this countdown with --quick) ... 0
Turning off Content Handler DB fields for this part of upgrade.
...have ipb_id field in ipblocks table.
... (생략)
...fa_sha1 column of filearchive table already populated.
...*_from_namespace column of backlink tables already populated.
...Update 'FixDefaultJsonContentPages' already logged as completed.
Purging caches...done.

Done in 2.9 s.
root@zetawiki:/var/www/html/mediawiki-1.27.1/maintenance#

7 폴더 바꿔치기[ | ]

  • 지금까지 구성한 새 버전 폴더를 실제로 웹에 적용되는 폴더로 전환
root@zetawiki:/var/www/html/mediawiki-1.27.1/maintenance# cd ../..
root@zetawiki:/var/www/html# mv w w-old && mv mediawiki-1.27.1 w
root@zetawiki:/var/www/html#

8 브라우저 접속[ | ]

제품 버전
MediaWiki 1.27.1
PHP 5.5.9-1ubuntu4.14 (apache2handler)
MySQL 5.5.46-0ubuntu0.12.04.2
Lua 5.1.5
  • 페이지 보기, 편집, 파일 업로드 등을 해보고 이상 없는지 확인

9 후속조치[ | ]

  • 구폴더(w-old)는 웹사용자가 접근하지 못하도록 다른 곳(예: 홈폴더 등)으로 이동시켜 두자.
root@zetawiki:/var/www/html# mv w-old/ ~
root@zetawiki:/var/www/html#
  • 별다른 문제가 없다면 추후 삭제

10 같이 보기[ | ]

11 주석[ | ]

  1. 사본이 더 크네? 아파치를 중지하지 않고 진행해서 그런 듯... 캐시파일 등에서 차이가 난다.
  2. 아파치 데몬을 구동중인 계정을 소유자로...
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}