최신판 |
당신의 편집 |
1번째 줄: |
1번째 줄: |
| {{테스트|미디어위키 1.23.3 → 1.25.2}}
| | #넘겨주기 [[미디어위키 업그레이드 1.21.2 → 1.23.3]] |
| ==서버 용량 확인==
| |
| <syntaxhighlight lang='console'>
| |
| [root@zetawiki ~]# df -h
| |
| Filesystem Size Used Avail Use% Mounted on
| |
| /dev/mapper/VolGroup-lv_root
| |
| 36G 24G 9.5G 72% /
| |
| tmpfs 939M 0 939M 0% /dev/shm
| |
| /dev/vda1 485M 66M 395M 15% /boot
| |
| </syntaxhighlight>
| |
| <syntaxhighlight lang='console'>
| |
| [root@zetawiki ~]# du -hs /var/www/html/w/
| |
| 2.3G /var/www/html/w/
| |
| </syntaxhighlight>
| |
| :→ 디스크 용량은 9.5 GB 가 남아있고, [[w폴더]]의 전체 용량은 2.3 GB 이므로 백업하기에 여유가 있다.
| |
| | |
| ==백업==
| |
| ;파일 백업
| |
| [[w 폴더]](소스코드 + 업로드 파일)의 사본을 "w-backup"이라는 이름으로 만든다.
| |
| <syntaxhighlight lang='console'>
| |
| [root@zetawiki ~]# cp -a /var/www/html/w /root/w-backup
| |
| </syntaxhighlight>
| |
| :→ 진행상황을 알 수 없으니 추가로 SSH 접속하여 아래 명령어로 확인
| |
| <syntaxhighlight lang='console'>
| |
| [root@zetawiki ~]# watch 'du -bs /var/www/html/w /root/w-backup'
| |
| Every 2.0s: du -bs /var/www/html/w /root... Wed Aug 19 20:53:04 2015
| |
| | |
| 2285354528 /var/www/html/w
| |
| 2294311692 /root/w-backup
| |
| </syntaxhighlight>
| |
| :→ 복사 완료될 때까지 대기
| |
| :→ 원본 폴더와 사본 폴더 용량이 거의 같아짐<ref>사본이 더 크네? 아파치를 중지하지 않고 진행해서 그런 듯... 캐시파일 등에서 차이가 난다.</ref>
| |
| | |
| ;DB 백업
| |
| <syntaxhighlight lang='console'>
| |
| [root@zetawiki ~]# cd /root/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 610M Aug 19 20:58 mydb-backup.sql
| |
| </syntaxhighlight>
| |
| | |
| ==설치파일 다운로드 및 설치==
| |
| *[[w 폴더]]의 상위 폴더로 이동하여 mediawiki-1.25.2.tar.gz를 서버에 다운로드(wget)
| |
| <syntaxhighlight lang='console'>
| |
| [root@zetawiki ~]# cd /var/www/html
| |
| [root@zetawiki html]# wget releases.wikimedia.org/mediawiki/1.25/mediawiki-1.25.2.tar.gz
| |
| ... (생략)
| |
| HTTP request sent, awaiting response... 200 OK
| |
| Length: 24018158 (23M) [application/x-gzip]
| |
| Saving to: “mediawiki-1.25.2.tar.gz”
| |
| | |
| 1% [ ] 247,246 28.0K/s eta 12m 50s
| |
| ... (생략)
| |
| [root@zetawiki html]# ll mediawiki*
| |
| -rw-r--r-- 1 root root 24018158 Aug 19 20:19 mediawiki-1.25.2.tar.gz
| |
| </syntaxhighlight>
| |
| *압축 해제 후 압축파일 삭제
| |
| <syntaxhighlight lang='console'>
| |
| [root@zetawiki ~]# tar xvzf mediawiki-1.25.2.tar.gz
| |
| ... (생략)
| |
| mediawiki-1.25.2/languages/.htaccess
| |
| mediawiki-1.25.2/languages/ConverterRule.php
| |
| mediawiki-1.25.2/languages/Language.php
| |
| </syntaxhighlight>
| |
| <syntaxhighlight lang='console'>
| |
| [root@zetawiki html]# rm -f mediawiki-1.25.2.tar.gz
| |
| [root@zetawiki html]#
| |
| </syntaxhighlight>
| |
| | |
| ==기존 파일 가져오기==
| |
| * 새로운 폴더 mediawiki-1.25.2로 이동
| |
| * 기존 폴더(w 폴더)에서 필요한 파일을 복사해온다.
| |
| <syntaxhighlight lang='console'>
| |
| [root@zetawiki html]# cd mediawiki-1.25.2/
| |
| [root@zetawiki mediawiki-1.25.2]# cp -a ../w/LocalSettings.php .
| |
| [root@zetawiki mediawiki-1.25.2]# cp -a ../w/images/ .
| |
| cp: overwrite `./images/README'? n
| |
| cp: overwrite `./images/.htaccess'? n
| |
| [root@zetawiki mediawiki-1.25.2]# cp -a ../w/skins/ .
| |
| </syntaxhighlight>
| |
| :→ skins 폴더의 경우 overwrite가 없었는데, 스킨폴더명이 모두 [[카멜케이스]]로 변경되었더라.
| |
| * cache 폴더 소유자 변경
| |
| <syntaxhighlight lang='console'>
| |
| [root@zetawiki mediawiki-1.25.2]# chown -R apache:apache /var/www/html/w/cache/
| |
| </syntaxhighlight>
| |
| | |
| ==확장기능 가져오기==
| |
| * extensions 폴더는 비교하여 필요한 것을 선별하여 기존 폴더에서 가져오자.
| |
| <syntaxhighlight lang='console'>
| |
| [root@zetawiki mediawiki-1.25.2]# cd extensions/
| |
| [root@zetawiki extensions]# ls
| |
| Cite InputBox PdfHandler SyntaxHighlight_GeSHi
| |
| CiteThisPage Interwiki Poem TitleBlacklist
| |
| ConfirmEdit LocalisationUpdate README WikiEditor
| |
| Gadgets Nuke Renameuser
| |
| ImageMap ParserFunctions SpamBlacklist
| |
| </syntaxhighlight>
| |
| <syntaxhighlight lang='console'>
| |
| [root@zetawiki extensions]# ls ../../w/extensions/
| |
| ... (생략)
| |
| ForceTocOnEveryPage SyntaxHighlight_GeSHi
| |
| Gadgets TitleBlacklist
| |
| googleAnalytics Validator
| |
| HideVariousTabsFromUnauthorizedUsers Vector
| |
| Interwiki WikiEditor
| |
| LocalisationUpdate WikiToWordPress
| |
| MagnetLinks YouTube
| |
| Maps ZetaTrace
| |
| MathJax
| |
| </syntaxhighlight>
| |
| <syntaxhighlight lang='console'>
| |
| [root@zetawiki extensions]# cp -a ../../w/extensions/ForceTocOnEveryPage .
| |
| [root@zetawiki extensions]# cp -a ../../w/extensions/YouTube .
| |
| [root@zetawiki extensions]# cp -a ../../w/extensions/Maps .
| |
| [root@zetawiki extensions]#
| |
| </syntaxhighlight>
| |
| | |
| ==LocalSettings.php 수정==
| |
| *1.24 버전부터 스킨과 확장기능을 등록하는 방법이 바뀌었다.
| |
| :그렇더라도 구버전 스킨과 확장기능은 예전방식 그대로 두어야 한다.
| |
| :새 버전에 포함된 것만 새 방식으로 변경하자.
| |
| :단, ConfirmEdit는 새 버전에 포함된 것도 아직 구식으로 해야 한다...
| |
| *아래 예시 참고하여 [[LocalSettings.php]] 수정
| |
| <syntaxhighlight lang='console'>
| |
| [root@zetawiki extensions]# cd ..
| |
| [root@zetawiki mediawiki-1.25.2]# vi LocalSettings.php
| |
| </syntaxhighlight>
| |
| <syntaxhighlight lang='php'>
| |
| // 새 버전에 포함된 것
| |
| wfLoadSkin( 'Vector' );
| |
| | |
| #require_once "$IP/extensions/Cite/Cite.php";
| |
| #require_once "$IP/extensions/Poem/Poem.php";
| |
| wfLoadExtension( 'Renameuser' );
| |
| wfLoadExtension( 'CharInsert' );
| |
| wfLoadExtension( 'Cite' );
| |
| wfLoadExtension( 'Poem' );
| |
| wfLoadExtension( 'ParserFunctions' );
| |
| wfLoadExtension( 'SyntaxHighlight_GeSHi' );
| |
| | |
| // 새 버전에 없는 기존 것
| |
| require_once "$IP/extensions/ForceTocOnEveryPage/ForceTocOnEveryPage.php";
| |
| require_once "$IP/extensions/YouTube/YouTube.php";
| |
| </syntaxhighlight>
| |
| | |
| == update 스크립트 실행 (실패) ==
| |
| * 이 문단은 참고만 하시라.
| |
| * upadate 스크립트를 실행해야 하는데, 구버전 스킨·확장기능을 새 방식으로 Load했을 경우 이러한 오류가 발생한다.
| |
| <syntaxhighlight lang='console'>
| |
| [root@zetawiki mediawiki-1.25.2]# cd maintenance/
| |
| [root@zetawiki maintenance]# php update.php
| |
| PHP Fatal error: Uncaught exception 'Exception' with message '/var/www/html/mediawiki-1.25.2/skins/foreground/skin.json does not exist!' in /var/www/html/mediawiki-1.25.2/includes/registration/ExtensionRegistry.php:79
| |
| Stack trace:
| |
| #0 /var/www/html/mediawiki-1.25.2/includes/GlobalFunctions.php(216): ExtensionRegistry->queue('/var/www/html/m...')
| |
| #1 /var/www/html/mediawiki-1.25.2/LocalSettings.php(170): wfLoadSkin('foreground')
| |
| #2 /var/www/html/mediawiki-1.25.2/maintenance/doMaintenance.php(83): require('/var/www/html/m...')
| |
| #3 /var/www/html/mediawiki-1.25.2/maintenance/update.php(216): require_once('/var/www/html/m...')
| |
| #4 {main}
| |
| thrown in /var/www/html/mediawiki-1.25.2/includes/registration/ExtensionRegistry.php on line 79
| |
| </syntaxhighlight>
| |
| | |
| ;문제 해결
| |
| * 기존 사용하던 스킨, 확장기능과 충돌이 있어 [[LocalSettings.php]]에서 제외시킴
| |
| :죄다 skin.json, extension.json이 없다고 함
| |
| :wfLoadSkin(), wfLoadExtension()이 json 파일을 필요로 하는 모양...
| |
| * 기본 스킨을 Vector로 설정함
| |
| <syntaxhighlight lang='php'>
| |
| #$wgDefaultSkin = 'foreground';
| |
| $wgDefaultSkin = 'Vector';
| |
| ... (생략)
| |
| wfLoadSkin( 'Vector' );
| |
| #wfLoadSkin( 'foreground' );
| |
| #wfLoadSkin( 'foobar' );
| |
| | |
| #wfLoadExtension( 'Mantle' );
| |
| #wfLoadExtension( 'ForceTocOnEveryPage' );
| |
| #wfLoadExtension( 'DynamicPageList' );
| |
| #wfLoadExtension( 'Scribunto' );
| |
| </syntaxhighlight>
| |
| | |
| == update 스크립트 실행 (성공) ==
| |
| <syntaxhighlight lang='console'>
| |
| root@zetawiki maintenance]# php update.php
| |
| MediaWiki 1.25.2 Updater
| |
| | |
| Your composer.lock file is up to date with current dependencies!
| |
| Going to run database updates for zetawiki-zt_
| |
| 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
| |
| ... (생략)
| |
| ...doing page_id from 34031 to 34230
| |
| ...doing page_id from 34230 to 34429
| |
| Set the local repo temp zone container to be private.
| |
| Purging caches...done.
| |
| | |
| Done in 2:28.
| |
| [root@zetawiki maintenance]#
| |
| </syntaxhighlight>
| |
| | |
| == 폴더 바꿔치기 ==
| |
| *지금까지 구성한 새 버전 폴더를 실제로 웹에 적용되는 폴더로 전환
| |
| <syntaxhighlight lang='console'>
| |
| [root@zetawiki maintenance]# cd ..
| |
| [root@zetawiki mediawiki-1.25.2]# cd ..
| |
| [root@zetawiki html]# mv w/ w-old
| |
| [root@zetawiki html]# mv mediawiki-1.25.2/ w
| |
| [root@zetawiki html]#
| |
| </syntaxhighlight>
| |
| | |
| == (참고) 브라우저 접속 (실패) ==
| |
| * 이 문단은 참고만 하시라.
| |
| * cache 폴더의 소유자를 아파치 웹서버 계정으로 바꾸지 않을 경우 발생하는 오류임
| |
| * http://zetawiki.com/ 에 접속해보니.. 오류 발생
| |
| <syntaxhighlight lang='text'>
| |
| [2a4cb221] /wiki/Main_Page MWException from line 1305 of /var/www/html/w/includes/cache/LocalisationCache.php: Unable to open CDB file "/var/www/html/w/cache/l10n_cache-ko.cdb.tmp.695389245" for write.
| |
| | |
| Backtrace:
| |
| | |
| #0 /var/www/html/w/includes/cache/LocalisationCache.php(1007): LCStoreCDB->startWrite(string)
| |
| #1 /var/www/html/w/includes/cache/LocalisationCache.php(449): LocalisationCache->recache(string)
| |
| #2 /var/www/html/w/includes/cache/LocalisationCache.php(323): LocalisationCache->initLanguage(string) | |
| ... (생략)
| |
| </syntaxhighlight>
| |
| | |
| ;문제 해결
| |
| *캐시 폴더 소유자를 apache로 변경
| |
| <syntaxhighlight lang='console'>
| |
| [root@zetawiki html]# chown -R apache:apache /var/www/html/w/cache/
| |
| [root@zetawiki html]# ll /var/www/html/w/ | grep cache
| |
| drwxr-xr-x 14 apache apache 4096 Aug 19 22:46 cache
| |
| </syntaxhighlight>
| |
| *이제 웹페이지가 잘 열린다..
| |
| | |
| == 브라우저 접속 (성공) ==
| |
| *'''[[특수기능:버전]]'''에서 버전 확인
| |
| {| class='wikitable'
| |
| !제품 !! 버전
| |
| |-
| |
| | MediaWiki || 1.25.2
| |
| |-
| |
| | PHP || 5.3.3 (apache2handler)
| |
| |-
| |
| | MySQL || 5.5.40-0ubuntu0.12.04.1
| |
| |}
| |
| *페이지 보기, 편집, 파일 업로드 등을 해보고 이상 없는지 확인
| |
| | |
| ==후속조치==
| |
| *구폴더(w-old)는 웹사용자가 접근하지 못하도록 다른 곳(예: 홈폴더 등)으로 이동시켜 두자.
| |
| <syntaxhighlight lang='console'>
| |
| [root@zetawiki html]# mv w-old/ ~
| |
| </syntaxhighlight>
| |
| *별다른 문제가 없다면 추후 삭제
| |
| | |
| ==같이 보기==
| |
| * [[미디어위키 업그레이드 1.25.2 → 1.26.2]]
| |
| * [[미디어위키 업그레이드 1.21.2 → 1.23.3]]
| |
| * [[미디어위키 업그레이드 1.18.0 → 1.21.2]]
| |
| * [[미디어위키 버전 확인]]
| |
| * [[PHP 업그레이드]]
| |
| * [[w 폴더]]
| |
| | |
| ==참고==
| |
| | |
| [[분류: 미디어위키 업그레이드]]
| |