고수님들의 도움을 구합니다.

고수님들의 도움을 구합니다.

QA

고수님들의 도움을 구합니다.

본문

안녕하세요. 이제 아파치 웹서버를 공부중인 초보자입니다.

제가 그동안 사용중이던 웹호스팅업체에서 용량이 부족해 카페24의 VPS로 홈페이지를 옮기면서 

아래와 같이 문제가 발생하여 고수님들의 의견을 구합니다.  

 

서버의 설치환경은 Rocky 8.x 리눅스 / apache 2.4.37  /  php 7.2.24  입니다.

 

대충 다른 기능들은 정상적으로 동작하는 것으로 보이는데 게시판에서 에디터를 쓰든 일반 베이직 게시판을 사용하든 이미지 파일을 업로드시 Forbidden 에러가 발생합니다.

참고로 다른 텍스트나 기타 첨부파일 형태로는 그림이나 파일등 모두 정상 업로드가 됩니다.

그런데 유독 에디터에 있는 그림 파일로만 업로드하면 Forbidden 에러가 발생합니다.

 

현재 그누보드에 게시된 다양한 해결책 등은 거의 적용해 본듯합니다. 

새로 게시판을 생성후 적용도 시도해 봤습니다.

 

서버에서 제시한 에러 로그 내용은 아래와 같습니다. 

 

[proxy_fcgi:error] [pid 1836:tid 140367349397248] [client ***.***.***.***] AH01071: Got error 'PHP message: PHP Warning:  include(/var/www/html/g5/theme/charity1000/skin/latest/charity1000/latest.skin.php): failed to open stream: No such file or directory in /var/www/html/g5/lib/latest.lib.php on line 109PHP message: PHP Warning:  include(): Failed opening '/var/www/html/g5/theme/charity1000/skin/latest/charity1000/latest.skin.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/g5/lib/latest.lib.php on line 109',

 

*Rocky8.x에서는 빨간색으로 표시된 디렉토리가 없는 것으로 봐서는 이 디렉토리가 없는게 에러의 원인으로 보이는데 제가 이를 어떻게 수정해야 하는지 궁금합니다. 

 

참고로 

그누보드의 latest.lib.php의 109번 라인의 소스는 아래와 같습니다. 

    ob_start();
    include $latest_skin_path.'/latest.skin.php';
    $content = ob_get_contents();
    ob_end_clean();

    return $content;

 

감사합니다.^^

 

 

 

이 질문에 댓글 쓰기 :

답변 5

파일이 있는데 없다고 나오면 퍼미션 문제가 있을 것입니다.
먼저 ftp 로 들어가서 파일이 있는지 확인해 보시고 콘솔에서 퍼미션을 
파일은 644 디렉토리는 755로 변경하면 될 것입니다.
그래도 안되면 소유자와 그룹을 변경해 주면 될 것입니다.

네, 설국열차님, 답변 감사합니다.
그런데 아무래도 퍼미션 에러보다는 아파치 서버와 php 버전의 오류로 의심이 됩니다. 해당 디렉토리 위치도 없구요.

아래 에러 메시지 내용을 혹 확인 가능할까요?

[Mon Feb 03 23:02:48.519831 2025] [proxy_fcgi:error] [pid 18750:tid 139738220582656] [client 183.105.179.101:10057] AH01071: Got error 'PHP message: PHP Warning:  include(/var/www/html/g5/theme/charity1000/skin/latest/charity1000/latest.skin.php):
failed to open stream: No such file or directory in /var/www/html/g5/lib/latest.lib.php on line 109PHP message: PHP Warning:  include(): Failed opening '/var/www/html/g5/theme/charity1000/skin/latest/charity1000/latest.skin.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php')
in /var/www/html/g5/lib/latest.lib.php on line 109', referer: http://xn--939au0g.net/g5/bbs/login.php

파일이 없거나 권한문제일 가능성이 커보입니다. 업로드 시 오류없어는지 도체크해보시기바랍니다.  또한 현제 7.2x php버전을 선택하셔는데 너무낮습니다.  버전 업을 하시길 바랍니다.

네, 그래서 버전을 7.4.33으로 업그레이드 했습니다. 그래도 동일한 증상입니다.
웅푸님, 혹 에러 로그 메시지 내용 설명을 부탁드려도 될까요?

