diff --git a/장헌 레거시 리눅스전환 검토/0010.장헌 레거시 리눅스 전환 실행 정책 문서.md b/장헌 레거시 리눅스전환 검토/0010.장헌 레거시 리눅스 전환 실행 정책 문서.md index 59bb2a5..f52bc9a 100644 --- a/장헌 레거시 리눅스전환 검토/0010.장헌 레거시 리눅스 전환 실행 정책 문서.md +++ b/장헌 레거시 리눅스전환 검토/0010.장헌 레거시 리눅스 전환 실행 정책 문서.md @@ -1,141 +1,36 @@ -# 장헌 레거시 리눅스 전환 실행 정책 문서 -## 문서 목적 - -이 문서는 장헌 레거시 서비스의 리눅스 전환 작업을 실제로 수행할 때의 기준 문서다. - -앞으로의 작업은 본 문서의 `단계별 타임테이블`을 기준으로 진행한다. - -또한 작업 중 새로운 단계가 추가되거나, 기존 단계의 범위/순서/소요가 변경되면: - -1. 먼저 이 문서의 타임테이블을 갱신하고 -2. 그 다음 실제 작업을 진행한다 - -즉, 이 문서는 단순 보고용이 아니라 `실행 기준표`다. - -## 프로젝트 배경 - -장헌 레거시 서비스는 현재 Windows 기반 APMSETUP 환경에서 운영되고 있다. - -현재까지 확인된 운영 기준: - -| 항목 | 현재 운영 기준 | -| --- | --- | -| 웹서버 | Apache 2.2.14 | -| PHP | PHP 5.2.12 | -| DB | MySQL 5.1.41 계열 | -| 템플릿 엔진 | Smarty 2.6 | -| 운영 루트 | `D:\APM_Setup\htdocs` | -| 운영 성격 | 통합 웹루트 안에서 여러 서비스 동시 운영 | - -이번 전환은 단일 서비스 1개를 옮기는 작업이 아니라, 여러 서비스가 같은 레거시 웹루트와 공통 자산을 공유하는 구조를 리눅스로 옮기는 작업이다. - -## 현재 레거시 상황 - -| 구분 | 내용 | -| --- | --- | -| 핵심 서비스 | `intranet`, `factory_mng`, `person_mng`, `projt_mng`, `account` | -| 공통 의존성 | `Smarty`, `Smarty2.6`, `apiLibrary` | -| 공통 저장소 | `factory_file`, `intranet_file`, `person_file`, `proj_file`, `projt_file`, `erpphoto` | -| 코드 특성 | `mysql_*`, short open tag, Windows 절대경로, 구형 PHP 관행 | -| 템플릿 특성 | Smarty 2.6 기반, 다수 템플릿/백업/컴파일 산출물 혼재 | -| DB 특성 | `hanmacerp` 중심, 일부 보조 DB/보안 DB/뷰 문제 존재 | - -## 전환 목표 - -현재 기준으로는 아래 두 흐름을 모두 인지하고 작업한다. - -| 구분 | 의미 | -| --- | --- | -| 단기 목표 | 리눅스 기준으로 실제 운영 구조를 재현 가능한 상태까지 정리 | -| 중기 목표 | 필요 시 PHP 8 + Smarty 상향까지 포함한 구조 전환 검토 | - -다만 실제 실행은 `단계별 타임테이블` 기준으로 움직이며, 각 단계의 상태에 따라 다음 단계로 넘어간다. - -## 변경될 사항 - -| 구분 | 현재 | 전환 후 방향 | -| --- | --- | --- | -| OS | Windows | Linux | -| 실행 방식 | APMSETUP 수동 운영 | Docker 기반 구성 | -| 웹루트 | `D:\APM_Setup\htdocs` | 예: `/var/www/html` | -| DB 연결 | `localhost`/외부 호스트 혼재 | 환경변수 기반 연결 | -| 업로드/로그/캐시 | 웹루트 인접 상대경로/Windows 경로 | Linux 디렉터리/볼륨 매핑 | -| 템플릿 엔진 | Smarty 2.6 | 유지 또는 상향 검토 | -| 운영 구조 | 단일 Windows 통합 운영 | Linux/Docker 기준 재구성 | - -## 작업 진행 원칙 - -| 번호 | 원칙 | -| --- | --- | -| 1 | 실제 작업은 아래 `단계별 타임테이블` 기준으로 진행한다. | -| 2 | 한 단계가 시작되기 전에, 해당 단계의 입력물/완료조건을 확인한다. | -| 3 | 단계가 추가/변경되면 먼저 타임테이블을 수정하고 난 뒤 실제 작업을 진행한다. | | 4 | 다중 서비스 전환이므로 공통 수정의 영향 범위를 항상 같이 점검한다. | | 5 | 운영 사실은 문서/실파일/실제 캡처 기준으로만 기록한다. | +| 6 | 판단이 필요한 단계는 B안 기준으로 PHP 8, DB 상향, Smarty 상향 영향을 함께 검토한다. | +| 7 | 단계 진행 중 GPT 모델 전환이 필요하면 먼저 사용자에게 사유를 알리고, 승인 또는 확인 후 전환해 진행한다. | ## 단계별 타임테이블 -| 단계 ID | 단계명 | 목표 | 주요 작업 | 산출물 | 예상 소요 | 완료 기준 | 상태 | -| --- | --- | --- | --- | --- | --- | --- | --- | -| P0 | 기준 확보 | 운영 기준 사실과 범위를 고정 | 운영 버전, 루트 경로, 주요 서비스, DB, 저장소 구조 확인 | 운영 기준 메모, 인벤토리 문서 | 완료 | 기준 문서와 핵심 근거 확보 | 완료 | -| P1 | 원본 반입 | 실제 운영본과 DB dump를 작업 저장소에 반입 | `APM_Setup.zip`, `hanmacerp.sql`, 설정 파일 반입 | 압축본, dump, 반입 기록 | 완료 | 원본 소스/DB/설정 확보 | 완료 | -| P2 | 실행 기준 정리 | 작업 규칙, 보고 문서, 체크리스트 고정 | 보고 문서, 규칙 문서, B안 체크리스트 작성 | 규칙 문서, 전략 문서 | 완료 | 상위 기준 문서 정리 | 완료 | -| P3 | 운영 재현 준비 | 리눅스 재현을 위한 Docker 골격과 DB 적재 절차 준비 | compose, Dockerfile, entrypoint, DB init 절차 정리 | Docker 초안, import 절차 | 진행 중 | 웹/DB 골격과 import 절차 준비 | 진행 중 | -| P4 | 운영본 선별 및 구조화 | 실제 사용 서비스와 공통 자산을 선별 배치 | `app/htdocs` 기준 운영본/보류본/저장소 분리 | 선별 반입 구조 | 미착수 | 실제 운영본 구조가 고정됨 | 미착수 | -| P5 | A안 리눅스 재현 검증 | 현재 운영과 최대한 비슷하게 Linux/Docker에서 기동 확인 | 경로 치환, DB 연결, 업로드/로그/캐시 검증 | 1차 재현 결과, 오류 목록 | 미착수 | 로그인/대표 화면/대표 기능 구동 | 미착수 | -| P6 | B안 영향도 심화 분석 | PHP 8, DB 상향, Smarty 상향 범위를 실제 코드 기준으로 확정 | PHP 치명 이슈 스캔, Smarty 자산 분류, DB 호환성 분석 | B안 심화 메모, 착수 체크리스트 | 진행 중 | B안 실제 범위와 리스크 확정 | 진행 중 | -| P7 | B안 설계 확정 | PHP 8 + Smarty 상향 + Linux 이관의 실제 전환 순서를 확정 | 목표 버전, 공통부 전환, 서비스 우선순위 설계 | B안 설계 문서 | 미착수 | B안 실행 설계 승인 가능 수준 | 미착수 | -| P8 | B안 코드 전환 | 공통부부터 PHP 8/Smarty 상향 적용 | DB 계층, 공통 함수, Smarty 초기화부, 진입부 수정 | 코드 변경본, 변경 로그 | 미착수 | 대표 서비스의 PHP 8/Smarty 상향 기동 | 미착수 | -| P9 | 서비스별 회귀 테스트 | 다중 서비스 동작과 저장소 기능 확인 | 로그인, 메인, 첨부, 이미지, 로그, 인코딩, 세션 확인 | 테스트 결과표, 오류 목록 | 미착수 | 핵심 서비스별 대표 기능 확인 | 미착수 | -| P10 | 안정화 및 운영 전환 판단 | 반복 오류 보정과 최종 전환 판단 | 버그 수정, 재기동 검증, 문서 갱신 | 안정화 기록, 전환 판단 메모 | 미착수 | 운영 적용 여부 판단 가능 상태 | 미착수 | +| GPT-5.6 Luna | 대량 목록화, 단순 분류, 테스트 결과 요약처럼 판단 부담이 낮은 반복 작업 | +| GPT-5.5 high/xhigh | GPT-5.6 사용이 불가할 때의 대체 선택. 중요한 설계/리뷰 작업은 high 이상 권장 | + +## GPT 모델 전환 정책 + +단계별로 적합한 GPT 모델을 나누어 쓰더라도, 프로젝트 기준과 판단 맥락은 유지되어야 한다. 모델 전환은 작업 품질을 높이기 위한 수단이며, 전환 자체가 작업 기준을 바꾸는 것은 아니다. + +| 상황 | 전환 전 조치 | 전환 후 조치 | +| --- | --- | --- | +| Terra/Luna로 진행 중 복잡한 설계 판단이 필요함 | 사용자에게 Sol 전환 사유를 알림 | 기존 단계 목적, 입력물, 완료 기준을 요약한 뒤 Sol로 판단 | +| Sol로 진행 중 반복 스캔/목록화 작업이 많아짐 | 사용자에게 Terra 또는 Luna 전환 가능성을 알림 | 판단 기준은 Sol에서 확정한 내용을 유지하고 반복 작업만 분리 | +| 모델 전환 후 이전 결론과 충돌하는 판단이 나옴 | 즉시 작업을 멈추고 충돌 내용을 사용자에게 보고 | 기존 문서 근거와 새 판단을 비교한 뒤 사용자 확인 후 반영 | +| 장시간 작업 후 다른 모델로 이어서 진행해야 함 | 현재 단계, 수정 파일, 미해결 이슈, 다음 명령을 요약 | 이어받는 모델은 요약 내용을 먼저 확인하고 작업 재개 | + +모델 전환 시 반드시 아래 내용을 남긴다. + +| 기록 항목 | 내용 | +| --- | --- | +| 전환 사유 | 왜 현재 모델로는 부족하거나 비효율적인지 | +| 전환 대상 | 예: GPT-5.6 Terra에서 GPT-5.6 Sol로 전환 | +| 유지 기준 | 작업 목표, 완료 기준, 금지 사항, 이미 확정된 결정 | +| 이어받을 내용 | 현재 단계, 관련 파일, 남은 작업, 확인해야 할 리스크 | + +작업 중 모델 전환이 필요하다고 판단되면, 실제 전환 전에 사용자에게 먼저 알리고 진행한다. ## 현재 기준 우선 작업 경로 현재 문서 작성 시점(`2026-07-22`) 기준 우선 경로는 아래와 같다. - -1. `P3 운영 재현 준비` 마무리 -2. `P4 운영본 선별 및 구조화` -3. `P6 B안 영향도 심화 분석` 보강 -4. 이후 `P5`와 `P7` 중 실제 의사결정에 따라 진행 - -즉, 현재는 `A안 재현 준비`와 `B안 심화 분석`이 병행 구간에 있다. - -## 단계 변경 반영 규칙 - -작업 중 아래와 같은 상황이 발생하면 반드시 타임테이블을 먼저 수정한다. - -| 상황 | 조치 | -| --- | --- | -| 새 단계가 필요해짐 | 단계 ID, 단계명, 목표, 산출물, 소요를 추가 | -| 단계 순서가 바뀜 | 순서와 우선 경로를 수정 | -| 예상 소요가 크게 달라짐 | 소요와 상태 설명 보정 | -| 단계 목표가 달라짐 | 목표/완료 기준을 수정 | -| A안에서 B안으로 우선순위가 이동 | 우선 경로와 상태를 갱신 | - -## 상태값 정의 - -| 상태 | 의미 | -| --- | --- | -| 미착수 | 아직 시작하지 않음 | -| 진행 중 | 현재 수행 중 | -| 보류 | 외부 입력/승인/결정 대기 | -| 완료 | 완료 기준 충족 | - -## 문서 운영 규칙 - -| 항목 | 규칙 | -| --- | --- | -| 기준 문서 | 본 문서를 상위 실행 기준으로 본다 | -| 상세 규칙 문서 | 작업 규칙 문서와 체크리스트는 본 문서의 하위 실무 문서로 본다 | -| 단계 착수 전 | 이 문서의 해당 단계 목적/완료 기준을 먼저 확인 | -| 단계 변경 시 | 먼저 본 문서를 수정 후 실제 작업 진행 | - -## 현재 시점 요약 - -현재까지는 운영 기준, DB dump, 원본 압축, Docker 초안, B안 심화 검토 문서가 준비되어 있다. -다음 실제 작업은 `P3`, `P4`, `P6`의 정밀화에 집중하게 된다. - -## 한줄 결론 - -앞으로의 작업은 본 문서의 타임테이블을 기준으로 진행하며, 중간에 단계가 추가되거나 수정되면 반드시 먼저 이 문서를 갱신한 뒤 다음 작업을 수행한다. \ No newline at end of file