oranc.co.kr에서 moniwiki RcsLite 오류납니다.

ellif의 이미지

어제 오랫동안 써오던 홈페이지 계정을 폐쇄하고 wiki만 새로운 계정(oranc.co.kr)으로 옮겼습니다.
그런데 moniwiki에서 어쩌구 저쩌구해서 큰 문제들은 해결했는데..
내용 수정하고 클릭하면,

>Warning: fopen(./data/text/RCS/_b4_eb_b9_ae,v) [function.fopen]: failed to open stream: 허가 거부됨 in /home/ellif/public_html/isde/lib/rcslite.php on line 502
>
>Warning: chmod() [function.chmod]: 명령이 허용되지 않음 in /home/ellif/public_html/isde/lib/rcslite.php on line 509
>
>Warning: Cannot modify header information - headers already sent by (output started at /home/ellif/public_html/isde/lib/rcslite.php:502) in /home/ellif/public_html/isde/wiki.php on line 1696

이런 오류가 나면서 RcsLite가 작동하지 않습니다.

이걸 가지고 oranc.co.kr에 물어보았더니, 다음과 같은 대답이 나오네요.

"그리고 위에 나온 오류는 allow_url_fopen = off 에 따른 오류로 보여집니다.
서버 보안을 위해서 오픈 안됩니다"

자, 그럼 이제 내부를 수정하던가, 아니면 Rcs 자체를 포기하던가 해야하는데,
php 수준에서 이걸 해결할 수 있는 방법이 있나요?

>주의
이 글의 저작권은 E-Copyleft CODE 117(http://ellif.springnote.com/pages/387969)을 따릅니다.

wkpark의 이미지

Quote:

"그리고 위에 나온 오류는 allow_url_fopen = off 에 따른 오류로 보여집니다.
서버 보안을 위해서 오픈 안됩니다"

RcsLite는 url fopen을 전혀 쓰지 않는데요? ^^;;

일반 사용자로 백업후 복구하셔서 문제가 되는 것 같습니다.

nobody 혹은 apache가 소유자였던 것이 일반 사용자 소유로 퍼미션이 바뀌어서 문제가 되는 것입니다.

1) 압축을 푸실 때 간단한 php를 짜서 웹페이지를 통해서 압축을 풀거나..

2) ./data 하위디렉토리를 2777 혹은 777로, data 하위 파일은 모두 읽기 쓰기 가능 퍼미션으로 바꿔주세요.
파일 업로드를 쓰신다면 ./pds 디렉토리 역시 data 디렉토리퍼미션과 같게, 하위 디렉토리 및 파일의 퍼미션도
모두 조정해주세요.

온갖 참된 삶은 만남이다 --Martin Buber

ellif의 이미지

에..

일단 관련 부분입니다. 프로그램 내 chmod 문제인것 같아 보이네요?
내부 실행에서 chmod 일시 변환을 막았다던가..()

심지어 관련 rcs를 444에서 777로 변경시켰는데도 문제가 생깁니다.

(rcslite.php - 509줄 근처)
 
    function _writeMe()
    {
        $dataError = '';
 
        # FIXME move permission to config or similar
        @chmod($this->rcsFile,0644 );
        $fp=fopen($this->rcsFile, 'w'); 
        if( ! $fp ) {
           $dataError = 'Problem opening ' . $this->rcsFile . ' for writing';
        } else {
           fwrite( $fp, $this->_make_rcs() );
           fclose( $fp );
        }   <- 여기
        chmod($this->rcsFile,0444  ); # FIXME
        return $dataError;

그러고 나니까 여기까지 문제가 생기는데 이유는 전혀 모르겠네요.

  function header($args) {
    header($args);
  }

nei erio lua nai.
nei erio lua ignei.

wkpark의 이미지

서버 보안을 위해 관리자가 safe_mode를 On으로 했을 가능성이 있네요.
관리자에게 한번 물어보시길.

모니위키및 기타 파일기반 위키의 대부분은 safe_mode에서 완벽한 작동을 보장하지 못합니다.

온갖 참된 삶은 만남이다 --Martin Buber