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

8.2 KiB

장헌 레거시 리눅스 전환 실행 정책 문서

문서 목적

이 문서는 장헌 레거시 서비스의 리눅스 전환 작업을 실제로 수행할 때의 기준 문서다.

앞으로의 작업은 본 문서의 단계별 타임테이블을 기준으로 진행한다.

또한 작업 중 새로운 단계가 추가되거나, 기존 단계의 범위/순서/소요가 변경되면:

  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 운영 사실은 문서/실파일/실제 캡처 기준으로만 기록한다.

단계별 타임테이블

단계 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 안정화 및 운영 전환 판단 반복 오류 보정과 최종 전환 판단 버그 수정, 재기동 검증, 문서 갱신 안정화 기록, 전환 판단 메모 미착수 운영 적용 여부 판단 가능 상태 미착수

현재 기준 우선 작업 경로

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

  1. P3 운영 재현 준비 마무리
  2. P4 운영본 선별 및 구조화
  3. P6 B안 영향도 심화 분석 보강
  4. 이후 P5P7 중 실제 의사결정에 따라 진행

즉, 현재는 A안 재현 준비B안 심화 분석이 병행 구간에 있다.

단계 변경 반영 규칙

작업 중 아래와 같은 상황이 발생하면 반드시 타임테이블을 먼저 수정한다.

상황 조치
새 단계가 필요해짐 단계 ID, 단계명, 목표, 산출물, 소요를 추가
단계 순서가 바뀜 순서와 우선 경로를 수정
예상 소요가 크게 달라짐 소요와 상태 설명 보정
단계 목표가 달라짐 목표/완료 기준을 수정
A안에서 B안으로 우선순위가 이동 우선 경로와 상태를 갱신

상태값 정의

상태 의미
미착수 아직 시작하지 않음
진행 중 현재 수행 중
보류 외부 입력/승인/결정 대기
완료 완료 기준 충족

문서 운영 규칙

항목 규칙
기준 문서 본 문서를 상위 실행 기준으로 본다
상세 규칙 문서 작업 규칙 문서와 체크리스트는 본 문서의 하위 실무 문서로 본다
단계 착수 전 이 문서의 해당 단계 목적/완료 기준을 먼저 확인
단계 변경 시 먼저 본 문서를 수정 후 실제 작업 진행

현재 시점 요약

현재까지는 운영 기준, DB dump, 원본 압축, Docker 초안, B안 심화 검토 문서가 준비되어 있다.
다음 실제 작업은 P3, P4, P6의 정밀화에 집중하게 된다.

한줄 결론

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