웹마스터 팁
서버 이전하고 놓치기 쉬운 점(files의 소유권과 root의 퍼미션)
2010.02.02 10:58
서버를 이전하고, 오비이락이라고 XE core를 업데이트했는데, 아래와 같은 메세지가 계속 뜨면서 각종 모듈이나 애드온이 설치되지 않고, 게시판, 페이지 등도 생성되지 않았습니다. XEcore의 문제인지, 서버이전의 문제인지 파악할 수 없더군요.
Warning: dir(/www/***.com/) [function.dir]: failed to open dir: Permission denied in /www/***.com/classes/file/FileHandler.class.php on line 171
Fatal error: Call to a member function read() on a non-object in /www/***.com/classes/file/FileHandler.class.php on line 172
팁 란에 서버이전과 관련된 여러 문서를 찾아봐도 뽀족한 답이 없어서 XE core 프로젝트에 문의했었는데요, 하늘03님의 도움을 받아보니, 서버 이전하면서 놓치기 쉬운 두 가지 땜에 문제가 났더군요. 아래는 하늘03님과 쪽지 주고받았던 내용인데요, 혹 서버 이전하시는 분들은 꼭 참고하세요^^
1. files의 소유권 문제
보통 처음 XE를 설치하고 나면 files의 소유권이 nobody로
되는데요, 서버이전을 하면서 files를 .tgz로 압축했다가 풀어 놓으니 소유권이 사용자에게 주어졌더군요. 이로 인해 퍼미션 에러가
계속 났던 것입니다. 게다가 레이아웃을 변경해도 저장되지 않는 문제가 있었는데 이 둘에 대한 대책은 아래와
같았습니다.
웹에서 접근하려면 nobody권한이 write를 할 수 있어야 하는데, files아래의 대부분의 폴더와 파일들의 owner가 사용자(제 경우엔 simdoly)로 되어있기 때문에 웹에서 파일을 쓰려다가 에러가 나는 경우가 많은 것 같습니다.호스팅 업체에 요청하여서 files아래의 owner를 nobody로 바꿔달라고 요청해야 합니다.
레이아웃이 저장되지 않아 애를 먹었는데요, 이 경우 faceOff 디렉토리의 퍼미션을 777로 바꿔서 해결해 주었습니다.
2. root의 권한(퍼미션)문제
두번째는 root의 권한 문제입니다. root의 권한은 미처 생각하지도 못했는데, root에 XE를 직접 설치한 경우 꼭 확인해 봐야 할 것 같습니다.
전체 root directory가 744로 되어있었는데요, Apache에서 접근하려면 755 이상이어야 하는 것 같습니다. 755로 접근했더니 잘 돌아갑니다. :)
chmod 755 .
이렇게 files의 소유권과 root의 퍼미션을 조정하고 나니 아무런 문제가 없었습니다. 혹 서버 이전하시는 분들은 꼭 참고하시길.
* 도움을 주신 하늘03님께 삼사의 마음을 전합니다.
댓글 4
-
현의느낌
2010.02.02 11:15
-
영구만세
2010.02.02 15:17
아항, 그렇군요. 서버에 따라 달라질 수도 있겠군요.
"현의느낌"님처럼 좋은 추가 설명이 있으면 같은 경우에 어려움을 겪는 분들이 좀 더 쉽게 문제를 해결할 수 있겠죠^^
모두 같지는 않을 것 같구요, 다만 서버를 이전했는데, 위와 같은 에러 메세지가 뜰 때 한번쯤 참고하세요.
-
춘(春)™
2010.07.12 21:53
같은 오류로 인해 한동안 고생하다가~~ 이글을 보구 한번에 해결 했습니다..
오류 메세지가 똑같았거든요~~ 휴~~ 하시름 놓았습니다..
이런글이 저같은 사람에게 큰 도움이 됩니다.. ^^ 감사합니다..
-
maxtabby
2010.11.19 00:28
와아 단비와 같은 정보로, 서버 이전하고 끙끙 앓고 있던 문제를 해결하였습니다.
정말 감사합니다..
제목 | 글쓴이 | 날짜 |
---|---|---|
lang.xml 파일 다이어트 자동화 [5] | 산하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] | monet | 2015.07.07 |
비회원이 게시글 추천할수있게하는방법 [4] | 토끼매니아 | 2011.08.03 |
홈페이지 속도가 느린 이유.(팁같지도 않은 팁) [11] | 가브리엘조 | 2015.06.27 |
원하는 그룹에게 아이피를 전부다 표시해주기 [1] | 불금 | 2015.06.16 |
로그인이 안되는 문제를 겪고 계시면 참고해볼만 합니다. [2] | 안구건조 | 2011.10.06 |
XE 1.5 에서 확장변수 검색이 안 되시는 경우 해결책 [5] | sejin7940 | 2012.01.24 |
사이트 서버 운영체제와 사용하는 웹서버 소프트웨어 알아보는 사이트 | 후하니 | 2015.06.28 |
확장변수 검색시 범위 설정해서 검색하는 팁. [2] | 키다리아저씨2 | 2015.06.16 |
cloudflare api 용 curl 기본값 | 마루디자인 | 2015.06.24 |
무료 오픈 api가 많은 사이트 [유용] [3] | 김동재4af45 | 2015.06.13 |
리스트에 스크랩 버튼을 뺴는 코드입니다. [3] | 착한악마 | 2015.04.30 |
추천검색어,실시간인기순위 소스 | codlllle | 2015.06.21 |
실시간 rss 피드글 출력 위젯 | codlllle | 2015.06.20 |
댓글 수정/ 대댓글 달시에 댓글 공지 넣는법 [8] | 불금 | 2015.06.17 |
다음 위젯 뱅크를 대신할 위젯 베스트! | codlllle | 2015.06.20 |
추가로 설명을 달겠습니다. ^^
1.
cafe24의 경우는 files 등 아파치 서버가 저장하는 파일의 소유자가 계정아이디로 됩니다.
원래 그렇게 되도록 서버 설정이 되어있는 것이니 바꿀 필요는 없습니다. ^^;
그리고 서버마다 아파치의 사용자 계정아이디가 다를 수 있습니다.
nobody, www-data, apache 등..
2.
계정id의 홈디렉토리 위치를 말씀하신 것 같네요.
ssh로 로그인한 직후 위치에서 chmod 755 . 을 하면 되겠습니다.