1. 설치 절차 (단계별 상세)
1.1 설치 전 체크리스트
- PHP 5.6 이상 확인
- PDO MySQL 익스텐션 활성화 확인
- MySQL 5.6+ 또는 MariaDB 10.1+ DB 서버 준비
- DB 생성 및 사용자 계정 준비 (CREATE, ALTER, DROP, INDEX 권한 필요)
- data/ 및 pages/ 폴더 쓰기 권한 부여
- 웹 서버 URL Rewrite 설정 (선택. 없으면 ?_url= 방식으로 동작)
1.2 STEP 1 — 파일 업로드
ZIP 파일 내 모든 파일을 웹 루트 디렉토리에 그대로 업로드합니다.
# FTP/SFTP 업로드 예시
/var/www/html/ ← 웹 루트
├── index.php
├── .htaccess
├── core/
├── admin/
├── data/ ← 쓰기 권한 필요
├── pages/ ← 쓰기 권한 필요
├── themes/
├── install/
└── ...
1.3 STEP 2 — 설치 마법사 실행
브라우저에서 아래 URL에 접속합니다.
https://your-domain.com/install/
설치 마법사 3단계
| 단계 | 화면 | 설명 |
|---|---|---|
| ① 환경 확인 | 필수/선택 항목 자동 점검 | 모든 필수 항목 ✓ 확인 후 다음 단계 |
| ② DB 설정 | 사이트 정보 + DB 정보 + 관리자 계정 입력 | 설치 시작 버튼 클릭 → schema.sql 실행 + config.php 생성 |
| ③ 완료 | 사이트/관리자 링크 표시 | 설치 완료. install/ 폴더 삭제 권장 |
STEP 2 입력 항목
| 항목 | 기본값 | 설명 |
|---|---|---|
| 사이트 이름 | DesignOneX CMS | 관리자 패널 및 메타 타이틀에 사용 |
| 사이트 URL | 자동 감지 | https://your-domain.com 형식. 끝에 / 없이 |
| 시간대 | Asia/Seoul | 서울(UTC+9) 기본. 운영 시간대에 맞게 변경 |
| DB 호스트 | localhost | 원격 DB면 IP 또는 호스트명 입력 |
| DB 이름 | (입력 필수) | 미리 생성된 DB명 |
| DB 사용자 | (입력 필수) | DB 접속 계정 |
| DB 비밀번호 | (공백 가능) | localhost의 경우 공백 가능 |
| 테이블 Prefix | dx_ | 영문 소문자, 숫자, _ 만 허용 |
| 관리자 아이디 | admin | 로그인 ID |
| 관리자 이메일 | (입력 필수) | 관리자 이메일 |
| 관리자 비밀번호 | (입력 필수) | 6자 이상 |
1.4 설치 시 자동 생성되는 파일/폴더
| 생성 항목 | 경로 | 내용 |
|---|---|---|
| DB 설정 파일 | data/config.php | DB 연결 정보, 전역 설정 로드 코드, DX_SECRET_KEY, DX_SECURITY_PATH 상수 |
| 보안 경로 | core/security/{16자리해시}/ | 설치마다 고유한 해시 폴더 생성 |
| Secure.php 복사본 | core/security/{hash}/Secure.php | 원본 core/Secure.php를 고유 경로로 복사 |
|
43개 DB 테이블 |
MySQL/MariaDB | schema.sql 실행으로 전체 테이블 구조 생성 |
| extend/ 폴더 | extend/top/, middle/, bottom/ | 설치 직후 자동 생성 (DxExtend::ensureDirs()) |
1.5 STEP 3 — 설치 후 필수 작업
- 관리자 패널 접속: https://your-domain.com/admin
- 관리자 > 설정에서 사이트 이름, URL, 테마 등 설정 확인
- install/ 폴더 삭제 또는 접근 차단 (보안 필수)
- data/config.php 파일 권한을 644로 낮추기 (쓰기 불필요)
🔒 보안: 설치 완료 후 install/ 폴더를 반드시 삭제하거나 외부 접근을 차단하세요. 이미 설치된 상태에서 install/ 폴더가 존재하면 install/index.php가 "이미 설치되어 있습니다" 메시지를 출력하지만, migrate.php는 여전히 실행 가능합니다.