작은숲:위키노트/Nginx 미디어위키 설정: 두 판 사이의 차이
잔글 (문자열 찾아 바꾸기 - "분류:위키노트에서 가져온 문서" 문자열을 "{{퍼온문서|위키노트|{{#invoke:string|replace|위키노트:|}}}}분류:위키노트에서 가져온 문서" 문자열로) |
잔글 (문자열 찾아 바꾸기 - "{{퍼온문서|위키노트|{{#invoke:string|replace|위키노트:|}}}}분류:위키노트에서 가져온 문서" 문자열을 "{{퍼온문서|위키노트|{{#invoke:string|replace|{{PAGENAME}}|위키노트:|}}}}분류:위키노트에서 가져온 문서" 문자열로) |
||
| 33번째 줄: | 33번째 줄: | ||
[[분류:서버]] | [[분류:서버]] | ||
[[분류:미디어위키]] | [[분류:미디어위키]] | ||
[[분류:소프트웨어 설정]]{{퍼온문서|위키노트|{{#invoke:string|replace|위키노트:|}}}}[[분류:위키노트에서 가져온 문서]] | [[분류:소프트웨어 설정]]{{퍼온문서|위키노트|{{#invoke:string|replace|{{PAGENAME}}|위키노트:|}}}}[[분류:위키노트에서 가져온 문서]] | ||
2017년 3월 2일 (목) 00:37 판
Nginx에서는 아파치와 달리 .htaccess 파일을 쓸 수 없기 때문에 필요한 설정을 모두 server 블럭에서 처리해야 한다. 특히 짧은 주소 방식을 쓰려면 location 지시자를 써서 Nginx에게 우리가 원하는 것을 알려줘야 한다.
location = / {
rewrite ^ /wiki/ break;
}location ^~ /w/ {
try_files $uri @mediawiki;
}location @mediawiki {
rewrite ^/w/(.*)$ /wiki/index.php?titles=$1&args;
}location ^~ ^/wiki/(cache|includes|maintenance|languages|serialized|tests|images/deleted)/ {
access_log off;
log_not_found off;
deny all;
}location ^~ ^/wiki/(docs|extensions|includes|maintenance|mw-config|resources|serialized|tests)/ {
internal;
}
위 설정에서는 미디어위키가 루트 디렉토리 아래 wiki 디렉토리에 설치되어 있고, 짧은 주소를 쓸 때는 /w/미디어위키와 같은 형태로 쓰고자 한다.
- 첫 번째 location 블럭은 도메인네임으로만 접속한 경우 미디어위키가 설치된 디렉토리로 보내주는 것이다.
- 두 번째 location 블럭은 짧은 주소의 형태로 접속한 경우 이를 처리하기 위한 설정이다.
- 세 번째 location 블럭에서는 실제로 rewrite 지시자를 써서 짧은 주소 형태의 주소를 제대로 처리하도록 한다.
- 네 번째 location 블럭은 외부에서 접근하지 못하게 할 미디어위키의 디렉토리를 보호한다.
- 다섯 번째 location 블럭은 미디어위키 소프트웨어 내부에서 사용할 수도 있는 디렉토리를 설정한다.
이와 같이 웹 서버를 Nginx를 쓰는 경우에는 아파치의 .htaccess 파일에서 했던 설정을 location 지시자를 써서 직접 설정해줘야 한다.
참고
- (영어) Nginx: MediaWiki
- (영어) MediaWiki on Nginx
- (영어) Nginx Installation and Configuration
- (영어) mw:Manual:Short URL/wiki/Page title -- nginx rewrite--root access
- (영어) mw:Manual:Short URL/Page title - nginx, Root Access, PHP as a CGI_module
| 설치와 설정 | |
|---|---|
| 기능과 활용 | |
| 관리와 개발 | |