Files
MyDoc/장헌 레거시 리눅스전환 검토/0010.장헌 레거시 리눅스 전환 실행 정책 문서.md
T

12 KiB

전환 목표

현재 기준으로는 아래 두 흐름을 모두 인지하고 작업한다. 현재 실행 기준은 B안으로 고정한다.

구분 의미
단기 목표 리눅스 기준으로 실제 운영 구조를 재현 가능한 상태까지 정리
중기 목표 필요 시 PHP 8 + Smarty 상향까지 포함한 구조 전환 검토
실행 방향 PHP 8 + Smarty 상향 + Linux/Docker 이관
핵심 목표 Windows APMSETUP 기반 레거시 서비스를 최신 Linux 기반 스택에서 동작하도록 전환
제외 방향 A안, 즉 PHP 5.2 계열 운영 재현 우선 방식은 실행 타임테이블에서 제외

다만 실제 실행은 단계별 타임테이블 기준으로 움직이며, 각 단계의 상태에 따라 다음 단계로 넘어간다. A안 관련 문서는 판단 이력과 비교 자료로만 유지한다. 실제 실행은 아래 단계별 타임테이블 기준으로 움직이며, 각 단계의 상태에 따라 다음 단계로 넘어간다.

변경될 사항

| 웹루트 | D:\APM_Setup\htdocs | 예: /var/www/html | | DB 연결 | localhost/외부 호스트 혼재 | 환경변수 기반 연결 | | 업로드/로그/캐시 | 웹루트 인접 상대경로/Windows 경로 | Linux 디렉터리/볼륨 매핑 | | 템플릿 엔진 | Smarty 2.6 | 유지 또는 상향 검토 | | 템플릿 엔진 | Smarty 2.6 | Smarty 상향 적용 검토 후 전환 | | 운영 구조 | 단일 Windows 통합 운영 | Linux/Docker 기준 재구성 |

작업 진행 원칙

| 3 | 단계가 추가/변경되면 먼저 타임테이블을 수정하고 난 뒤 실제 작업을 진행한다. | | 4 | 다중 서비스 전환이므로 공통 수정의 영향 범위를 항상 같이 점검한다. | | 5 | 운영 사실은 문서/실파일/실제 캡처 기준으로만 기록한다. | | 6 | 판단이 필요한 단계는 B안 기준으로 PHP 8, DB 상향, Smarty 상향 영향을 함께 검토한다. |

단계별 타임테이블

단계 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 안정화 및 운영 전환 판단 반복 오류 보정과 최종 전환 판단 버그 수정, 재기동 검증, 문서 갱신 안정화 기록, 전환 판단 메모 미착수 운영 적용 여부 판단 가능 상태 미착수
단계 ID 단계명 목표 주요 작업 산출물 예상 소요 권장 GPT 모델 완료 기준
--- --- --- --- --- --- --- ---
P0 기준 확보 운영 기준 사실과 범위를 고정 운영 버전, 루트 경로, 주요 서비스, DB, 저장소 구조 확인 운영 기준 메모, 인벤토리 문서 완료 GPT-5.6 Terra 또는 GPT-5.5 high 기준 문서와 핵심 근거 확보
P1 원본 반입 실제 운영본과 DB dump를 작업 저장소에 반입 APM_Setup.zip, hanmacerp.sql, 설정 파일 반입 압축본, dump, 반입 기록 완료 GPT-5.6 Terra 또는 GPT-5.5 high 원본 소스/DB/설정 확보
P2 B안 실행 기준 정리 PHP 8 전환 중심의 작업 규칙, 보고 문서, 체크리스트 고정 정책 문서, 규칙 문서, B안 체크리스트 갱신 규칙 문서, 전략 문서, 실행 정책 문서 완료 GPT-5.6 Sol A안 제외 및 B안 실행 기준 고정
P3 운영본 선별 및 구조화 실제 사용 서비스와 공통 자산을 선별 배치 APM_Setup.zip 해제, 운영본/보류본/저장소 분리, 템플릿 산출물 분류 선별 반입 구조, 서비스 인벤토리 미착수 GPT-5.6 Terra 실제 운영본 구조가 고정됨
P4 PHP 8 치명 이슈 스캔 PHP 5.2 코드가 PHP 8에서 깨질 지점을 실제 코드 기준으로 식별 mysql_*, ereg, split, each, short tag, 동적 속성, 참조 전달, 배열/문자열 접근 스캔 PHP 8 이슈 목록, 우선순위표 미착수 GPT-5.6 Terra, 판단 검토는 GPT-5.6 Sol 공통부와 대표 서비스의 치명 이슈 목록 확보
P5 DB 계층 전환 설계 MySQL 5.x 접근 방식을 PHP 8 호환 DB 계층으로 전환 설계 DB 접속부 추적, mysql_* 대체 방식 결정, PDO/MySQLi 래퍼 설계, 문자셋 정책 정리 DB 전환 설계 메모, 공통 DB 래퍼 초안 미착수 GPT-5.6 Sol 코드 전환 전에 DB 접근 정책 확정
P6 Smarty 상향 설계 Smarty 2.6 템플릿/플러그인을 상위 버전 기준으로 전환 설계 템플릿 문법 스캔, 플러그인 호환성 점검, 컴파일/캐시 경로 정책, 목표 버전 확정 Smarty 전환 설계 메모, 템플릿 이슈 목록 진행 중 GPT-5.6 Sol Smarty 전환 범위와 수정 패턴 확정
P7 Linux/Docker 목표 스택 확정 PHP 8 기반 리눅스 실행 스택을 확정 Apache/Nginx 여부, PHP-FPM 여부, MySQL 목표 버전, 볼륨/권한/환경변수 설계 Docker 목표 설계, compose 기준안 미착수 GPT-5.6 Sol B안 실행 인프라 기준 승인 가능 상태
P8 공통부 코드 전환 서비스 전체에 영향이 큰 공통부부터 PHP 8 기준으로 수정 DB 계층, 공통 함수, 설정 로더, 경로 처리, 세션/쿠키, Smarty 초기화부 수정 공통부 변경본, 변경 로그 미착수 GPT-5.6 Sol 대표 진입점이 PHP 8에서 fatal 없이 로드됨
P9 서비스별 코드/템플릿 전환 핵심 서비스별 PHP/Smarty 오류를 순차 수정 intranet, factory_mng, person_mng, projt_mng, account 순차 점검 및 수정 서비스별 수정 로그, 오류 목록 미착수 반복 수정은 GPT-5.6 Terra, 난해한 오류는 GPT-5.6 Sol 핵심 서비스 대표 화면과 대표 기능 동작
P10 DB/데이터 상향 검증 MySQL 8 또는 선택된 목표 DB에서 데이터와 쿼리 호환성 확인 dump import, 뷰/트리거/프로시저 점검, 예약어/문자셋/정렬 기준 확인 DB import 결과, 쿼리 오류 목록 미착수 GPT-5.6 Sol 주요 조회/저장 쿼리와 문자셋 이상 여부 확인
P11 서비스별 회귀 테스트 및 안정화 다중 서비스 동작과 저장소 기능을 반복 확인 로그인, 메인, 첨부, 이미지, 로그, 인코딩, 세션, 권한 확인 테스트 결과표, 오류 목록, 안정화 기록 미착수 GPT-5.6 Terra, 대량 체크는 GPT-5.6 Luna 가능 핵심 서비스별 대표 기능 확인
P12 운영 전환 판단 반복 오류 보정 후 최종 전환 가능 여부 판단 잔여 리스크 정리, 릴리스/롤백 기준 작성, 문서 갱신 전환 판단 메모, 릴리스 체크리스트 미착수 GPT-5.6 Sol 운영 적용 여부 판단 가능 상태

