오늘 드디어 미디어위키 살리기에 손을 댔다.;
'드디어'라고 표현한 것은, 지난 번에 내 개인 서버의 OS인 데비안을 Etch (4.0)에서 Lenny (5.0)로 업그레이드 하는 과정 중 미디어위키가 날라간 것을 포착하였으나, 귀차니즘으로 인해 그냥 뒀다가 이제서야 손을 댔기 때문이다.;
아무튼, 이놈의 미디어위키를 살리기 위해서 삽질 좀 했다.; 당췌 미디어위키는 왜 날린 거야? -_-;
우선, Lenny에 포함된 새 버전의 미디어위키를 설치하였다. 데비안 Etch에 포함되었던 미디어위키의 버전은 1.7이었는데, 이번에 Lenny에 포함된 버전은 무려 1.12이다. 아무리 버전 차이가 난다고 해도 1.7 버전을 그냥 지워 버릴 건 뭐람.;
일단 다음과 같이 새 버전의 미디어위키를 설치해 주었다.
# apt-get install mediawiki
미디어위키가 설치되면 /etc/apache2/conf.d/ 디렉터리에 mediawiki.conf 파일이 생성되는데 여기서 앨리어스 설정을 해주어야 했다. vi로 파일을 열고,
# vi /etc/apache2/conf.d/mediawiki.conf
앨리어스 설정 부분의 주석을 해제하였다.
# Alias /mediawiki /var/lib/mediawiki -> Alias /mediawiki /var/lib/mediawiki
다음 수순은 당연히 아파치 재시작~
# /etc/init.d/apache2 restart
그리고 나서 http://localhost/mediawiki로 접속하여 설치 진행~
설치가 성공적으로 완료되고 나니 다음과 같은 지시 사항(?)이 보였다.
Move /var/lib/mediawiki/config/LocalSettings.php to /etc/mediawiki
하라는 대로 착하게 수행!
# mv /var/lib/mediawiki/config/LocalSettings.php /etc/mediawiki
또한, 그 지시 사항(?) 아래에 보니,
You should change file permissions for LocalSettings.php as required to
prevent other users on the server reading passwords and altering configuration data.
라고 해서, 또 착하게 하라는 대로 했다.;
# chmod 600 /etc/mediawiki/LocalSetting.php
그리고 난 후, 'this link'라는 링크를 눌러 미디어위키 접속을 한 번 해보고~ (깨끗~~~~한 인덱스 페이지에 분루를 뿌렸.;)
그 다음에는 /usr/share/doc/mediawiki/ 디렉터리에 있는 UPGRADE.gz 파일을 참고하여 데이터베이스 마이그레이션을 시도하였다. 버전이 크게 올라가면서 DB 스키마에 다소 변경이 있었기 때문이다.
데이터마이그레이션을 해주는 스크립트는 update.php 파일로, /usr/share/mediawiki/maintenance 위치해 있다. 해당 디렉터리로 이동해서 다음과 같이 실행하니,
# php update.php
다음과 같이 랄지랄지(...;) 한다.
MediaWiki 1.12.0 Updater
No superuser credentials could be found. Please provide the details
of a user with appropriate permissions to update the database. See
AdminSettings.sample for more details.
데이터베이스 마이그레이션을 하는데, 당연히 미디어위키의 데이터베이스에 관한 접속 정보가 있어야 한다는 진리를 일깨워 주시는 업데이터님.;
이렇게 하였다. 우선 AdminSetting.sample 파일을 /usr/share/doc/mediawiki/examples/ 디렉터리로 부터 /etc/mediawiki/ 디렉터리에 AdminSetting.php라는 이름으로 복사했다.
# cp /usr/share/doc/mediawiki/examples/AdminSettings.sample /etc/mediawiki/AdminSettings.php
그 다음에 vi로 AdminSetting.php를 열어 다음과 같이 데이터베이스 접속 정보를 입력해 주었다.
$wgDBadminuser = 'xxxxxxxxxx';
$wgDBadminpassword = 'xxxxxxxxxx';
물론 위처럼 'xxxxxxxxxx'라고 하진 않았다.; 실제 접속 정보를 넣었다.; 그런 다음 보안을 위해 다음과 같이 퍼미션을 조정해 주었다.
# chmod 600 /etc/mediawiki/AdminSettings.php
그러고 난뒤 업데이터님(...) 재실행~ (물론 /usr/share/mediawiki/maintenance/ 디렉터리에서...)
# php update.php
그랬더니 메시지를 주루룩 뿌려주신다.;
...
(전략)
...
Deleting old default messages (this may take a long time!)...Done
Checking site_stats row...ok.
Purging caches...done.
Done.
아, 저 'Done.' 메시지를 봤을 때의 기쁨이란! 아무튼, 다시 위키에 접속해 보니, 휑~ 한 인덱스 페이지는 그대로 였지만 '특수 문서'에서 '모든 문서'를 눌러서 보면 나의 글들이 잘 있는 것을 볼 수 있었다! 인덱스 페이지는 미디어위키 설치 시 언어를 '한국어'로 해서 미디어위키의 첫 페이지가 '대문' 페이지가 되었기 때문인 것 같다. '모든 문서' 페이지에서 'Main_Page' 페이지를 열어보니 이전 버전에서 내가 수정해 놓았던 것이 그대로 있다. 설정으로 바꿔진다면 언어를 다시 '영어'로 가야겠다.;;;
결론적으로 이 포스팅은, 데비안에서 미디어위키를 1.7 버전에서 1.12 버전으로 업그레이드하는 방법이 되겠다.;
오늘의 삽질 끝! -_-;
Posted by pcandme