• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
  • 설정
  • 스킨 관리

아파치에서 php 노출문제

오작교 67

0

1

 

웹서치를 아무리 해봐도 제가 딱 원하는 정보가 없어서 정리해봅니다.

시놀로지 나스에 웹호스팅 서비스가 가능한데 WebStation + nginx + php7.0 기준으로 설명합니다.
Apache2.4 + PHP7.0 환경도 설명을 추가합니다.

index.php 파일은 php 코드가 실행이 되는데 index.html 파일은 먹히지 않아서 어떻게 하다보니 access denied 까지 에러가 뜨는군요~

인터넷에 설명된 방법만으론 뭔가 부족하다는 이야기입니다.

sudo -i 로 root 권한을 가진 다음에 아래 처럼 진행하면 됩니다.

 

1. nginx 환경 설정 추가

# cat /etc/nginx/app.d/server.webstation-vhost.conf

...

server {

...

    location ~* \.(php[345]?|phtml)$ {
        fastcgi_pass unix:/run/php-fpm/php-642a9f1e-0d20-4664-8349-1d34f6c509de.sock;
        fastcgi_param HOST "itrooms.synology.me";
        include fastcgi.conf;
    }

    include /usr/local/etc/nginx/conf.d/8e3fecda-aa57-45f8-a907-5909a54577b9/user.conf*;

}

위 설정 파일은 주기적으로 원래대로 돌아가는 파일입니다. ( 아무리 편집해서 저장해도 어느 순간 원래의 내용으로 돌아감 )
그래서 아래 부분에 보시면 user.conf* 부분이 있습니다.
/usr/local/etc/nginx/conf.d/나스마다폴더명이다름/user.conf* 인데 이 파일명으로 설정 파일을 만들어 주어야 합니다.

# vi /usr/local/etc/nginx/conf.d/8e3fecda-aa57-45f8-a907-5909a54577b9/user.conf.php

    location ~* \.(php[345]?|phtml|html)$ {
        fastcgi_pass unix:/run/php-fpm/php-642a9f1e-0d20-4664-8349-1d34f6c509de.sock;
        fastcgi_param HOST "itrooms.synology.me";
        include fastcgi.conf;
    }

위에서 location 내용 부분을 복사해서 html 부분을 추가해서 /usr/local/etc/nginx/conf.d/나스마다폴더명이다름/user.conf.php 파일로 저장합니다.

 

2. PHP fpm.conf 파일 수정

# cat /usr/syno/etc/packages/WebStation/WebStation.json

{
        "default" :
        {
                "backend" : 2,
                "php" : "649f1e2a-200d-4646-9384-f609c51d34de",
                "userdir" : null
        },
        "version" : 2
}

# cat /usr/syno/etc/packages/WebStation/php_profile/649f1e2a-200d-4646-9384-f609c51d34de/fpm.conf
[global]
pid = /run/php-fpm/php70-649f1e2a-200d-4646-9384-f609c51d34de.pid
error_log=syslog
syslog.facility = daemon
syslog.ident = php70-fpm
log_level = warning
daemonize = no

[www]
user = http
group = http
listen = /run/php-fpm/php-649f1e2a-200d-4646-9384-f609c51d34de.sock
listen.owner = http
listen.group = http
listen.mode = 0660
pm = dynamic
pm.max_children = 20
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
security.limit_extensions = .php .php3 .php4 .php5 .phtml .html

fpm.conf 파일도 나스마다 폴더 위치가 다릅니다. /usr/syno/etc/packages/WebStation/WebStation.json 파일에서 폴더명을 알아낼 수가 있습니다.
알아낸 다음에 fpm.conf 파일에서 security.limit_extensions = .php .php3 .php4 .php5 .phtml 부분을 찾아서 .html 을 추가하고 저장합니다.

엔진엑스를 재시작하고 WebStation 도 재시작 한다음 확인하시면 됩니다.

synoservice --restart nginx 

웹스테이션은 gui 에서 해주세요~ 명령어로 시도해 보니 잘 안되더군요~


Apache2.4 + PHP7.0 에서 html 확장자에서 php 코드가 먹히게 하는 방법입니다.

1. 아파치 설정 추가

# cat /usr/local/etc/apache24/sites-enabled/httpd-vhost.conf
...
<VirtualHost *:8080>
    ...
    <FilesMatch "\.(php[345]?|phtml)$">
        SetHandler "proxy:unix:/run/php-fpm/php-649f1e2a-200d-4646-9384-f609c51d34de.sock|fcgi://localhost"
    </FilesMatch>
</VirtualHost>

# vi /usr/local/etc/apache24/sites-enabled/php.conf
    #AddType application/x-httpd-php .html
    <FilesMatch "\.(php[345]?|phtml|html)$">
        SetHandler "proxy:unix:/run/php-fpm/php-649f1e2a-200d-4646-9384-f609c51d34de.sock|fcgi://localhost"
    </FilesMatch>

/usr/local/etc/apache24/siteshttpd-vhost.conf 파일에서 수정하면 좋겠지만 이 파일 또한 원래대로 돌아가는 파일입니다.
그래서 파일을 추가하여야 합니다.
/usr/local/etc/apache24/sites-enabled/php.conf 파일명으로 위 내용을 추가하고 저장합니다.

 

2. PHP fpm.conf 파일 수정

이 부분의 위의 nginx 설정과 동일합니다.

웹스테이션을 재시작 합니다.

출처: https://itrooms.tistory.com/938 [맛집 여행 캠핑 일상 생활:티스토리]

신고공유스크랩
1
오작교 글쓴이 2025.02.05. 09:55
cat /usr/syno/etc/packages/WebStation/WebStation.json

182b445b-6caf-469f-acaa-a763582ba8db
vi /usr/syno/etc/packages/WebStation/php_profile/182b445b-6caf-469f-acaa-a763582ba8db:



cat /usr/syno/etc/packages/WebStation/WebStation.json


cat /usr/local/etc/apache24/sites-enabled/php.conf // 새로 부팅이 되면 이 파일때문에 아파치가 다시 시작이 안된다.


<VirtualHost *:8080>
...
<FilesMatch "\.(php[345]?|phtml)$">
SetHandler "proxy:unix:/run/php-fpm/php-182b445b-6caf-469f-acaa-a763582ba8db.sock|fcgi://localhost"
</FilesMatch>
</VirtualHost>

# vi /usr/local/etc/apache24/sites-enabled/php.conf
#AddType application/x-httpd-php .html
<FilesMatch "\.(php[345]?|phtml|html)$">
SetHandler "proxy:unix:/run/php-fpm/php-182b445b-6caf-469f-acaa-a763582ba8db.sock|fcgi://localhost"
</FilesMatch>

- The End -
댓글 등록
취소 댓글 등록

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?

목록

공유

facebooktwitterpinterestbandkakao story
번호 제목 글쓴이 날짜 조회
공지 비밀번호 재설정 후 확인 할 사항 오작교 26.01.13.21:42 25
공지 홈페이지 설정(저ㅔ미나이와 대화) 오작교 26.01.12.11:40 44
공지 SSH에서 DB 최적화 명령어 1 오작교 26.01.12.09:49 26
공지 아내 카카오 뱅크 오작교 25.02.15.13:58 23
공지 계정접속 2 오작교 25.01.13.11:21 120
공지 Advenced 3PC 1 오작교 24.12.17.09:25 78
공지 부동산 전자계약서 관련 오작교 24.12.17.09:24 59
32
normal
오작교 26.01.15.23:16 8
31
normal
오작교 26.01.14.11:15 27
30
normal
오작교 26.01.13.22:25 23
29
normal
오작교 26.01.13.20:28 14
28
normal
오작교 26.01.12.10:24 23
27
normal
오작교 26.01.12.10:16 36
26
normal
오작교 25.12.24.10:16 9
25
normal
오작교 25.12.24.08:56 1
24
normal
오작교 25.12.24.08:55 8
23
normal
오작교 25.12.24.08:50 8
22
normal
오작교 25.12.23.09:32 3
21
normal
오작교 25.11.05.08:31 13
20
normal
오작교 25.08.07.13:26 17
19
normal
오작교 25.08.06.12:53 72
18
normal
오작교 25.07.25.21:31 29
17
normal
오작교 25.07.25.09:08 14
16
normal
오작교 25.07.01.10:32 8
15
normal
오작교 25.06.03.16:23 15
14
normal
오작교 25.03.28.09:22 73
13
file
오작교 25.02.06.16:49 6

