data/ — 런타임 데이터
CMS 가 실행 중 생성하는 파일들이 저장되는 폴더입니다. 웹 서버 프로세스가 이 폴더에 쓰기 권한을 가져야 합니다. Git 등 버전 관리에서 제외해야 합니다.
data/
├── .htaccess ← PHP 실행 차단 + 디렉터리 리스팅 차단
├── config.php ← 설치 시 생성: DB 접속 정보 + 시크릿 키
├── error.log ← PHP 오류 로그 (운영 환경에서 화면 대신 파일 기록)
├── cache/ ← 파일 캐시 저장소 (APCu 없는 환경)
│ ├── dx_settings_*.cache ← 사이트 설정 캐시 (TTL 5분)
│ ├── dx_board_*.cache ← 게시판 목록 캐시 (TTL 1분)
│ └── dx_sitemap_*.cache ← 사이트맵 캐시 (TTL 10분)
└── boards/ ← 게시판 첨부 파일 업로드 저장소
├── .gitkeep ← 폴더 유지용 빈 파일
└── {board_key}/ ← 게시판 키별 업로드 서브폴더 (자동 생성)
├── .htaccess ← PHP 실행 차단 (업로드 파일 실행 공격 방지)
└── {파일들}.jpg ← 실제 업로드 파일 (날짜별 하위 폴더)
data/config.php 구조
<?php
// 설치 마법사가 자동 생성 — 직접 수정 가능
define('DX_DB_HOST', 'localhost');
define('DX_DB_NAME', 'my_database');
define('DX_DB_USER', 'my_user');
define('DX_DB_PASS', 'my_password');
define('DX_DB_PREFIX', 'dx_'); // 테이블 접두사
define('DX_SECRET_KEY', '64자리랜덤...'); // 세션/CSRF 키 도출용
define('DX_SECURITY_PATH','abcdef1234567890'); // Secure.php 경로 해시
$db = Database::getInstance();
$db->connect(DX_DB_HOST, DX_DB_NAME, DX_DB_USER, DX_DB_PASS);