SP100주년 뮤지엄 사이트의 개발 소스는 Git 저장소를 통해 관리됩니다.
| 항목 | 내용 |
|---|
| 저장소 유형 | Git (Private) |
| 주요 브랜치 | main, develop, features/80th-anniversary |
| 테마 경로 | web/app/themes/sknk_80/ |
│ └── features/80th-anniversary (SP100주년 개발)
| 브랜치 | 용도 | 배포 대상 |
|---|
main | 운영 서버 배포 | spsamhwa.com |
develop | 개발 통합 및 테스트 | 스테이징 |
features/80th-anniversary | SP100주년 기능 개발 | 개발 환경 |
├── config/ # WordPress 설정
├── migration/ # MIS 마이그레이션 YML
├── vendor/ # Composer 의존성
├── mu-plugins/ # Must-Use 플러그인
│ └── museum-admin-menu.php
│ └── advanced-custom-fields-pro/
└── sknk_80/ # 뮤지엄 차일드 테마 ★
│ └── event-comments-admin.php
| 번호 | 파일명 | 라인 수 (추정) |
|---|
| 1 | functions.php | ~50 |
| 2 | style.css | ~20 |
| 3 | home.php | ~30 |
| 4 | page-80-years.php | ~50 |
| 5 | page-sp-samhwa.php | ~40 |
| 6 | page-first-best.php | ~40 |
| 7 | page-future.php | ~40 |
| 8 | page-philosophy.php | ~40 |
| 9 | page-history.php | ~40 |
| 10 | page-heritage.php | ~40 |
| 11 | page-event.php | ~50 |
| 12 | page-coming-soon.php | ~30 |
| 13 | single-event.php | ~60 |
| 14 | single-winner.php | ~50 |
| 15 | 404.php | ~20 |
| 16 | inc/register.php | ~100 |
| 17 | inc/ajax.php | ~80 |
| 18 | inc/event-cpt.php | ~80 |
| 19 | inc/event-comments.php | ~150 |
| 번호 | 파일명 |
|---|
| 1 | home.twig |
| 2 | 80-years.twig |
| 3 | sp-samhwa.twig |
| 4 | first-best.twig |
| 5 | future.twig |
| 6 | philosophy.twig |
| 7 | event.twig |
| 8 | single-event.twig |
| 9 | single-winner.twig |
| 10 | coming-soon.twig |
| 11 | 404.twig |
| 12 | partials/anniversary-header.twig |
| 13 | partials/anniversary-footer.twig |
| 14 | partials/mega-menu.twig |
| 15 | partials/btn-top.twig |
| 16 | partials/sub-banner.twig |
| 번호 | 파일명 |
|---|
| 1 | 80.js |
| 2 | 80-years.js |
| 3 | 80-years.core.js |
| 4 | 80-years.lenis.js |
| 5 | 80-years.snap.js |
| 6 | 80-years.intro.js |
| 7 | 80-years.page.js |
| 8 | sp-samhwa.js |
| 9 | first-best.js |
| 10 | future.js |
| 11 | philosophy.js |
| 12 | history-scroll.js |
| 13 | event-lenis.js |
| 14 | event-comments.js |
| 15 | wheel-canvas.js |
| 16 | common/intro.js |
| 17 | common/accent-utils.js |
| 18 | common/curtain-utils.js |
소스코드 접근 권한은 다음 절차를 거쳐 안내될 예정입니다:
- 삼화 측 유관 부서 검토
- 접근 권한 범위 결정
- Git 계정 생성 또는 권한 부여
- 접근 방법 안내
| 항목 | 설명 |
|---|
| 담당자명 | 소스 접근이 필요한 담당자 |
| 이메일 | Git 계정 생성용 |
| 목적 | 접근 목적 (유지보수, 검토 등) |
| 기간 | 접근 필요 기간 |
| 항목 | 버전 |
|---|
| Git | 2.x+ |
| GitHub 계정 | 승인된 계정 필요 |
| PHP | 8.1+ |
| MySQL | 8.0+ |
| Node.js | 18+ (선택) |
| Composer | 2.x |
| DDEV | 1.21+ (권장) |
git clone https://github.com/sknkwoxs/samhwa/ samhwa
ddev snapshot restore --latest
open https://samhwa.sknkwoxs.com/museum/
WP_HOME='https://spsamhwa.com'
WP_SITEURL='https://spsamhwa.com/wp'
SUBDOMAIN_INSTALL=false # 서브디렉토리 방식
DOMAIN_CURRENT_SITE='spsamhwa.com'
주의: .env 파일은 Git에 포함되지 않습니다. 서버에서 직접 관리하세요.