스킨 기본정보

lemon board
2021-12-01
lemon 게시판 스킨

확장 변수

1. 게시판 기본 설정

입력하지 않으면 메뉴 이름으로 출력됩니다.

별도의 사용자 정의 설정 필요 (가이드 참고)

별도의 사용자 정의 설정 필요 (가이드 참고)

경험치 모듈을 사용하는 분만 체크 해주세요.

2. 게시판 디자인

숫자만 입력 (기본 리스트: 기본 15px, 테이블 리스트: 기본 15px, 웹진 리스트: 기본 25px)

숫자만 입력 (기본 14px)

숫자만 입력 (기본 13px)

숫자만 입력 (기본 14px)

숫자만 입력, *em단위로 입력 예: 1.1, 1.15 등 (기본 1.05em)

숫자만 입력 (기본 14px)

숫자만 입력, *em단위로 입력 예: 1.1, 1.15 등 (기본 1.0em)

타임라인 모듈이 설치되어 있어야 합니다.

3. 글 목록

일주일 기준으로 출력됩니다. lemon widget이 설치되어 있어야 합니다.

폰트어썸 아이콘 class명을 넣어주세요. (예: far fa-circle)

기본 리스트, 테이블 리스트, 갤러리 게시판만 사용 가능

기본 리스트만 해당

FAQ, 테이블 리스트를 제외한 게시판만 가능

기본 리스트, 테이블 리스트만 해당

기본 리스트, 테이블 리스트만 해당

기본 리스트, 테이블 리스트만 해당

폰트어썸 아이콘 class명을 넣어주세요. (예: far fa-thumbs-up)

폰트어썸 아이콘 class명을 넣어주세요. (예: far fa-thumbs-down)

공지사항 더보기/접힘을 사용할 수 있습니다.

공지사항 더보기/접힘을 사용할 수 있습니다.

기본 리스트, 웹진 게시판만 해당

기본 리스트, 웹진 게시판만 해당

4. 갤러리 설정

원본 이미지가 충분히 클 경우에만 사용해주세요.

기본 갤러리 게시판만 해당

기본 갤러리 게시판만 해당

갤러리 게시판만 해당

5. 글 읽기 화면

관리자는 신고 수가 기본으로 출력됩니다.

복수 입력시 쉼표로 구분합니다. (예: 123,456)

복수 입력시 쉼표로 구분합니다. (예: 123,456)

6. 댓글 설정

폰트어썸 아이콘 class명을 넣어주세요. (예: far fa-thumbs-up)

폰트어썸 아이콘 class명을 넣어주세요. (예: far fa-thumbs-up)

베스트 댓글 애드온을 사용할 경우 반드시 '기존 댓글 페이징'을 선택해주세요.

1이라고 입력하면 1시간 후에 열람 가능

7. 글쓰기 설정

글 쓰기 폼에 미리 입력해 놓을 문구를 설정합니다.

8. 사용자 코드

기본 게시판, 일반 게시판만 지원

기본 게시판, 일반 게시판만 지원

기본 게시판, 일반 게시판만 지원

기본 게시판, 일반 게시판만 지원