웹마스터 팁

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

제목 글쓴이 날짜
Startssl 설치과정!! [83] file 제이엔지 2012.08.13
홈페이지 제작 시 점검사항 15가지 [1] 유래유거 2015.06.29
[실험팁] XE 고용량/큰사진 썸네일 깨지는 것 해결 socialskyo 2015.07.20
레이아웃 메뉴에서 메뉴옆에 글수 표시하기 반걸 2015.07.20
config 파일을 일반 유저가 쓸 수 없는 문제 해결법 [15] wkp 2015.07.09
lang.xml 파일 다이어트 자동화 [5] file 산하2 2014.07.09
스크립트파일(js)을 하단부에서 불러오게 하기 [1] Treasurej 2011.12.09
IIS서버 자동 설치 프로그램(PHP, MySQL, phpMyAdmin) [1] 공처아찌 2015.07.12
모바일에 최적화된 화면으로 보기 문구가 레이아웃을 가리는 문제 creative8 2015.07.11
회원도 모듈별 적용된 포인트 보게하는 방법. [11] :DunhillBoy 2014.02.01
문서페이지가 수정이 되지 않는 문제 [2] file monet 2015.07.07
비회원이 게시글 추천할수있게하는방법 [4] file 토끼매니아 2011.08.03
홈페이지 속도가 느린 이유.(팁같지도 않은 팁) [11] 가브리엘조 2015.06.27
원하는 그룹에게 아이피를 전부다 표시해주기 [1] 불금 2015.06.16
로그인이 안되는 문제를 겪고 계시면 참고해볼만 합니다. [2] 안구건조 2011.10.06
XE 1.5 에서 확장변수 검색이 안 되시는 경우 해결책 [5] sejin7940 2012.01.24
사이트 서버 운영체제와 사용하는 웹서버 소프트웨어 알아보는 사이트 file 후하니 2015.06.28
확장변수 검색시 범위 설정해서 검색하는 팁. [2] 키다리아저씨2 2015.06.16
cloudflare api 용 curl 기본값 마루디자인 2015.06.24
무료 오픈 api가 많은 사이트 [유용] [3] file 김동재4af45 2015.06.13