[Mon Feb 03 23:02:48.519831 2025] [proxy_fcgi:error] [pid 18750:tid 139738220582656] [client 183.105.179.101:10057] AH01071: Got error 'PHP message: PHP Warning:  include(/var/www/html/g5/theme/charity1000/skin/latest/charity1000/latest.skin.php):
failed to open stream: No such file or directory in /var/www/html/g5/lib/latest.lib.php on line 109PHP message: PHP Warning:  include(): Failed opening '/var/www/html/g5/theme/charity1000/skin/latest/charity1000/latest.skin.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php')
in /var/www/html/g5/lib/latest.lib.php on line 109', referer: http://xn--939au0g.net/g5/bbs/login.php

업데이트가 제대로 않되어잇거나 경로설정이 않되어있는걸로 보이네요 
latest.skin.php 찾지도못하고 현제 theme/charity1000/skin/latest/charity1000 누락된메시지라고 볼수가잇어요
하여
php 환경설정 꼼꼼히 다시 체크해보시기 바랍니다.
예를 들어서 php.ini 환경설정에서  php -i | grep include_path 이렇한 설정이 되어잇는지도 확인하시구요 ..그리고 퍼미션 설정 다시확인하시구요 만약 둘다이상이없다한다면 보안설정부분 을 보셔야할것같습니다.

권한확인 한표 던지고 가요~

파일 존재 여부, 퍼미션 문제, SELinux 설정, .htaccess

 

*파일,

ls -l /var/www/html/g5/theme/charity1000/skin/latest/charity1000/latest.skin.php

존재 여부 확인하고, 만약 파일이 없다면 백업에서 복구하거나 새롭게 설치.

퍼미션 및 소유권을

sudo chmod 644 /var/www/html/g5/theme/charity1000/skin/latest/charity1000/latest.skin.php
sudo chmod 755 /var/www/html/g5/theme/charity1000/skin/latest/charity1000
sudo chown -R apache:apache /var/www/html/g5/theme/charity1000

수정, 또한 아래 명령으로 Apache의 실행 유저 확인

ps aux | grep httpd

- 출력 예시:

root      1234  0.0  0.1  123456  7890 ?        Ss   10:00   0:00 /usr/sbin/httpd -DFOREGROUND
apache    5678  0.0  0.2  234567 12345 ?        S    10:00   0:01 /usr/sbin/httpd -DFOREGROUND
apache    9012  0.0  0.2  234567 12345 ?        S    10:00   0:01 /usr/sbin/httpd -DFOREGROUND

Apache 실행 유저를 확인한 후, 다르다면(예로, www-data)

sudo chown -R User:Group /var/www/html/g5/theme/charity1000

위의 명령으로 변경

 

SELinux 설정 확인 및 수정

sestatus

Enforcing 상태라면 다음 명령어로 일시적으로 비활성화 후 테스트:

sudo setenforce 0

정상 작동하면 아래 명령어로 SELinux 컨텍스트 변경:

sudo chcon -R -t httpd_sys_content_t /var/www/html/g5/theme/charity1000

 

*.htaccess 파일 확인 후 Options -Indexes가 있다면 주석 처리하거나 삭제

find /var/www/html/g5/ -name ".htaccess"
cat /var/www/html/g5/.htaccess

ModSecurity가 차단하는 경우 /etc/httpd/conf.d/mod_security.conf에서 해당 규칙을 제외

glitter0gim 님, 답변 감사합니다. 제가 모두 적용해 봤는데 동일합니다.  제가 일부 손 보면서 에러 내용이 약간 바뀌었습니다. 한 번 봐주셨으면 싶습니다.

[Mon Feb 03 23:02:48.519831 2025] [proxy_fcgi:error] [pid 18750:tid 139738220582656] [client 183.105.179.101:10057] AH01071: Got error 'PHP message: PHP Warning:  include(/var/www/html/g5/theme/charity1000/skin/latest/charity1000/latest.skin.php):
failed to open stream: No such file or directory in /var/www/html/g5/lib/latest.lib.php on line 109PHP message: PHP Warning:  include(): Failed opening '/var/www/html/g5/theme/charity1000/skin/latest/charity1000/latest.skin.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php')
in /var/www/html/g5/lib/latest.lib.php on line 109', referer: http://xn--939au0g.net/g5/bbs/login.php

data 폴더 권한이 707 인지.

DB 사용자 권한이 쓰기가 가능한 권한인지 채크해보세요.

답변을 작성하시기 전에 로그인 해주세요.
전체 892 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT