회원가입 | 고객센터 |
DESIGNONEX
dxcms.kr
DX마켓
Service
PR리그
Q&AN
지식공유
공지사항N
통계
로그인 회원가입
고객센터
모든질문

설치오류 문의 드립니다. - File not found

여유당
2026.06.15 15:41(수정됨) 42 0 7

조급한 마음에  다운 받아서 얼른 설치만 해 봤습니다.
초기화면(메인)은 잘 DX님 데모페이지 홈처럼 잘 설치 되었는데

로그인, 회원가입, 고객센터, 더보기 등 각종 버튼 클릭 시
"File not found"가 표시 됩니다.  

이 질문 평가 로그인 후 평가 가능

댓글7

D
DX 2026.06.15 15:51
🧪 Lv.2 초보 92 EXP 🥇 1위
여유당님 data/error.log 파일이 있을 것입니다.
만약에 없으면 없다고 말씀해주시고요. 있으면, 그 속에 에러를 복사해서 댓글에 넣어주세요. 
감사합니다.
여유당 2026.06.15 21:11
data/ 폴더에 에러 로그 파일이 없습니다.
config,php 파일만 존재하고
board, page, sessions 폴더 안에도 파일이 없습니다.

config.php 파일을 살펴보고
DB이름, 아이디, 비번이 그대로 보이는데 이게 정상인건가요?
D
DX 2026.06.15 21:40
🧪 Lv.2 초보 92 EXP 🥇 1위
네 걱정하지 않으셔도 됩니다.
그누보드도 /data/dbconfig.php 안에 디비정보가 들어갑니다. 
D
DX 2026.06.15 21:58
🧪 Lv.2 초보 92 EXP 🥇 1위
1. 환경설정

DXCMS 압축파일에 nginx.conf.example 파일이 있습니다.

# DesignOneX CMS — Nginx 설정 예시
# 이 파일을 서버 블록 설정에 맞게 수정하여 사용하세요.
#
# 핵심: 모든 요청을 루트 index.php 하나로 라우팅합니다.
#       admin/, boards/ 등 실제 디렉토리가 있어도
#       index.php 로 넘겨야 합니다 ($uri/ 조건 제거).

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/designonex;
    index index.php;
    charset utf-8;

    # data/ 폴더 직접 접근 차단 (업로드·설정·세션 보호)
    location ^~ /data/ {
        deny all;
        return 403;
    }

    # assets/ 정적 파일 직접 서빙
    location ^~ /assets/ {
        expires 30d;
        access_log off;
    }

    # install/ 설치 마법사 — PHP 실행 허용
    location ^~ /install/ {
        location ~ \.php$ {
            include fastcgi_params;
            fastcgi_pass unix:/run/php/php-fpm.sock; # PHP 버전에 맞게 변경
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PHP_VALUE "display_errors=1";
        }
    }

    # 모든 요청 → index.php 로 라우팅
    # ※ try_files 에서 $uri/ (디렉토리 체크) 를 제거합니다.
    #   admin/, boards/ 등 실제 폴더가 있어도 index.php 로 넘겨야 합니다.
    location / {
        try_files $uri /index.php?$query_string;
    }

    # PHP FastCGI (루트 index.php 만 실행)
    location = /index.php {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php-fpm.sock; # PHP 버전에 맞게 변경
        fastcgi_param SCRIPT_FILENAME $document_root/index.php;
        fastcgi_param PHP_VALUE "
            display_errors=0
            log_errors=1
        ";
        fastcgi_intercept_errors on;
        fastcgi_read_timeout 60;
    }

    # 그 외 .php 파일 직접 실행 차단
    location ~ \.php$ {
        deny all;
        return 403;
    }

    # 숨김 파일 차단
    location ~ /\. {
        deny all;
        return 404;
    }

    # 에러 페이지
    error_page 403 404 /index.php;
}

설정을 해보셨나요? 
D
DX 2026.06.15 21:59
🧪 Lv.2 초보 92 EXP 🥇 1위
2. 환경설정 오류 해결 가이드
 

NAS(나스) + Nginx 환경에서 "File not found" 오류 해결 가이드

DXCMS를 시놀로지/큐냅 등 NAS의 Nginx + PHP-FPM 환경에 설치했을 때, 로그인 / 회원가입 / 고객센터 / 더보기 같은 버튼을 누르면 "File not found." 라는 짧은 텍스트만 표시되는 경우의 원인과 해결 방법입니다.


1. 증상 요약

  • 메인 화면(/)은 정상적으로 보임
  • 로그인, 회원가입, 고객센터, 게시판 "더보기" 등 링크/버튼 클릭 시 화면 전체에
 
  File not found.

만 표시됨 (DXCMS 디자인이 적용된 404 페이지가 아님)

  • data/error.log 파일이 생성되어 있지 않음


2. 핵심 원인

"File not found." 는 DXCMS가 아니라 PHP-FPM이 직접 내보내는 메시지입니다

DXCMS는 단일 진입점(Front Controller) 구조입니다.

 
/login, /register, /support, /board/notice, /api/... 등
                ↓ (실제 파일이 아님)
        모두 루트의 index.php 가 받아서
        내부적으로 라우팅 처리

/login 같은 주소는 디스크에 실제로 존재하는 파일이 아닙니다. 정상적인 설정에서는 Nginx가 이런 요청을 모두 index.php로 넘겨주고, index.php가 내부적으로 어떤 화면을 보여줄지 결정합니다.

그런데 Nginx 설정이 이 요청을 index.php로 넘기지 않고, 존재하지 않는 파일을 PHP-FPM에 그대로 전달하면 PHP-FPM은 그 파일을 찾지 못해 File not found. 라는 자체 오류 메시지를 그대로 응답으로 보냅니다.

이때는 DXCMS의 PHP 코드가 단 한 줄도 실행되지 않은 상태이기 때문에:

  • data/error.log도 생성되지 않고
  • DXCMS의 디자인 적용된 오류 페이지도 나오지 않습니다.

즉, DXCMS 코드 문제가 아니라 Nginx 설정 문제입니다.



3. 진단 방법

  1. 메인 화면(/)은 잘 보이는지 확인 → 보통 잘 보임 (/index.php는 대부분 기본 설정에도 연결되어 있음)
  2. 주소창에 직접 https://내주소/login 입력 → 역시 File not found.가 뜨는지 확인
  3. NAS의 Nginx 설정 파일(보통 /etc/nginx/... 또는 NAS 패키지의 가상 호스트 설정)에서 아래 항목이 있는지 확인:


nginx
   location / {
       try_files $uri $uri/ =404;     ← 이런 식으로 되어 있으면 원인
   }

또는



nginx
   location / {
       try_files $uri $uri/;          ← /index.php 로 떨어지는 부분이 없음
   }

위와 같이 /index.php로 떨어지는 fallback이 없으면 이 문제가 발생합니다.



4. 올바른 Nginx 설정

DXCMS 배포 파일에 포함된 nginx.conf.example을 기준으로, 핵심 부분만 정리하면 다음과 같습니다.



nginx
server {
    listen 80;
    server_name 내도메인.com;
    root /경로/DXCMS설치폴더;
    index index.php;
    charset utf-8;

    # data/ 폴더 직접 접근 차단
    location ^~ /data/ {
        deny all;
        return 403;
    }

    # 모든 요청 → index.php 로 라우팅
    # 주의: $uri/ (디렉토리 체크) 를 넣지 않습니다.
    #       admin/, boards/ 같은 실제 폴더가 있어도 index.php로 넘겨야 합니다.
    location / {
        try_files $uri /index.php?$query_string;
    }

    # PHP FastCGI (루트 index.php 만 실행)
    location = /index.php {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php-fpm.sock;   # NAS의 PHP-FPM 소켓 경로로 변경
        fastcgi_param SCRIPT_FILENAME $document_root/index.php;
        fastcgi_intercept_errors on;
        fastcgi_read_timeout 60;
    }

    # 그 외 .php 파일 직접 실행 차단 (보안)
    location ~ \.php$ {
        deny all;
        return 403;
    }

    location ~ /\. {
        deny all;
        return 404;
    }

    error_page 403 404 /index.php;
}

핵심 체크포인트 3가지

  1. location / { try_files $uri /index.php?$query_string; }
    • $uri/ (디렉토리 자동 인덱싱)를 넣지 않아야 합니다.
    • 존재하지 않는 경로는 무조건 index.php로 넘어가야 합니다.
  2. location = /index.php { ... }SCRIPT_FILENAME$document_root/index.php고정값으로 지정합니다. ($fastcgi_script_name 변수를 쓰는 일반적인 PHP 설정 템플릿은 이 구조에서 오작동의 원인이 될 수 있습니다)
  3. 다른 .php 직접 실행 차단location ~ \.php$ { deny all; }index.php 외의 모든 .php 직접 호출을 막아야 합니다 (보안 목적이며, 위 1·2번 설정과 충돌하지 않습니다. location = /index.php가 더 구체적인 매칭이라 먼저 적용됩니다).


5. NAS별 참고 사항

시놀로지(Synology) DSM

  • DSM의 "웹 스테이션(Web Station)"에서 "PHP" 프로필로 가상 호스트를 만들면, 정적 사이트/일반 PHP 페이지용 기본 템플릿이 적용되어 위 1번 설정이 try_files $uri $uri/ =404; 형태로 들어가는 경우가 많습니다.
  • DSM 7 이상에서는 가상 호스트 생성 시 "PHP" 대신 "리버스 프록시 + 사용자 정의 Nginx" 방식을 사용하거나, SSH로 접속해 해당 가상 호스트의 .conf 파일을 직접 위 내용으로 수정해야 합니다.
  • 설정 파일 위치는 보통 /usr/local/etc/nginx/sites-enabled/ 또는 /usr/syno/etc/nginx/sites-enabled/ 아래의 가상 호스트별 .conf 파일입니다.

