미디어 위키 파일 업로드 오류



비공개로 업로드할 수 없습니다 (UploadStashFileException): “”mwstore:local-backend/local-temp/a/ab” 디렉터리를 만들 수 없습니다.”.

관리하고 있는 개인 위키에 그간 파일업로드를 안했었기 때문에 모르고 있었는데, 오늘 좀 쓸일이 있어서 업로드를 했더니만 위 스샷처럼 오류가 발생했다.

뭔가 설정이 잘못되었겠거니 하고 찾아보니 역시 미디어위키 공식 페이지에 답이 있다. (s.xeriars.com/1Ol3 참조)

몇가지 해결방법이 있는데, 다음과 같다.

1. php.ini에 파일업로드 옵션이 켜져있는지 확인.

우분투 기준 /etc/php/php버전명/fpm 경로에 위치하고 있으며 nano 같은 편집기로 열어 확인이 가능하다.



file_uploads = On

디폴트 설정은 On 일테니 크게 문제는 없을 것 같다만 일단 확인해볼 필요는 있으니까.

php.ini 열어 본 김에, 업로드 사이즈도 확인해본다. 20MB 정도면 충분할 듯 한데, 너무 작다면 조절해준다.

2. 미디어위키 설치 디렉터리 내 images 폴더의 파일소유자를 확인한다.



<만일 스샷처럼 www-data 로 설정되어 있지 않다면 다음과 같이 설정.

sudo chown -R www-data:www-data images/

또한 images 폴더의 퍼미션도 755로 설정해준다.

sudo chmod 755 images

3. LocalSettings.php 파일을 확인한다.



$wgEnableUploads = true; 가 아니라 false; 라면 업로드가 되지 않으므로 확인.

파일을 연 김에 업로드 확장자 제한도 같이 설정해준다.

$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'doc',
    'xls', 'mpp', 'pdf', 'ppt', 'tiff', 'bmp', 'docx', 'xlsx',
    'pptx', 'ps', 'odt', 'ods', 'odp', 'odg'
);

또는

$wgFileExtensions = array_merge( $wgFileExtensions,
    array( 'doc', 'xls', 'mpp', 'pdf', 'ppt', 'xlsx', 'jpg', 
        'tiff', 'odt', 'odg', 'ods', 'odp'
    )
);

또는

$wgFileExtensions[] = 'docx';
$wgFileExtensions[] = 'xls';
$wgFileExtensions[] = 'pdf';
$wgFileExtensions[] = 'mpp';
$wgFileExtensions[] = 'odt';
$wgFileExtensions[] = 'ods';

위와 같이 설정해줄 수 있으며, 미디어위키에도 나오는 예시방법이다.

여기까지 설정했더니 일단 문제점은 해결되었다.

이정도까지 설정하면 왠만한 경우는 모두 해결 될 듯 한데, 그 이외에도 안된다면 그땐 상기 언급한 것과 같이 미디어위키 공식페이지 글을 정독해야 할 듯 싶다.

댓글 남기기