"미디어위키 업로드 가능하게 하기"의 두 판 사이의 차이

(사용자 2명의 중간 판 16개는 보이지 않습니다)
1번째 줄: 1번째 줄:
{{테스트|미디어위키 1.18.0, 리눅스}}
{{테스트|미디어위키 1.18.0, 리눅스}}
;미디어위키 업로드 가능하게 하기
;미디어위키 업로드 설정
;미디어위키 업로드 폴더 권한 문제


==설정파일 변경==
==설정파일 변경==
22번째 줄: 25번째 줄:


==폴더 권한==
==폴더 권한==
*파일 올리기가 안되는 경우 설치폴더 아래의 images 폴더의 권한을 확인하고, 업로드가 가능하도록 권한을 조정한다.
파일 올리기가 안되는 경우 설치폴더 아래의 images 폴더의 권한을 확인하고, 업로드가 가능하도록 권한을 조정한다.
*특별히 건드리지 않았다면 images 권한의 초기 상태는 755일 것이다. 757로 바꿔보자. 그래도 안된다면 777로 바꿔보자.
*[[미디어위키 폴더]]로 이동하여 images의 소유자와 퍼미션 확인
(images 폴더의 소유자(owner) 계정, 아파치 구동 계정에 따라 달라질 수 있다.)
<source lang='console'>
 
[root@zetawiki w]# ll -d images
;명령어
drwxr-xr-x  2 root root  4096 Jul  8  2011 images
<source lang='bash'>
chmod -R 757 images
</source>
</source>
:→ 특별히 건드리지 않았다면 위와 같이 소유자는 root, 퍼미션은 755일 것이다.


;변경 전
*[[httpd]] 프로세스의 owner를 확인해보자.
<source lang='dos'>
<source lang='console'>
[root@jmnote wiki]# ll | grep images
[root@zetawiki w]# ps -ef | grep httpd | grep -v grep
drwxr-xr-x 2 1244 1244   4096 Jul 8 2011 images
root    26460    1  0 01:37 ?        00:00:00 /usr/sbin/httpd
apache  28239 26460  0 04:02 ?        00:00:48 /usr/sbin/httpd
apache  28240 26460 0 04:02 ?        00:00:49 /usr/sbin/httpd
apache   28241 26460 0 04:02 ?        00:00:47 /usr/sbin/httpd
... (생략)
apache  31072 26460 0 04:22 ?        00:00:48 /usr/sbin/httpd
</source>
</source>
 
:→ 부모 프로세스는 1개 있고 root 권한으로, 자식 프로세스는 여러 개 있고 apache 권한으로 실행된다.
;변경 후
:→ httpd가 파일에 접근할 때는 apache 권한을 가지게 된다.
<source lang='dos'>
따라서 image 폴더의 소유자를 apache로, 퍼미션을 700으로 해보자.<ref>apache 계정만 자유롭게 읽고 쓸 수 있게 함</ref>
[root@jmnote wiki]# chmod -R 757 images
<source lang='console'>
[root@jmnote wiki]# ll | grep images
[root@zetawiki w]# chown -R apache:apache images
drwxr-xrwx 4 1244 1244  4096 Jan 25 11:22 images
[root@zetawiki w]# chmod -R 700 images
[root@zetawiki w]# ll -d images
drwx------ 22 apache apache 4096 Sep 2 22:38 images
</source>
</source>


===테스트===
==같이 보기==
*555: 오류 The upload directory (public) is not writable by the webserver.
* [[미디어위키 업로드 파일 확장자]] (확장자 문제)
*655: 오류 The upload directory (public) is not writable by the webserver.
* [[미디어위키 $wgEnableUploads]]
*755: 오류 The upload directory (public) is not writable by the webserver.
* [[미디어위키 파일 업로드 최대 크기 지정]]
*556: 오류 Could not create directory "public/5/5b".
*656: 오류 Could not create directory "public/5/5b".
*756: 오류 Could not create directory "public/5/5b".
*557: 오류 Could not create directory "public/archive/5/5b".
*657: 오류 Could not create directory "public/archive/5/5b".
*757: 성공


==같이 보기==
==참고==
*[[미디어위키 업로드 파일 확장자]]


[[분류:미디어위키]]
[[분류: 미디어위키 업로드]]

2019년 11월 21일 (목) 18:58 판

미디어위키 업로드 가능하게 하기
미디어위키 업로드 설정
미디어위키 업로드 폴더 권한 문제

1 설정파일 변경

미디어위키를 처음 설치했을 때는 업로드가 불가능하게 되어 있다. 왼쪽 도구모음 메뉴에 '파일 올리기'가 없을 것이다. 설치폴더에 있는 LocalSettings.php에서 $wgEnableUploads를 true로 해주면 나타난다.

  • 변경 전
## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads  = false;
  • 변경 후
## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads  = true;

이렇게 파일을 수정하고 웹사이트를 열면 왼쪽 메뉴의 도구모음에 '파일 올리기'가 보일 것이다.

2 폴더 권한

파일 올리기가 안되는 경우 설치폴더 아래의 images 폴더의 권한을 확인하고, 업로드가 가능하도록 권한을 조정한다.

[root@zetawiki w]# ll -d images
drwxr-xr-x  2 root root   4096 Jul  8  2011 images
→ 특별히 건드리지 않았다면 위와 같이 소유자는 root, 퍼미션은 755일 것이다.
  • httpd 프로세스의 owner를 확인해보자.
[root@zetawiki w]# ps -ef | grep httpd | grep -v grep
root     26460     1  0 01:37 ?        00:00:00 /usr/sbin/httpd
apache   28239 26460  0 04:02 ?        00:00:48 /usr/sbin/httpd
apache   28240 26460  0 04:02 ?        00:00:49 /usr/sbin/httpd
apache   28241 26460  0 04:02 ?        00:00:47 /usr/sbin/httpd
... (생략)
apache   31072 26460  0 04:22 ?        00:00:48 /usr/sbin/httpd
→ 부모 프로세스는 1개 있고 root 권한으로, 자식 프로세스는 여러 개 있고 apache 권한으로 실행된다.
→ httpd가 파일에 접근할 때는 apache 권한을 가지게 된다.

따라서 image 폴더의 소유자를 apache로, 퍼미션을 700으로 해보자.[1]

[root@zetawiki w]# chown -R apache:apache images
[root@zetawiki w]# chmod -R 700 images
[root@zetawiki w]# ll -d images
drwx------ 22 apache apache 4096 Sep  2 22:38 images

3 같이 보기

4 참고

  1. apache 계정만 자유롭게 읽고 쓸 수 있게 함
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}