본문으로 이동

미디어위키 1.45 안정화가 거의 끝났습니다. 다만 Flow 확장 기능 관련 이슈가 있어서 대체하는 작업을 수행할 계획입니다.

  1. 큰숲백과:청사진에서 위키 발전의 대략적인 방향성을 제시했습니다. 의견이 있으신 분은 큰숲백과토론:청사진에서 의견을 남겨주시면 좋겠습니다.
  2. 기능상의 오류로 지원하지 않고 있는 기능에 대해서는 큰숲백과토론:이슈 트래커에 요약했습니다. 참고하시기 바랍니다.
  3. 데이터베이스 덤프 받고싶으신 분은 큰숲백과 가입 후에 사용자토론:Bigforest에 의견 남겨주시면 ftp 주소, 계정, 비밀번호를 특수:EmailUser를 통해서 공개할 예정입니다.

작은숲:위키노트/미디어위키 짧은 주소 설정

큰숲백과, 나무를 보지 말고 큰 숲을 보라.
Utolee90 (토론 | 기여)님의 2017년 3월 1일 (수) 23:52 판 (판 1개를 가져왔습니다: 자유위키의 위키노트 데이터 가져옴)

미디어위키에서 짧은 주소를 쓰기 위해서는 위키노트:아파치 mod_rewrite 모듈 같은 주소를 재지정해줄 수 있는 웹 서버 기능이 필요하다.

아파치 웹 서버 설정

아파치 mod_rewrite 모듈을 쓰는 경우 아래 내용을 루트 디렉토리의 .htaccess 파일이나 가상 호스트 설정에 추가한다.

<IfModule rewrite_module>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^$ wiki/ [R,L]
    # don't touch some reserved urls
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule . - [L]
    # wiki article
    RewriteRule ^w/(.+)$ wiki/index.php/$1 [QSA,L]
</IfModule>

미디어위키가 /var/www/wiki 디렉토리에 설치되어 있고 도메인의 루트 디렉토리는 /var/www 디렉토리라고 했을 때, yourdomain.com으로 접속하면 /var/www으로 들어오게 된다. 이럴 때 RewriteRule ^$ wiki/ [R,L]과 같이 설정하면 곧바로 yourdomain.com/wiki/로 보내준다. 이런 기능이 필요 없다면 RewriteRule ^$ wiki/ [R,L]은 지우도록 한다. RewriteCond %{REQUEST_FILENAME} -f은 "브라우저가 요청한 것이 서버에 실제하는 파일"인지 검사한다. 그래서 파일이면 바로 아래에 나온 룰에 따라 요청한 파일을 그대로 보낸다. 실제 주소로 동작하는 기능(예를 들어 load.php나 api.php 등)이나 CSS, 자바스크립트와 같은 리소스 파일들이 여기에 해당한다. 사용자가 위키노트:브라우저 주소창에 yourdomain.com/w/미디어위키라고 입력하면 RewriteRule ^w/(.+)$ wiki/index.php/$1 [QSA,L] 룰에 따라 이 요청은 yourdomain.com/wiki/index.php/미디어위키라고 풀어서 처리하게 된다. 즉 /wiki/index.php/미디어위키라고 표현되던 URL을 /w/미디어위키와 같이 짧게 표현할 수 있다.

Nginx 웹 서버 설정

미디어위키 설정

웹 서버를 설정했다면 이제 미디어위키의 LocalSettings.php를 수정해서 위에 설정한 짧은 주소를 위키 내에서도 쓰도록 한다.

## The URL base path to the directory containing the wiki;
## defaults for all runtime URL paths are based off of this.
## For more information on customizing the URLs
## (like /w/index.php/Page_title to /wiki/Page_title) please see:
## https://www.mediawiki.org/wiki/Manual:Short_URL
$wgScriptPath = "/wiki";
$wgScript = "$wgScriptPath/index.php";
$wgArticlePath = "/w/$1";
$wgScriptExtension = ".php";

$wgArticlePath 변수를 웹 서버 설정할 때 지정했던 주소로 설정한다. /w/$1에서 $1은 문서의 제목이 자동으로 들어가는 곳이다.

참고