QNAP QTS

  • "Web Server"(다중 사이트) 기능으로 만든 호스트도 동일하게 기본 템플릿이 index.php로의 fallback을 포함하지 않는 경우가 많습니다.
  • /etc/config/nginx/ 또는 App Center로 설치한 Nginx 패키지의 sites-enabled 설정을 직접 수정해야 합니다.

Docker로 직접 Nginx + PHP-FPM 컨테이너를 구성한 경우

  • nginx.conf.example 파일을 그대로 볼륨 마운트하여 사용하는 것이 가장 안전합니다.
  • PHP 8.4 / 8.2 등 여러 PHP 버전 컨테이너를 동시에 띄운 경우, fastcgi_pass 가 올바른 PHP-FPM 컨테이너(소켓/포트)를 가리키는지도 함께 확인하세요.


6. 설정 변경 후 확인

  1. Nginx 설정 저장 후 Nginx 재시작/재적용
  2. 브라우저 캐시 무시 새로고침(Ctrl+F5) 후 로그인/회원가입/고객센터/더보기 재시도
  3. 정상화되면, 이후 DXCMS 자체 오류가 발생할 경우 비로소 data/error.log에 기록되기 시작합니다. (지금까지 파일이 없던 것은 정상 — PHP가 한 번도 실행되지 않았기 때문입니다)


7. 체크리스트

  • /login 등 가상 경로 직접 접속 시 File not found. 가 뜨는지 확인했다
  • Nginx 설정의 location //index.php?$query_string fallback이 있다
  • location /$uri/ (디렉토리 매칭)가 없다
  • location = /index.php에서 SCRIPT_FILENAME$document_root/index.php로 고정되어 있다
  • 설정 변경 후 Nginx를 재시작했다
  • 위 조치 후에도 문제가 있으면, 이번엔 data/error.log에 기록이 남는지 확인한다 (이때부터는 DXCMS 측 원인이므로 로그 내용을 보고 추가 진단)
D
DX 2026.06.15 22:18
🧪 Lv.2 초보 92 EXP 🥇 1위

샌드박스 테스트에서는 해당 설정으로 정상 동작하는 것으로 확인되었습니다.

다만, 제공해 드린 nginx 설정 파일은 실제 운영 설정이 아닌 예제(nginx.conf.example) 파일입니다.

서버마다 PHP 버전, PHP-FPM 소켓 경로, root 경로, 권한 설정 등이 다르기 때문에 그대로 적용해서 동작하지 않을 수도 있습니다.

그래서 현재 단계에서는 DXCMS 자체의 문제라고 단정하기보다는 서버 환경 설정이 올바르게 적용되었는지 먼저 확인해야 할 것 같습니다.

저도 계속 방법을 찾아보겠습니다. 다만 환경 설정이 정상적으로 되어야 그 다음 단계의 문제점을 찾을 수 있습니다.

혹시 가능하시다면 오류 해결 가이드와 예제 설정 파일을 다시 한번 확인해 주시면 감사하겠습니다.

특히 PHP-FPM 경로와 root 경로는 실제 서버 환경에 맞게 수정이 필요한 부분입니다.

저도 계속 고민해 보고 원인을 찾아보겠습니다. 

여유당 2026.06.16 09:17

친철한 안내 감사 드립니다.
잘 읽어 보고 해 시도해 보겠습니다.


현재 그누보드를 최신 버전 + 리빌더로 초기 세팅하고
몇개의 메뉴만 만들어 만들어가던  도메인을 초기화하고
DXCMS을 설치했습니다.


제가 이쪽에은 문외한이다 보니
시간을 갖고 천천히 시도해 보겠습니다.

감사합니다.

로그인 후 댓글을 작성할 수 있습니다.
Q&A 121
번호 제목 작성자 날짜 조회
80
모아비즈
05.26 148
모아비즈 · 148
77
모아비즈
05.26 157
모아비즈 · 157
75
모아비즈
05.26 151
모아비즈 · 151
74
종료 모든질문 제목에...  [1]
모아비즈
05.26 162
종료 모든질문 제목에... [1] 05.26
모아비즈 · 162
73
DX
05.25 168
종료 버그및제안 멀티사이트 팝업 적용 안됨 [1] 05.25
DX · 168
72
모아비즈
05.24 141
모아비즈 · 141
71
모아비즈
05.24 158
종료 버그및제안 고객센터(?) 일부러 아직 (?) [3] 05.24
모아비즈 · 158
67
안졸리니졸리
05.22 145
안졸리니졸리 · 145
66
안졸리니졸리
05.22 140
안졸리니졸리 · 140
65
안졸리니졸리
05.22 149
안졸리니졸리 · 149
64
안졸리니졸리
05.22 156
안졸리니졸리 · 156
62
안졸리니졸리
05.21 136
안졸리니졸리 · 136
36
전체 회원
950
전체 게시글
1,786
전체 댓글
740
오늘 방문
43,483
전체 방문
16
현재 접속
인기글 7일 이내
최신글
최신댓글
내 플레이리스트
플레이리스트가 비어있습니다
스튜디오 게시판에서
플레이리스트에 담기 버튼을
눌러보세요
목록
목록