composer install --no-dev --optimize-autoloader
wp cache flush --url=spsamhwa.com/museum
| 항목 | 운영 | 개발 |
|---|
| 호스트 | localhost | ddev-samhwa-db |
| 포트 | 3306 | 3306 |
| DB명 | samhwa_db | db |
| 사용자 | (보안) | db |
| blog_id | 접두사 | 사이트 |
|---|
| 1 | wp_ | 국문 |
| 2 | wp_2_ | 영문 |
| 3 | wp_3_ | 뮤지엄 |
wp db export museum-backup.sql --url=spsamhwa.com/museum
wp db import museum-backup.sql
wp search-replace 'samhwa.sknkwoxs.com/museum' 'spsamhwa.com/museum' \
--url=spsamhwa.com/museum
wp cache flush --url=spsamhwa.com/museum
| 대상 | 경로/방법 | 주기 |
|---|
| 데이터베이스 | wp db export | 일간 |
| 업로드 파일 | /web/app/uploads/sites/3/ | 주간 |
| 테마 파일 | Git 저장소 | 실시간 |
| 설정 파일 | .env, config/ | 변경 시 |
BACKUP_DIR="/backups/museum"
wp db export ${BACKUP_DIR}/db-${DATE}.sql --url=spsamhwa.com/museum
tar -czf ${BACKUP_DIR}/uploads-${DATE}.tar.gz \
/var/www/samhwa/web/app/uploads/sites/3/
find ${BACKUP_DIR} -type f -mtime +30 -delete
wp db import /backups/museum/db-20260420.sql
wp search-replace 'old-domain.com' 'spsamhwa.com' \
--url=spsamhwa.com/museum
wp cache flush --url=spsamhwa.com/museum
tar -xzf /backups/museum/uploads-20260420.tar.gz -C /
| 증상 | 원인 | 해결 방법 |
|---|
| 500 에러 | PHP 에러 | /var/log/nginx/error.log 확인 |
| 404 에러 | Rewrite 규칙 | Nginx 설정 확인 |
| 흰 화면 | PHP 메모리 | memory_limit 증가 |
| 로그인 루프 | 쿠키 문제 | 브라우저 캐시 클리어 |
| 이미지 깨짐 | 업로드 권한 | uploads/ 권한 755 |
tail -f /var/log/nginx/error.log
tail -f /var/log/php/error.log
tail -f /var/www/samhwa/web/app/debug.log
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
wp theme list --url=spsamhwa.com/museum
wp plugin list --url=spsamhwa.com/museum
wp option get blogname --url=spsamhwa.com/museum
wp option get siteurl --url=spsamhwa.com/museum
wp post list --post_type=event --url=spsamhwa.com/museum --format=count
wp post list --post_type=winner --url=spsamhwa.com/museum --format=count
wp cache flush --url=spsamhwa.com/museum
wp transient delete --all --url=spsamhwa.com/museum
wp post delete $(wp post list --post_type='revision' --format=ids) --url=spsamhwa.com/museum
- 2.2. 코딩가이드 - 코딩 컨벤션
- 2.6. 프로그램목록정의서 - 프로그램 상세