From 0bbabc5b281aa8756150fd8005e8e0c654f3d981 Mon Sep 17 00:00:00 2001 From: KWON Date: Fri, 26 Dec 2025 12:23:50 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20PHP=208.2/8.4=20=EB=8F=99=EC=8B=9C=20?= =?UTF-8?q?=EC=8B=A4=ED=96=89=20=EC=A7=80=EC=9B=90=20=EB=B0=8F=20=ED=94=84?= =?UTF-8?q?=EB=A1=9C=EC=A0=9D=ED=8A=B8=20=EA=B5=AC=EC=A1=B0=20=EA=B0=9C?= =?UTF-8?q?=ED=8E=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - docker-compose.yml 수정: PHP 8.2 (포트 80)와 8.4 (포트 8084) 동시 실행 - 웹루트 및 MariaDB 공유 설정 - 각 PHP 버전별로 로그 디렉토리 분리 (logs/apache/8.2, logs/apache/8.4 등) - 필요한 폴더 구조 생성 및 .gitkeep 파일 추가 - README.md 업데이트: 접속 정보, 폴더 구조, 주요 특징 설명 추가 --- README.md | 55 +++++++++++++++++++++++++++------------- data/mariadb/.gitkeep | 0 docker-compose.yml | 36 +++++++++++++++++++++----- logs/apache/8.2/.gitkeep | 0 logs/apache/8.4/.gitkeep | 0 logs/php/8.2/.gitkeep | 0 logs/php/8.4/.gitkeep | 0 www/.gitkeep | 0 8 files changed, 67 insertions(+), 24 deletions(-) create mode 100644 data/mariadb/.gitkeep create mode 100644 logs/apache/8.2/.gitkeep create mode 100644 logs/apache/8.4/.gitkeep create mode 100644 logs/php/8.2/.gitkeep create mode 100644 logs/php/8.4/.gitkeep create mode 100644 www/.gitkeep diff --git a/README.md b/README.md index 36934db..4eb11d5 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,62 @@ -# 퍼스트가든 사이트 테스트용 php-apache 이미지 -- Cafe24 10G자이언트플러스 호스팅과 유사한 개발 환경 구축을 목표로 함 +# Cafe24 10G자이언트플러스 호스팅 환경 테스트 서버 +Cafe24 10G자이언트플러스 호스팅 환경과 최대한 유사한 개발 환경 구축을 목표로 합니다. ## 지원 PHP 버전 -- PHP 8.2 -- PHP 8.4 +- **PHP 8.2** (포트: 80) - 현재 운영 중인 버전 +- **PHP 8.4** (포트: 8084) - 추후 업그레이드 대비용 + +> 두 버전이 동시에 실행되며, 동일한 웹루트와 MariaDB를 공유합니다. ## 실행 방법 ```bash cp .env.example .env docker compose up -d --build +``` -## 접속 -http://localhost -DB: localhost:3306 +## 접속 정보 +- **PHP 8.2**: http://localhost +- **PHP 8.4**: http://localhost:8084 +- **MariaDB**: localhost:3306 -## PHP 버전 변경 -`.env` 파일에서 `PHP_VERSION=8.4` +## 설정 변경 +`.env` 파일에서 다음 항목을 수정할 수 있습니다: +- `WEB_ROOT` - 웹소스 경로 (기본값: `./www`) +- `MYSQL_PORT` - MariaDB 포트 (기본값: 3306) +- `MYSQL_ROOT_PASSWORD` - MariaDB 루트 비밀번호 +- `TZ` - 타임존 (기본값: Asia/Seoul) --- ### 폴더 구조 -```bash +``` . ├── docker-compose.yml -├── .env +├── .env # 환경설정 파일 +├── .env.example # 환경설정 예제 ├── README.md -├── logs/ +├── logs/ # 로그 디렉토리 │ ├── apache/ +│ │ ├── 8.2/ # PHP 8.2 Apache 로그 +│ │ └── 8.4/ # PHP 8.4 Apache 로그 │ ├── php/ -│ └── mariadb/ +│ │ ├── 8.2/ # PHP 8.2 에러 로그 +│ │ └── 8.4/ # PHP 8.4 에러 로그 +│ └── mariadb/ # MariaDB 로그 ├── data/ -│ └── mariadb/ -├── www/ +│ └── mariadb/ # MariaDB 데이터 볼륨 +├── www/ # 웹 소스 (PHP 8.2/8.4 공유) │ └── (웹소스) ├── 8.2/ -│ ├── Dockerfile +│ ├── Dockerfile # PHP 8.2 이미지 │ └── entrypoint.sh └── 8.4/ - ├── Dockerfile + ├── Dockerfile # PHP 8.4 이미지 └── entrypoint.sh +``` -``` \ No newline at end of file +## 주요 특징 +- **독립적인 PHP 버전**: 8.2와 8.4를 동시에 실행 가능 +- **공유 웹루트**: 동일한 소스코드를 양쪽 PHP 버전에서 테스트 +- **단일 MariaDB**: 하나의 MariaDB 인스턴스를 두 PHP 서버에서 공유 +- **분리된 로그**: 각 PHP 버전별로 로그를 별도로 관리 +- **Cafe24 환경 모의**: utf8mb4, 최대 연결수 100 등 Cafe24 기본값 적용 \ No newline at end of file diff --git a/data/mariadb/.gitkeep b/data/mariadb/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose.yml b/docker-compose.yml index b761533..f21cdb0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,9 +1,9 @@ services: - web: + php82: build: context: . - dockerfile: ${PHP_VERSION}/Dockerfile - container_name: cafe24-php-${PHP_VERSION} + dockerfile: 8.2/Dockerfile + container_name: cafe24-php-8.2 ports: - "80:80" env_file: @@ -13,12 +13,36 @@ services: PUID: ${PUID} PGID: ${PGID} volumes: - # 웹 소스 + # 웹 소스 (공유) - ${WEB_ROOT}:/var/www/html # 로그 분리 - - ./logs/apache:/var/log/apache2 - - ./logs/php:/var/log/php + - ./logs/apache/8.2:/var/log/apache2 + - ./logs/php/8.2:/var/log/php + depends_on: + - mariadb + restart: unless-stopped + + php84: + build: + context: . + dockerfile: 8.4/Dockerfile + container_name: cafe24-php-8.4 + ports: + - "8084:80" + env_file: + - .env + environment: + TZ: ${TZ} + PUID: ${PUID} + PGID: ${PGID} + volumes: + # 웹 소스 (공유) + - ${WEB_ROOT}:/var/www/html + + # 로그 분리 + - ./logs/apache/8.4:/var/log/apache2 + - ./logs/php/8.4:/var/log/php depends_on: - mariadb restart: unless-stopped diff --git a/logs/apache/8.2/.gitkeep b/logs/apache/8.2/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/logs/apache/8.4/.gitkeep b/logs/apache/8.4/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/logs/php/8.2/.gitkeep b/logs/php/8.2/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/logs/php/8.4/.gitkeep b/logs/php/8.4/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/www/.gitkeep b/www/.gitkeep new file mode 100644 index 0000000..e69de29