편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
{{테스트|미디어위키 1.23.3 → 1.25.2}} | {{테스트|미디어위키 1.23.3 → 1.25.2}} | ||
==서버 용량 확인== | ==서버 용량 확인== | ||
< | <source lang='console'> | ||
[root@zetawiki ~]# df -h | [root@zetawiki ~]# df -h | ||
Filesystem Size Used Avail Use% Mounted on | Filesystem Size Used Avail Use% Mounted on | ||
8번째 줄: | 8번째 줄: | ||
tmpfs 939M 0 939M 0% /dev/shm | tmpfs 939M 0 939M 0% /dev/shm | ||
/dev/vda1 485M 66M 395M 15% /boot | /dev/vda1 485M 66M 395M 15% /boot | ||
</ | </source> | ||
< | <source lang='console'> | ||
[root@zetawiki ~]# du -hs /var/www/html/w/ | [root@zetawiki ~]# du -hs /var/www/html/w/ | ||
2.3G /var/www/html/w/ | 2.3G /var/www/html/w/ | ||
</ | </source> | ||
:→ 디스크 용량은 9.5 GB 가 남아있고, [[w폴더]]의 전체 용량은 2.3 GB 이므로 백업하기에 여유가 있다. | :→ 디스크 용량은 9.5 GB 가 남아있고, [[w폴더]]의 전체 용량은 2.3 GB 이므로 백업하기에 여유가 있다. | ||
18번째 줄: | 18번째 줄: | ||
;파일 백업 | ;파일 백업 | ||
[[w 폴더]](소스코드 + 업로드 파일)의 사본을 "w-backup"이라는 이름으로 만든다. | [[w 폴더]](소스코드 + 업로드 파일)의 사본을 "w-backup"이라는 이름으로 만든다. | ||
< | <source lang='console'> | ||
[root@zetawiki ~]# cp -a /var/www/html/w /root/w-backup | [root@zetawiki ~]# cp -a /var/www/html/w /root/w-backup | ||
</ | </source> | ||
:→ 진행상황을 알 수 없으니 추가로 SSH 접속하여 아래 명령어로 확인 | :→ 진행상황을 알 수 없으니 추가로 SSH 접속하여 아래 명령어로 확인 | ||
< | <source lang='console'> | ||
[root@zetawiki ~]# watch 'du -bs /var/www/html/w /root/w-backup' | [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 | Every 2.0s: du -bs /var/www/html/w /root... Wed Aug 19 20:53:04 2015 | ||
28번째 줄: | 28번째 줄: | ||
2285354528 /var/www/html/w | 2285354528 /var/www/html/w | ||
2294311692 /root/w-backup | 2294311692 /root/w-backup | ||
</ | </source> | ||
:→ 복사 완료될 때까지 대기 | :→ 복사 완료될 때까지 대기 | ||
:→ 원본 폴더와 사본 폴더 용량이 거의 같아짐<ref>사본이 더 크네? 아파치를 중지하지 않고 진행해서 그런 듯... 캐시파일 등에서 차이가 난다.</ref> | :→ 원본 폴더와 사본 폴더 용량이 거의 같아짐<ref>사본이 더 크네? 아파치를 중지하지 않고 진행해서 그런 듯... 캐시파일 등에서 차이가 난다.</ref> | ||
;DB 백업 | ;DB 백업 | ||
< | <source lang='console'> | ||
[root@zetawiki ~]# cd /root/w-backup | [root@zetawiki ~]# cd /root/w-backup | ||
[root@zetawiki w-backup]# mysqldump -hzetadb -uroot -pP@ssw0rd --databases mydb > mydb-backup.sql | [root@zetawiki w-backup]# mysqldump -hzetadb -uroot -pP@ssw0rd --databases mydb > mydb-backup.sql | ||
[root@zetawiki w-backup]# ll -h 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 | -rw-r--r-- 1 root root 610M Aug 19 20:58 mydb-backup.sql | ||
</ | </source> | ||
==설치파일 다운로드 및 설치== | ==설치파일 다운로드 및 설치== | ||
*[[w 폴더]]의 상위 폴더로 이동하여 mediawiki-1.25.2.tar.gz를 서버에 다운로드(wget) | *[[w 폴더]]의 상위 폴더로 이동하여 mediawiki-1.25.2.tar.gz를 서버에 다운로드(wget) | ||
< | <source lang='console'> | ||
[root@zetawiki ~]# cd /var/www/html | [root@zetawiki ~]# cd /var/www/html | ||
[root@zetawiki html]# wget releases.wikimedia.org/mediawiki/1.25/mediawiki-1.25.2.tar.gz | [root@zetawiki html]# wget releases.wikimedia.org/mediawiki/1.25/mediawiki-1.25.2.tar.gz | ||
54번째 줄: | 54번째 줄: | ||
[root@zetawiki html]# ll mediawiki* | [root@zetawiki html]# ll mediawiki* | ||
-rw-r--r-- 1 root root 24018158 Aug 19 20:19 mediawiki-1.25.2.tar.gz | -rw-r--r-- 1 root root 24018158 Aug 19 20:19 mediawiki-1.25.2.tar.gz | ||
</ | </source> | ||
*압축 해제 후 압축파일 삭제 | *압축 해제 후 압축파일 삭제 | ||
< | <source lang='console'> | ||
[root@zetawiki ~]# tar xvzf mediawiki-1.25.2.tar.gz | [root@zetawiki ~]# tar xvzf mediawiki-1.25.2.tar.gz | ||
... (생략) | ... (생략) | ||
62번째 줄: | 62번째 줄: | ||
mediawiki-1.25.2/languages/ConverterRule.php | mediawiki-1.25.2/languages/ConverterRule.php | ||
mediawiki-1.25.2/languages/Language.php | mediawiki-1.25.2/languages/Language.php | ||
</ | </source> | ||
< | <source lang='console'> | ||
[root@zetawiki html]# rm -f mediawiki-1.25.2.tar.gz | [root@zetawiki html]# rm -f mediawiki-1.25.2.tar.gz | ||
[root@zetawiki html]# | [root@zetawiki html]# | ||
</ | </source> | ||
==기존 파일 가져오기== | ==기존 파일 가져오기== | ||
* 새로운 폴더 mediawiki-1.25.2로 이동 | * 새로운 폴더 mediawiki-1.25.2로 이동 | ||
* 기존 폴더(w 폴더)에서 필요한 파일을 복사해온다. | * 기존 폴더(w 폴더)에서 필요한 파일을 복사해온다. | ||
< | <source lang='console'> | ||
[root@zetawiki html]# cd mediawiki-1.25.2/ | [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/LocalSettings.php . | ||
78번째 줄: | 78번째 줄: | ||
cp: overwrite `./images/.htaccess'? n | cp: overwrite `./images/.htaccess'? n | ||
[root@zetawiki mediawiki-1.25.2]# cp -a ../w/skins/ . | [root@zetawiki mediawiki-1.25.2]# cp -a ../w/skins/ . | ||
</ | </source> | ||
:→ skins 폴더의 경우 overwrite가 없었는데, 스킨폴더명이 모두 [[카멜케이스]]로 변경되었더라. | :→ skins 폴더의 경우 overwrite가 없었는데, 스킨폴더명이 모두 [[카멜케이스]]로 변경되었더라. | ||
* cache 폴더 소유자 변경 | * cache 폴더 소유자 변경 | ||
< | <source lang='console'> | ||
[root@zetawiki mediawiki-1.25.2]# chown -R apache:apache /var/www/html/w/cache/ | [root@zetawiki mediawiki-1.25.2]# chown -R apache:apache /var/www/html/w/cache/ | ||
</ | </source> | ||
==확장기능 가져오기== | ==확장기능 가져오기== | ||
* extensions 폴더는 비교하여 필요한 것을 선별하여 기존 폴더에서 가져오자. | * extensions 폴더는 비교하여 필요한 것을 선별하여 기존 폴더에서 가져오자. | ||
< | <source lang='console'> | ||
[root@zetawiki mediawiki-1.25.2]# cd extensions/ | [root@zetawiki mediawiki-1.25.2]# cd extensions/ | ||
[root@zetawiki extensions]# ls | [root@zetawiki extensions]# ls | ||
95번째 줄: | 95번째 줄: | ||
Gadgets Nuke Renameuser | Gadgets Nuke Renameuser | ||
ImageMap ParserFunctions SpamBlacklist | ImageMap ParserFunctions SpamBlacklist | ||
</ | </source> | ||
< | <source lang='console'> | ||
[root@zetawiki extensions]# ls ../../w/extensions/ | [root@zetawiki extensions]# ls ../../w/extensions/ | ||
... (생략) | ... (생략) | ||
108번째 줄: | 108번째 줄: | ||
Maps ZetaTrace | Maps ZetaTrace | ||
MathJax | MathJax | ||
</ | </source> | ||
< | <source lang='console'> | ||
[root@zetawiki extensions]# cp -a ../../w/extensions/ForceTocOnEveryPage . | [root@zetawiki extensions]# cp -a ../../w/extensions/ForceTocOnEveryPage . | ||
[root@zetawiki extensions]# cp -a ../../w/extensions/YouTube . | [root@zetawiki extensions]# cp -a ../../w/extensions/YouTube . | ||
[root@zetawiki extensions]# cp -a ../../w/extensions/Maps . | [root@zetawiki extensions]# cp -a ../../w/extensions/Maps . | ||
[root@zetawiki extensions]# | [root@zetawiki extensions]# | ||
</ | </source> | ||
==LocalSettings.php 수정== | ==LocalSettings.php 수정== | ||
122번째 줄: | 122번째 줄: | ||
:단, ConfirmEdit는 새 버전에 포함된 것도 아직 구식으로 해야 한다... | :단, ConfirmEdit는 새 버전에 포함된 것도 아직 구식으로 해야 한다... | ||
*아래 예시 참고하여 [[LocalSettings.php]] 수정 | *아래 예시 참고하여 [[LocalSettings.php]] 수정 | ||
< | <source lang='console'> | ||
[root@zetawiki extensions]# cd .. | [root@zetawiki extensions]# cd .. | ||
[root@zetawiki mediawiki-1.25.2]# vi LocalSettings.php | [root@zetawiki mediawiki-1.25.2]# vi LocalSettings.php | ||
</ | </source> | ||
< | <source lang='php'> | ||
// 새 버전에 포함된 것 | // 새 버전에 포함된 것 | ||
wfLoadSkin( 'Vector' ); | wfLoadSkin( 'Vector' ); | ||
142번째 줄: | 142번째 줄: | ||
require_once "$IP/extensions/ForceTocOnEveryPage/ForceTocOnEveryPage.php"; | require_once "$IP/extensions/ForceTocOnEveryPage/ForceTocOnEveryPage.php"; | ||
require_once "$IP/extensions/YouTube/YouTube.php"; | require_once "$IP/extensions/YouTube/YouTube.php"; | ||
</ | </source> | ||
== update 스크립트 실행 (실패) == | == update 스크립트 실행 (실패) == | ||
* 이 문단은 참고만 하시라. | * 이 문단은 참고만 하시라. | ||
* upadate 스크립트를 실행해야 하는데, 구버전 스킨·확장기능을 새 방식으로 Load했을 경우 이러한 오류가 발생한다. | * upadate 스크립트를 실행해야 하는데, 구버전 스킨·확장기능을 새 방식으로 Load했을 경우 이러한 오류가 발생한다. | ||
< | <source lang='console'> | ||
[root@zetawiki mediawiki-1.25.2]# cd maintenance/ | [root@zetawiki mediawiki-1.25.2]# cd maintenance/ | ||
[root@zetawiki maintenance]# php update.php | [root@zetawiki maintenance]# php update.php | ||
158번째 줄: | 158번째 줄: | ||
#4 {main} | #4 {main} | ||
thrown in /var/www/html/mediawiki-1.25.2/includes/registration/ExtensionRegistry.php on line 79 | thrown in /var/www/html/mediawiki-1.25.2/includes/registration/ExtensionRegistry.php on line 79 | ||
</ | </source> | ||
;문제 해결 | ;문제 해결 | ||
165번째 줄: | 165번째 줄: | ||
:wfLoadSkin(), wfLoadExtension()이 json 파일을 필요로 하는 모양... | :wfLoadSkin(), wfLoadExtension()이 json 파일을 필요로 하는 모양... | ||
* 기본 스킨을 Vector로 설정함 | * 기본 스킨을 Vector로 설정함 | ||
< | <source lang='php'> | ||
#$wgDefaultSkin = 'foreground'; | #$wgDefaultSkin = 'foreground'; | ||
$wgDefaultSkin = 'Vector'; | $wgDefaultSkin = 'Vector'; | ||
177번째 줄: | 177번째 줄: | ||
#wfLoadExtension( 'DynamicPageList' ); | #wfLoadExtension( 'DynamicPageList' ); | ||
#wfLoadExtension( 'Scribunto' ); | #wfLoadExtension( 'Scribunto' ); | ||
</ | </source> | ||
== update 스크립트 실행 (성공) == | == update 스크립트 실행 (성공) == | ||
< | <source lang='console'> | ||
root@zetawiki maintenance]# php update.php | root@zetawiki maintenance]# php update.php | ||
MediaWiki 1.25.2 Updater | MediaWiki 1.25.2 Updater | ||
196번째 줄: | 196번째 줄: | ||
Done in 2:28. | Done in 2:28. | ||
[root@zetawiki maintenance]# | [root@zetawiki maintenance]# | ||
</ | </source> | ||
== 폴더 바꿔치기 == | == 폴더 바꿔치기 == | ||
*지금까지 구성한 새 버전 폴더를 실제로 웹에 적용되는 폴더로 전환 | *지금까지 구성한 새 버전 폴더를 실제로 웹에 적용되는 폴더로 전환 | ||
< | <source lang='console'> | ||
[root@zetawiki maintenance]# cd .. | [root@zetawiki maintenance]# cd .. | ||
[root@zetawiki mediawiki-1.25.2]# cd .. | [root@zetawiki mediawiki-1.25.2]# cd .. | ||
206번째 줄: | 206번째 줄: | ||
[root@zetawiki html]# mv mediawiki-1.25.2/ w | [root@zetawiki html]# mv mediawiki-1.25.2/ w | ||
[root@zetawiki html]# | [root@zetawiki html]# | ||
</ | </source> | ||
== (참고) 브라우저 접속 (실패) == | == (참고) 브라우저 접속 (실패) == | ||
212번째 줄: | 212번째 줄: | ||
* cache 폴더의 소유자를 아파치 웹서버 계정으로 바꾸지 않을 경우 발생하는 오류임 | * cache 폴더의 소유자를 아파치 웹서버 계정으로 바꾸지 않을 경우 발생하는 오류임 | ||
* http://zetawiki.com/ 에 접속해보니.. 오류 발생 | * http://zetawiki.com/ 에 접속해보니.. 오류 발생 | ||
< | <source 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. | [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. | ||
221번째 줄: | 221번째 줄: | ||
#2 /var/www/html/w/includes/cache/LocalisationCache.php(323): LocalisationCache->initLanguage(string) | #2 /var/www/html/w/includes/cache/LocalisationCache.php(323): LocalisationCache->initLanguage(string) | ||
... (생략) | ... (생략) | ||
</ | </source> | ||
;문제 해결 | ;문제 해결 | ||
*캐시 폴더 소유자를 apache로 변경 | *캐시 폴더 소유자를 apache로 변경 | ||
< | <source lang='console'> | ||
[root@zetawiki html]# chown -R apache:apache /var/www/html/w/cache/ | [root@zetawiki html]# chown -R apache:apache /var/www/html/w/cache/ | ||
[root@zetawiki html]# ll /var/www/html/w/ | grep cache | [root@zetawiki html]# ll /var/www/html/w/ | grep cache | ||
drwxr-xr-x 14 apache apache 4096 Aug 19 22:46 cache | drwxr-xr-x 14 apache apache 4096 Aug 19 22:46 cache | ||
</ | </source> | ||
*이제 웹페이지가 잘 열린다.. | *이제 웹페이지가 잘 열린다.. | ||
247번째 줄: | 247번째 줄: | ||
==후속조치== | ==후속조치== | ||
*구폴더(w-old)는 웹사용자가 접근하지 못하도록 다른 곳(예: 홈폴더 등)으로 이동시켜 두자. | *구폴더(w-old)는 웹사용자가 접근하지 못하도록 다른 곳(예: 홈폴더 등)으로 이동시켜 두자. | ||
< | <source lang='console'> | ||
[root@zetawiki html]# mv w-old/ ~ | [root@zetawiki html]# mv w-old/ ~ | ||
</ | </source> | ||
*별다른 문제가 없다면 추후 삭제 | *별다른 문제가 없다면 추후 삭제 | ||