일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- KB증권
- 시놀로지
- 아파치
- 라즈베리파이2
- 티스토리
- iptime
- 리눅스
- 알리익스프레스
- 알뜰폰
- OpenWrt
- 가상서버호스팅
- 보르비스초월
- 킹북이초월
- 자바스크립트
- proxmox
- centos
- 윈도우10
- PHP-FPM
- jQuery
- Apache
- php
- 소비전력
- 램가스초월
- 복현오거리
- SKT
- KB국민카드
- mysql
- 스톤에이지
- Rocky
- ConoHa
- Today
- Total
맛집 여행 캠핑 일상 생활
[시놀로지] NGINX + PHP7.0 html 확장자 php 먹히게 하는 방법 본문
웹서치를 아무리 해봐도 제가 딱 원하는 정보가 없어서 정리해봅니다.
시놀로지 나스에 웹호스팅 서비스가 가능한데 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 설정과 동일합니다.
웹스테이션을 재시작 합니다.
'IT이야기' 카테고리의 다른 글
PHP AH1071 Invalid argument supplied for foreach (0) | 2020.06.12 |
---|---|
[시놀로지] 아파치 ExpiresActive 에러 (0) | 2020.06.05 |
[시놀로지] /usr/syno/bin 파일 사라짐 (0) | 2020.05.21 |
[윈도우10] 시계 및 달력 위젯 프로그램 (0) | 2020.04.29 |
RaiDrive 네트워크 드라이브 클라우드 지원 종류 (0) | 2020.04.28 |