작은숲:위키노트/미디어위키 업로드 설정: 두 판 사이의 차이
잔글 (문자열 찾아 바꾸기 - "</source>" 문자열을 "</syntaxhighlight>" 문자열로) |
잔글 (Utolee90님이 위키노트:미디어위키 업로드 설정 문서를 넘겨주기를 만들지 않고 작은숲:위키노트/미디어위키 업로드 설정 문서로 이동했습니다: 위키노트 문서 작은숲으로 이동) |
||
| (같은 사용자의 중간 판 2개는 보이지 않습니다) | |||
| 1번째 줄: | 1번째 줄: | ||
[[위키노트 | [[작은숲:위키노트/미디어위키|미디어위키]]를 설치하면 기본값으로 파일 업로드가 되지 않도록 되어 있다. 하지만 몇 가지 확인과 설정을 해서 파일을 업로드 할 수 있도록 만들 수 있다. | ||
== 파일을 저장할 디렉토리의 소유자 변경 == | == 파일을 저장할 디렉토리의 소유자 변경 == | ||
파일을 업로드 하기 위해서는 서버 콘솔에 접근할 수 있어야 한다. 파일을 저장할 디렉토리에 웹 서버가 구동되는 계정으로 쓰기 권한이 있어야 하기 때문이다. 서버 콘솔에 접근할 수 없다면 안타깝지만 미디어위키에서 파일을 업로드 할 방법이 없다. FTP나 SFTP로 접근이 가능하다면 아래에 설명할 디렉토리의 퍼미션을 수정하는 방법을 쓸 수 있지만 그리 좋은 방법은 아니다. 만약 웹 호스팅 서비스를 사용 중이라면 호스팅 업체에 문의하도록 하자. | 파일을 업로드 하기 위해서는 서버 콘솔에 접근할 수 있어야 한다. 파일을 저장할 디렉토리에 웹 서버가 구동되는 계정으로 쓰기 권한이 있어야 하기 때문이다. 서버 콘솔에 접근할 수 없다면 안타깝지만 미디어위키에서 파일을 업로드 할 방법이 없다. FTP나 SFTP로 접근이 가능하다면 아래에 설명할 디렉토리의 퍼미션을 수정하는 방법을 쓸 수 있지만 그리 좋은 방법은 아니다. 만약 웹 호스팅 서비스를 사용 중이라면 호스팅 업체에 문의하도록 하자. | ||
| 21번째 줄: | 21번째 줄: | ||
$wgImageMagickConvertCommand = "/usr/bin/convert"; | $wgImageMagickConvertCommand = "/usr/bin/convert"; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<tt>$wgEnableUploads</tt> 변수의 값을 <tt>true</tt>로 변경하거나 추가하면 이제부터 파일 업로드가 가능해진다. 설치한 [[위키노트 | <tt>$wgEnableUploads</tt> 변수의 값을 <tt>true</tt>로 변경하거나 추가하면 이제부터 파일 업로드가 가능해진다. 설치한 [[작은숲:위키노트/위키|위키]]에 접속하면 화면 왼쪽 메뉴에 '파일 올리기' 기능이 새로 나타난 것을 볼 수 있을 것이다. | ||
<tt>$wgUseImageMagick</tt> 변수와 <tt>$wgImageMagickConvertCommand</tt> 변수는 그림 파일을 올렸을 때 적절한 크기의 섬네일을 만들기 위한 설정이다. 이 설정을 쓰기 위해서는 서버에 <tt>[[ImageMagick]]</tt> 패키지가 설치되어 있어야 한다. | <tt>$wgUseImageMagick</tt> 변수와 <tt>$wgImageMagickConvertCommand</tt> 변수는 그림 파일을 올렸을 때 적절한 크기의 섬네일을 만들기 위한 설정이다. 이 설정을 쓰기 위해서는 서버에 <tt>[[ImageMagick]]</tt> 패키지가 설치되어 있어야 한다. | ||
== 업로드를 허용할 파일 확장자 설정 == | == 업로드를 허용할 파일 확장자 설정 == | ||
| 44번째 줄: | 44번째 줄: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<tt>[[mw:Manual:$wgUploadDirectory|$wgUploadDirectory]]</tt> 변수에는 파일을 저장할 실제 디렉토리의 경로를, <tt>$wgUploadPath</tt> 변수에는 웹에서 접근할 때의 경로를 지정한다. 물론 이렇게 하더라도 위에서 한 것처럼 파일을 저장할 디렉토리에 웹 서버가 구동되는 계정으로 쓸 수 있어야 한다. | <tt>[[mw:Manual:$wgUploadDirectory|$wgUploadDirectory]]</tt> 변수에는 파일을 저장할 실제 디렉토리의 경로를, <tt>$wgUploadPath</tt> 변수에는 웹에서 접근할 때의 경로를 지정한다. 물론 이렇게 하더라도 위에서 한 것처럼 파일을 저장할 디렉토리에 웹 서버가 구동되는 계정으로 쓸 수 있어야 한다. | ||
이 변수들을 써서 미디어위키가 설치된 디렉토리가 아닌 다른 경로에 있는 디렉토리를 지정할 수도 있다. 다만 이 경우에는 웹에서 접근할 수 있도록 파일 디렉토리의 [[심볼릭 링크]]를 만들거나 [[위키노트 | 이 변수들을 써서 미디어위키가 설치된 디렉토리가 아닌 다른 경로에 있는 디렉토리를 지정할 수도 있다. 다만 이 경우에는 웹에서 접근할 수 있도록 파일 디렉토리의 [[심볼릭 링크]]를 만들거나 [[작은숲:위키노트/웹 서버|웹 서버]] 설정에서 별칭(Alias)을 지정해줘야 한다. | ||
== 참고 == | == 참고 == | ||
* https://www.mediawiki.org/wiki/Manual:Configuring_file_uploads | * https://www.mediawiki.org/wiki/Manual:Configuring_file_uploads | ||
| 50번째 줄: | 50번째 줄: | ||
* https://www.mediawiki.org/wiki/Manual:Security#Upload_security | * https://www.mediawiki.org/wiki/Manual:Security#Upload_security | ||
{{미디어위키}} | {{미디어위키}} | ||
[[분류:공유]] | [[분류:위키노트/공유]] | ||
[[분류:미디어위키]] | [[분류:미디어위키]] | ||
[[분류:위키노트/소프트웨어 설정]]{{퍼온문서|위키노트|{{#invoke:string|replace|{{PAGENAME}}|위키노트:|}}}}[[분류:위키노트에서 가져온 문서]] | [[분류:위키노트/소프트웨어 설정]]{{퍼온문서|위키노트|{{#invoke:string|replace|{{PAGENAME}}|위키노트:|}}}}[[분류:위키노트에서 가져온 문서]] | ||
2022년 5월 7일 (토) 19:22 기준 최신판
미디어위키를 설치하면 기본값으로 파일 업로드가 되지 않도록 되어 있다. 하지만 몇 가지 확인과 설정을 해서 파일을 업로드 할 수 있도록 만들 수 있다.
파일을 저장할 디렉토리의 소유자 변경
파일을 업로드 하기 위해서는 서버 콘솔에 접근할 수 있어야 한다. 파일을 저장할 디렉토리에 웹 서버가 구동되는 계정으로 쓰기 권한이 있어야 하기 때문이다. 서버 콘솔에 접근할 수 없다면 안타깝지만 미디어위키에서 파일을 업로드 할 방법이 없다. FTP나 SFTP로 접근이 가능하다면 아래에 설명할 디렉토리의 퍼미션을 수정하는 방법을 쓸 수 있지만 그리 좋은 방법은 아니다. 만약 웹 호스팅 서비스를 사용 중이라면 호스팅 업체에 문의하도록 하자.
업로드한 파일을 저장하는 디렉토리는 미디어위키가 설치된 디렉토리 아래의 images 디렉토리이다. 이 디렉토리가 웹 서버가 구동되는 계정으로 쓸 수 있도록 만들어야 한다. root 계정을 사용할 수 있다면 images 디렉토리의 소유자를 웹 서버가 구동되는 계정으로 만들어준다.
# chown nobody images
웹 서버가 구동되는 계정은 서버마다 다르니 ps -ef | grep httpd | grep -v grep 명령으로 미리 확인하도록 한다.
만약 root 계정을 쓸 수 없다면 위험한 방법이지만 images 디렉토리의 퍼미션을 다른 사용자가 쓸 수 있도록 해야 한다. 하지만 이건 그리 추천할 만한 방법은 아니다. root 계정을 사용할 수 없지만 꼭 파일을 올려야 한다면 모르겠지만, 그렇지 않다면 root 계정으로 위 방법대로 하는 것이 좋다.
# chmod o+w images
디렉토리의 퍼미션은 757이나 777로 해도 된다.
미디어위키 설정 추가
이제 LocalSettings.php 파일에 아래 내용을 추가하거나 수정한다.
## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";
$wgEnableUploads 변수의 값을 true로 변경하거나 추가하면 이제부터 파일 업로드가 가능해진다. 설치한 위키에 접속하면 화면 왼쪽 메뉴에 '파일 올리기' 기능이 새로 나타난 것을 볼 수 있을 것이다. $wgUseImageMagick 변수와 $wgImageMagickConvertCommand 변수는 그림 파일을 올렸을 때 적절한 크기의 섬네일을 만들기 위한 설정이다. 이 설정을 쓰기 위해서는 서버에 ImageMagick 패키지가 설치되어 있어야 한다.
업로드를 허용할 파일 확장자 설정
미디어위키에서는 기본값으로 png, gif, jpg, jpeg 파일만 업로드할 수 있다. 이 외의 다른 파일 종류를 업로드 하려면 LocalSettings.php 파일에 설정을 추가해야 한다.
$wgFileExtensions[] = 'zip';
$wgFileExtensions[] = 'gz';
$wgFileExtensions[] = 'doc';
$wgFileExtensions[] = 'xls';
$wgFileExtensions[] = 'pdf';
$wgFileExtensions 변수는 업로드를 허용할 확장자를 저장하고 있는 배열이다. 이 배열에 위와 같이 파일 확장자를 추가하면 된다.
파일을 저장할 디렉토리를 다른 디렉토리로 변경
업로드 한 파일을 저장할 디렉토리를 기본 디렉토리인 images 디렉토리가 아닌 다른 디렉토리로 바꿀 수도 있다.
## The URL path to static resources (images, scripts, etc.)
$wgResourceBasePath = $wgScriptPath;
...
// upload directory
$wgUploadDirectory = "/var/www/mediawiki/files";
$wgUploadPath = "$wgResourceBasePath/files";
$wgUploadDirectory 변수에는 파일을 저장할 실제 디렉토리의 경로를, $wgUploadPath 변수에는 웹에서 접근할 때의 경로를 지정한다. 물론 이렇게 하더라도 위에서 한 것처럼 파일을 저장할 디렉토리에 웹 서버가 구동되는 계정으로 쓸 수 있어야 한다. 이 변수들을 써서 미디어위키가 설치된 디렉토리가 아닌 다른 경로에 있는 디렉토리를 지정할 수도 있다. 다만 이 경우에는 웹에서 접근할 수 있도록 파일 디렉토리의 심볼릭 링크를 만들거나 웹 서버 설정에서 별칭(Alias)을 지정해줘야 한다.
참고
- https://www.mediawiki.org/wiki/Manual:Configuring_file_uploads
- https://www.mediawiki.org/wiki/Manual:$wgFileExtensions
- https://www.mediawiki.org/wiki/Manual:Security#Upload_security
| 설치와 설정 | |
|---|---|
| 기능과 활용 | |
| 관리와 개발 | |