웹마스터 팁

https://github.com/xpressengine/xe-core/issues/1605​

현재 files 아래에 생성되는 모든 파일의 퍼미션은 그 파일의 소유자/그룹이 모두 www-data 혹은 그에 준하는 사용자입니다.
따라서 이 아래의 파일을 수정해주려면 https://www.xpressengine.com/qna/21638521 에 언급되어있는 것처럼 간단한 php 스크립트를 만들어서 해결해야 합니다.

https://www.xpressengine.com/devlog/22674444 같은 공식 문서는 아예 호스팅 업체에 문의하라는 일반 사용자 입장에서 조금 황당한 설명이 있기도 합니다.

이러한 문제를 해결하려면 유닉스에 익숙하신 사용자라면 files 디렉토리 퍼미션에 sgid 퍼미션을 주면 된다는 사실을 알고계실것입니다. 즉, files 디렉토리 아래에 생성되는 모든 파일의 그룹소유주가, 자신의 그룹 소유주와 같게 됩니다.

즉 자신의 유저/그룹에 각각 foobar:hello이고 files/ 디렉토리에 sgid 퍼미션 비트가 설정되어 있으면,files/ 아래에 www-data아파치 유저에 의해서 생성되는 files/cache/page/foobar.php 파일의 소유주:그룹www-data:www-data가 아닌 www-data:hello가 됩니다.

따라서 소유주는 files 아래의 모든 파일을 손쉽게 삭제하여 관리할 수 있으며, 특정 템플리트 캐시를 고쳐서 간단히 테스트해볼 수 있는 방법을 써먹을 수도 있어서 호스팅 관리자를 덜 괴롭히게 할 것입니다.

디렉토리에 SGID 비트를 설정하려면 chmod 2777 files라고 하면 됩니다.
최초 XE를 설치할 때에 XE 최상위 디렉토리의 퍼미션을 777이 아닌 2777라고 해야 합니다.

또한 XE가 이미 설치되어 있는 경우에는 다음과 같은 명령으로 모든 디렉토리에 대해 sgid 비트를 세팅할 수 있습니다. (files 포함. 파일 소유주의 그룹이 mygroup인 경우)

$ sudo find files -type d |xargs chmod 2777
$ sudo find files -type d |xargs chgrp mygroup

도쿠위키에서 설정하는 방법
https://www.dokuwiki.org/install:permissions#tipusing_the_setgid_bit


현재 XE 메뉴얼 페이지에서는 files 디렉토리를 만든 후에 707 퍼미션으로 만들라고 되어있는데,

  • 현재 files 디렉토리는 자동 생성 가능함.
  • 자동 생성될 경우에 퍼미션은 777임 메뉴얼의 설명 707과 다름 (디렉토리에 그룹 퍼미션에 0을 주는 것은 별 의미 없음. 다른 사용자가 7이므로 디렉토리 리스팅이 가능.)
  • files 디렉토리를 미리 만들 경우에는
    • 관리자 레벨인 경우에는 files 디렉토리 퍼미션 777  770 권장
    • 일반 유저인 경우에는 files 디렉토리 퍼미션 2777 권장.

※주의

2777 퍼미션을 주고 설치를 직접 해본 결과 umask 기본 설정이 022로 되어있는 관계로 2777을 주어도 사용자가 파일을 쓸 수 없음이 확인되었습니다. 이 부분은 XE를 직접 패치하여 (umask('000')을 넣고, chmod는 제거해서 해결해야 하는 문제입니다.

이 문제는 https://github.com/xpressengine/xe-core/pull/1616 패치로 해결할 수 있습니다.

제목 글쓴이 날짜
간편해진 페이지 수정법 file coll 2007.11.16
<head> 태그안에 임의의 내용을 넣는 방법 [1] 발돋움 2007.11.16
이미지 갤러리 셀렉트박스 문제 [1] 공작대천사 2007.11.14
[수정]업로드된 그림 자동출력 [6] 소마세월 2007.11.13
알바트로스 적용후 검색하는 곳에 댓글과 태그 검색 업션 넣기 [1] 비밀얌 2007.11.13
쪽지 수신 음성 알림 [19] file Simulz 2007.11.13
회원에게 만기일 주기(1원짜리 팁) [17] 까오천사 2007.11.12
확장변수에서 본문 입력 빼기 [10] file Diver 2007.11.12
통합검색 버그 style 수정 [2] 소마세월 2007.11.11
외부 문서에서 회원 정보 얻는 방법 [11] 소마세월 2007.11.10
첨부파일 기능에 대한 짧은 정보 [3] 고라리 2007.11.09
제로보드 2.3 에서 2.5 업그레이드 방법 도토리나무 2007.11.09
제로보드 2.3 에서 2.5 변경사항 데이터 테이블 구조 변경사항 체크를 정리해봅니다. [4] 도토리나무 2007.11.09
"이 게시물을..." 추천/비추천/신고 메뉴를 버튼으로 [28] file xe촙5 2007.11.08
메뉴에 마우스 갖다대면 뜨는 메뉴 만드는 방법 [25] 소마세월 2007.11.07
레벨 아이콘이 제대로(찌그러지는 등) 출력되지 않을 때 수정방법 必得力 2007.11.07
(08년 1월2일수정)0.2.3이후 최근글에 공지사항을 제외시키고자할 경우 [11] 포레버 2007.11.07
완전 초보도 확장 변수를 이용해 게시판 개조할수잇다!! [4] 쿤. 2007.11.06
SVN 의 사용 방법 [3] preware 2007.11.06
글을 읽을때마다 조회수 증가 하게 하는 팁 [19] 비밀얌 2007.11.06