미디어위키 업그레이드 1.23.3 → 1.25.2 편집하기

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
{{테스트|미디어위키 1.23.3 → 1.25.2}}
{{테스트|미디어위키 1.23.3 → 1.25.2}}
==서버 용량 확인==
==서버 용량 확인==
<syntaxhighlight lang='console'>
<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
</syntaxhighlight>
</source>
<syntaxhighlight lang='console'>
<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/
</syntaxhighlight>
</source>
:→ 디스크 용량은 9.5 GB 가 남아있고, [[w폴더]]의 전체 용량은 2.3 GB 이므로 백업하기에 여유가 있다.
:→ 디스크 용량은 9.5 GB 가 남아있고, [[w폴더]]의 전체 용량은 2.3 GB 이므로 백업하기에 여유가 있다.


18번째 줄: 18번째 줄:
;파일 백업
;파일 백업
[[w 폴더]](소스코드 + 업로드 파일)의 사본을 "w-backup"이라는 이름으로 만든다.
[[w 폴더]](소스코드 + 업로드 파일)의 사본을 "w-backup"이라는 이름으로 만든다.
<syntaxhighlight lang='console'>
<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
</syntaxhighlight>
</source>
:→ 진행상황을 알 수 없으니 추가로 SSH 접속하여 아래 명령어로 확인
:→ 진행상황을 알 수 없으니 추가로 SSH 접속하여 아래 명령어로 확인
<syntaxhighlight lang='console'>
<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
</syntaxhighlight>
</source>
:→ 복사 완료될 때까지 대기
:→ 복사 완료될 때까지 대기
:→ 원본 폴더와 사본 폴더 용량이 거의 같아짐<ref>사본이 더 크네? 아파치를 중지하지 않고 진행해서 그런 듯... 캐시파일 등에서 차이가 난다.</ref>
:→ 원본 폴더와 사본 폴더 용량이 거의 같아짐<ref>사본이 더 크네? 아파치를 중지하지 않고 진행해서 그런 듯... 캐시파일 등에서 차이가 난다.</ref>


;DB 백업
;DB 백업
<syntaxhighlight lang='console'>
<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
</syntaxhighlight>
</source>


==설치파일 다운로드 및 설치==
==설치파일 다운로드 및 설치==
*[[w 폴더]]의 상위 폴더로 이동하여 mediawiki-1.25.2.tar.gz를 서버에 다운로드(wget)
*[[w 폴더]]의 상위 폴더로 이동하여 mediawiki-1.25.2.tar.gz를 서버에 다운로드(wget)
<syntaxhighlight lang='console'>
<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
</syntaxhighlight>
</source>
*압축 해제 후 압축파일 삭제
*압축 해제 후 압축파일 삭제
<syntaxhighlight lang='console'>
<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
</syntaxhighlight>
</source>
<syntaxhighlight lang='console'>
<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]#  
</syntaxhighlight>
</source>


==기존 파일 가져오기==
==기존 파일 가져오기==
* 새로운 폴더 mediawiki-1.25.2로 이동
* 새로운 폴더 mediawiki-1.25.2로 이동
* 기존 폴더(w 폴더)에서 필요한 파일을 복사해온다.
* 기존 폴더(w 폴더)에서 필요한 파일을 복사해온다.
<syntaxhighlight lang='console'>
<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/ .
</syntaxhighlight>
</source>
:→ skins 폴더의 경우 overwrite가 없었는데, 스킨폴더명이 모두 [[카멜케이스]]로 변경되었더라.
:→ skins 폴더의 경우 overwrite가 없었는데, 스킨폴더명이 모두 [[카멜케이스]]로 변경되었더라.
* cache 폴더 소유자 변경
* cache 폴더 소유자 변경
<syntaxhighlight lang='console'>
<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/  
</syntaxhighlight>
</source>


==확장기능 가져오기==
==확장기능 가져오기==
* extensions 폴더는 비교하여 필요한 것을 선별하여 기존 폴더에서 가져오자.
* extensions 폴더는 비교하여 필요한 것을 선별하여 기존 폴더에서 가져오자.
<syntaxhighlight lang='console'>
<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
</syntaxhighlight>
</source>
<syntaxhighlight lang='console'>
<source lang='console'>
[root@zetawiki extensions]# ls ../../w/extensions/
[root@zetawiki extensions]# ls ../../w/extensions/
... (생략)
... (생략)
108번째 줄: 108번째 줄:
Maps                                  ZetaTrace
Maps                                  ZetaTrace
MathJax
MathJax
</syntaxhighlight>
</source>
<syntaxhighlight lang='console'>
<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]#  
</syntaxhighlight>
</source>