GPT 모델 선택 기준

모델 적합한 작업
GPT-5.6 Sol 아키텍처 결정, PHP 8 전환 판단, DB/Smarty 상향 설계, 복잡한 오류 분석, 최종 리뷰
GPT-5.6 Terra 파일 인벤토리, 반복 코드 스캔, 서비스별 수정, 문서 정리, 중간 난이도 리팩토링
GPT-5.6 Luna 대량 목록화, 단순 분류, 테스트 결과 요약처럼 판단 부담이 낮은 반복 작업
GPT-5.5 high/xhigh GPT-5.6 사용이 불가할 때의 대체 선택. 중요한 설계/리뷰 작업은 high 이상 권장

현재 기준 우선 작업 경로

현재 문서 작성 시점(2026-07-22) 기준 우선 경로는 아래와 같다.

  1. P3 운영 재현 준비 마무리
  2. P4 운영본 선별 및 구조화
  3. P6 B안 영향도 심화 분석 보강
  4. 이후 P5P7 중 실제 의사결정에 따라 진행
  5. P3 운영본 선별 및 구조화
  6. P4 PHP 8 치명 이슈 스캔
  7. P6 Smarty 상향 설계
  8. P5 DB 계층 전환 설계P7 Linux/Docker 목표 스택 확정
  9. 이후 P8 공통부 코드 전환부터 실제 코드 전환 착수

즉, 현재는 A안 재현 준비B안 심화 분석이 병행 구간에 있다. 즉, 현재부터는 A안 재현 준비를 실행 경로에서 제외하고, B안 전환 준비에 집중한다.

단계 변경 반영 규칙

| 단계 순서가 바뀜 | 순서와 우선 경로를 수정 | | 예상 소요가 크게 달라짐 | 소요와 상태 설명 보정 | | 단계 목표가 달라짐 | 목표/완료 기준을 수정 | | A안에서 B안으로 우선순위가 이동 | 우선 경로와 상태를 갱신 | | B안 범위/순서가 바뀜 | 우선 경로와 상태를 갱신 |

상태값 정의

현재 시점 요약

현재까지는 운영 기준, DB dump, 원본 압축, Docker 초안, B안 심화 검토 문서가 준비되어 있다.
다음 실제 작업은 P3, P4, P6의 정밀화에 집중하게 된다. 다음 실제 작업은 P3 운영본 선별 및 구조화, P4 PHP 8 치명 이슈 스캔, P6 Smarty 상향 설계 순서로 집중하게 된다.

한줄 결론

앞으로의 작업은 본 문서의 타임테이블을 기준으로 진행하며, 중간에 단계가 추가되거나 수정되면 반드시 먼저 이 문서를 갱신한 뒤 다음 작업을 수행한다.