DSM 7.2.2 에서 7.3.1로 업데이트를 하고 Web station 에서 PHP8.2 등 설치하고 나서요.
운영중이던 웹사이트에서 "File no Found"가 나타나며 index.html, index.php 등을 못 찾나봅니다,
원래 사용하던 해당 폴더에는 파일이 다 정상적으로 존재합니다.
도와 주세요...
DSM 7.2.2 에서 7.3.1로 업데이트를 하고 Web station 에서 PHP8.2 등 설치하고 나서요.
운영중이던 웹사이트에서 "File no Found"가 나타나며 index.html, index.php 등을 못 찾나봅니다,
원래 사용하던 해당 폴더에는 파일이 다 정상적으로 존재합니다.
도와 주세요...
즉, 파일이 물리적으로 존재하더라도 Web Station이 올바른 Document Root 또는 PHP 프로필을 인식하지 못해서
`"File not found"` 오류가 발생하는 것입니다.
---
🔍 1. 원인 요약
DSM 7.3.1 업데이트 후 다음 항목들이 변경되었을 가능성이 높습니다:
| 항목 | 문제 가능성 |
| ---------------------------- | --------------------------------------- |
| 가상호스트 설정 (Virtual Host) | 업데이트 후 기존 경로 또는 PHP 프로필 연결이 해제됨 |
| Web Station 서비스 구성 | PHP 프로필이 새 버전(PHP 8.2)로 교체되며 핸들러 연결이 끊김 |
| index 파일 인식 순서 | “index.html / index.php”가 기본 문서에서 빠짐 |
| 권한 문제 | 웹 루트 폴더의 소유자/권한이 “http” 계정에서 벗어남 |
| .htaccess 혹은 PHP handler | 구버전과 호환되지 않음 |
---
🧭 2. 단계별 점검 및 해결 방법
# ✅ (1) Web Station > 가상 호스트 설정 확인
1. DSM > Web Station 실행
2. 왼쪽 메뉴에서 가상 호스트 클릭
3. 운영 중이던 도메인 혹은 사이트 선택
4. 다음 항목을 반드시 확인:
문서 루트(Document Root): 실제 파일이 있는 폴더로 되어 있는지
백엔드 서버: PHP 8.2 프로필로 설정되어 있는지
포트: 80/443 등 기존과 동일한지
> 만약 가상호스트가 사라졌다면 “새로 만들기”로 기존 경로와 도메인 설정을 다시 지정해 주세요.
---
# ✅ (2) PHP 프로필 확인
1. Web Station → 백엔드 서버 → PHP 프로필 확인
2. “php82”가 활성화되어 있고,
PHP 모듈 (mysqli, gd, mbstring 등)이 필요한 것 포함되어 있는지
“System default profile” 대신 사이트별 지정 프로필이 연결되어야 함
> DSM 업데이트 후 PHP 7.4/8.0이 제거되면 자동으로 PHP 8.2로 바뀌지 않습니다. 수동 지정 필요.
---
# ✅ (3) index 파일 인식 순서
1. Web Station → 일반 설정(General Settings)
2. “기본 페이지(Default page)” 항목 확인
index.php
index.html
순서가 들어가 있는지 확인 (없다면 추가)
---
# ✅ (4) 파일 권한 확인
SSH 또는 File Station에서 해당 폴더 권한을 확인하세요:
bash
ls -al /volume1/web/your_website_folder/
웹 서비스 계정이 접근할 수 있어야 합니다:
bash
sudo chown -R http:http /volume1/web/your_website_folder
sudo chmod -R 755 /volume1/web/your_website_folder
---
# ✅ (5) .htaccess / PHP 설정 확인
업데이트 후 `.htaccess`가 Apache 2.4 권한 문제로 동작하지 않을 수 있습니다.
`/etc/httpd/sites-enabled/` 아래 사용자 설정이 초기화되었는지 확인
`.htaccess` 내부에 `DirectoryIndex` 항목이 있다면 제거하거나 Web Station 설정으로 대체
PHP 실행이 안 되면 `phpinfo();` 테스트 파일 생성
php
<?php phpinfo(); ?>
`/web/사이트폴더/` 안에 넣고 실행해보세요. 페이지가 열리면 PHP는 정상 동작입니다.
---
# ✅ (6) 로그 확인 (문제 지속 시)
DSM 제어판 → 로그 센터(Log Center) →
“Web Station”, “Apache”, “PHP” 로그를 확인해 주세요.
또는 SSH에서 직접:
bash
cat /var/log/httpd/error_log
cat /var/log/httpd/access_log
여기에 “file not found” 외에 “permission denied”나 “No such file” 등의 실제 원인이 기록되어 있습니다.
---
💡 추가 팁
가상호스트가 여러 개인 경우, 업데이트 후 “기본 웹사이트(default)”가 먼저 잡히는 문제가 있습니다.
→ 각 사이트별로 명시적으로 도메인/포트를 지정해 두세요.
PHP 캐시 (opcache 등) 충돌 시 DSM 재부팅 또는 Web Station 서비스 재시작으로 해결되기도 합니다:
synoservice --restart pkgctl-WebStation
synoservice --restart nginx
---
🚀 권장 순서
1. Web Station → 가상호스트 → 루트경로 + PHP 8.2 프로필 확인
2. Default page 설정 확인 (`index.php` 포함)
3. 폴더 권한을 `http:http`로 변경
4. phpinfo 테스트로 PHP 동작 여부 확인
5. 여전히 “File not found”면 로그 확인 (`/var/log/httpd/error_log`)
XE1을 사용하고 있었습니다. php7.4 였습니다. 거의 6년전에 NAS에서 가상호스트로 만들었건데요.
당시에는 Wordpress를 Docker에다 올려 사용해야 한다길래 제게는 어려워서 XE1로 갔습니다.
XE 게시판에서 읽었는데요. 구버전의 XE가 php 8.2 지원안한다고 나와 있길래
DSM 3.1에서는 php7.4 사용할 수 없고, 또 다운 그레이드 안된다 하여 그냥 되 살리는걸 포기하고,
더구나 phpMyAdmin에 로그인, 아웃 하다가, 비번이 변경되었는지, 더이상 로그인도 안되고 해서 깨끗이 잊고, ㅠㅠ
Wordpress로 새로 만들고 있습니다.
오래전에 만들어 아무 생각없이 DSM 3.1 업데이트 전까지 그냥 운영해오다 이렇게 되었네요.
설명해 주셔서 진심 감사드립니다.