==LocalSettings.php 수정==
==LocalSettings.php 수정==
122번째 줄: 122번째 줄:
:단, ConfirmEdit는 새 버전에 포함된 것도 아직 구식으로 해야 한다...
:단, ConfirmEdit는 새 버전에 포함된 것도 아직 구식으로 해야 한다...
*아래 예시 참고하여 [[LocalSettings.php]] 수정
*아래 예시 참고하여 [[LocalSettings.php]] 수정
<syntaxhighlight lang='console'>
<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  
</syntaxhighlight>
</source>
<syntaxhighlight lang='php'>
<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";
</syntaxhighlight>
</source>


== update 스크립트 실행 (실패) ==
== update 스크립트 실행 (실패) ==
* 이 문단은 참고만 하시라.  
* 이 문단은 참고만 하시라.  
* upadate 스크립트를 실행해야 하는데, 구버전 스킨·확장기능을 새 방식으로 Load했을 경우 이러한 오류가 발생한다.
* upadate 스크립트를 실행해야 하는데, 구버전 스킨·확장기능을 새 방식으로 Load했을 경우 이러한 오류가 발생한다.
<syntaxhighlight lang='console'>
<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
</syntaxhighlight>
</source>


;문제 해결
;문제 해결
165번째 줄: 165번째 줄:
:wfLoadSkin(), wfLoadExtension()이 json 파일을 필요로 하는 모양...
:wfLoadSkin(), wfLoadExtension()이 json 파일을 필요로 하는 모양...
* 기본 스킨을 Vector로 설정함
* 기본 스킨을 Vector로 설정함
<syntaxhighlight lang='php'>
<source lang='php'>
#$wgDefaultSkin = 'foreground';
#$wgDefaultSkin = 'foreground';
$wgDefaultSkin = 'Vector';
$wgDefaultSkin = 'Vector';
177번째 줄: 177번째 줄:
#wfLoadExtension( 'DynamicPageList' );
#wfLoadExtension( 'DynamicPageList' );
#wfLoadExtension( 'Scribunto' );
#wfLoadExtension( 'Scribunto' );
</syntaxhighlight>
</source>


== update 스크립트 실행 (성공) ==
== update 스크립트 실행 (성공) ==
<syntaxhighlight lang='console'>
<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]#  
</syntaxhighlight>
</source>


== 폴더 바꿔치기 ==
== 폴더 바꿔치기 ==
*지금까지 구성한 새 버전 폴더를 실제로 웹에 적용되는 폴더로 전환
*지금까지 구성한 새 버전 폴더를 실제로 웹에 적용되는 폴더로 전환
<syntaxhighlight lang='console'>
<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]#  
</syntaxhighlight>
</source>


== (참고) 브라우저 접속 (실패) ==
== (참고) 브라우저 접속 (실패) ==
212번째 줄: 212번째 줄:
* cache 폴더의 소유자를 아파치 웹서버 계정으로 바꾸지 않을 경우 발생하는 오류임
* cache 폴더의 소유자를 아파치 웹서버 계정으로 바꾸지 않을 경우 발생하는 오류임
* http://zetawiki.com/ 에 접속해보니.. 오류 발생
* http://zetawiki.com/ 에 접속해보니.. 오류 발생
<syntaxhighlight lang='text'>
<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)
... (생략)
... (생략)
</syntaxhighlight>
</source>


;문제 해결
;문제 해결
*캐시 폴더 소유자를 apache로 변경
*캐시 폴더 소유자를 apache로 변경
<syntaxhighlight lang='console'>
<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
</syntaxhighlight>
</source>
*이제 웹페이지가 잘 열린다..
*이제 웹페이지가 잘 열린다..


247번째 줄: 247번째 줄:
==후속조치==
==후속조치==
*구폴더(w-old)는 웹사용자가 접근하지 못하도록 다른 곳(예: 홈폴더 등)으로 이동시켜 두자.
*구폴더(w-old)는 웹사용자가 접근하지 못하도록 다른 곳(예: 홈폴더 등)으로 이동시켜 두자.
<syntaxhighlight lang='console'>
<source lang='console'>
[root@zetawiki html]# mv w-old/ ~
[root@zetawiki html]# mv w-old/ ~
</syntaxhighlight>
</source>
*별다른 문제가 없다면 추후 삭제
*별다른 문제가 없다면 추후 삭제


제타위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 제타위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 편집 도움말 (새 창에서 열림)

이 문서에서 사용한 틀: