웹마스터 팁

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 패치로 해결할 수 있습니다.

제목 글쓴이 날짜
설치시 403 에러 나오시는분들 김지석807 2008.01.17
www가 붙는 도메인과 그렇지 않은 도메인 하나로 처리하기 [8] 똑디 2008.01.18
클릭시 트랙백 복사 [2] 우야q 2008.01.19
클릭시 게시글, 트랙백 복사 [FF 지원] [7] 우야q 2008.01.20
"텝 형태 최근문서 출력" 리스트수 수정하기 [2] 말샬 2008.01.21
너무나 당연한팁 하나 - 쉬운 사이트 로고 제작 [3] ☜ TeRy ☞ 2008.01.22
제로보드XE 외부페이지에 javascrip 삽입하기 [3] BlueGATE 2008.01.22
내용에서 [대기] 파일 구분하기Ⅱ [3] file moonsoo 2008.01.24
세션때문에 로그아웃 안되는 문제 해결하는법 [4] 럭스 2008.01.24
bgm 넣을려고 프레임 나눴을때 가로스크롤바 해결방법. [12] 또리♡485 2008.01.25
회원그룹별 제한된 서비스 구현을 위한 조건문 [5] 똑디 2008.01.25
(모든)*.파일 UTF_8 ↔ EUC-KR [4] file Capyou 2008.01.25
검색조건, 제목+내용 을기본으로 설정하기 [7] 대암지기 2008.01.28
불펌소스 ~! [6] 해피데이1541 2008.01.28
홈페이지에 예쁜 날씨 배너를 달아보자!!!! [3] file blue7376.myid.net 2008.01.28
[수정] webzine 스타일을 이용한 링크게시판 만들기 [5] file 대암지기 2008.01.28
좌측 로그인 회원 리스트가 많아지면 스크롤 처리 [6] file 똑디 2008.01.29
날씨배너 600종류 입니다.(지역별75종X색상별8종) file 푸른커튼 2008.01.30
LI UL OL 이 페이지에서 적용이 안될경우 [1] 찐빵아저씨 2008.01.30
file 업로드 않될때, 메뉴생성및수정이 않될때 [2] plruto 2008.01.31