no message

This commit is contained in:
2025-12-26 11:47:21 +09:00
parent 8bc3744b0e
commit 65d8cf7813
4 changed files with 114 additions and 40 deletions

30
.env.sample Normal file
View File

@ -0,0 +1,30 @@
##################################################
# 공통 설정
##################################################
# PHP 버전 선택: 8.2 또는 8.4
PHP_VERSION=8.2
# 웹 루트 (호스트 기준)
WEB_ROOT=./www
# UID / GID (호스트 사용자)
PUID=1000
PGID=1000
##################################################
# MariaDB 설정 (cafe24 10G 유사)
##################################################
MYSQL_ROOT_PASSWORD=rootpassword
MYSQL_DATABASE=firstgarden
MYSQL_USER=firstgarden
MYSQL_PASSWORD=firstgarden_pw
# 포트 (필요 시 외부 접근)
MYSQL_PORT=3306
##################################################
# 타임존
##################################################
TZ=Asia/Seoul

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.env

View File

@ -1,35 +1,43 @@
# 퍼스트가든 사이트 테스트용 php-apache 이미지
- Cafe24 호스팅과 가능한 버전을 맞춰서 관리함.
- Cafe24 10G자이언트플러스 호스팅과 유사한 개발 환경 구축을 목표로 함
### docker-compose.yml
```yaml
services:
web:
image: reg.firstgarden.co.kr/php-apache:8.2.7
container_name: php-apache
ports:
- "80:80"
environment:
TZ: Asia/Seoul
PUID: 1000
PGID: 1000
APACHE_RUN_USER: www-data
APACHE_RUN_GROUP: www-data
volumes:
- ./html:/var/www/html # 소스코드 마운트
restart: unless-stopped
```
## 지원 PHP 버전
- PHP 8.2
- PHP 8.4
## 실행 방법
```bash
cp .env.example .env
docker compose up -d --build
## 접속
http://localhost
DB: localhost:3306
## PHP 버전 변경
`.env` 파일에서 `PHP_VERSION=8.4`
---
### 폴더 구조
```PowerShell
| docker-compose.yml
| README.md
+---8.2
| Dockerfile
| entrypoint.sh
|
\---8.2.7
docker-compose.yml
Dockerfile
entrypoint.sh
```bash
.
├── docker-compose.yml
├── .env
├── README.md
├── logs/
│ ├── apache/
│ ├── php/
│ └── mariadb/
├── data/
│ └── mariadb/
├── www/
│ └── (웹소스)
├── 8.2/
│ ├── Dockerfile
│ └── entrypoint.sh
└── 8.4/
├── Dockerfile
└── entrypoint.sh
```

View File

@ -1,13 +1,48 @@
services:
php-apache-8.2.7:
build: ./8.2.7
image: reg.firstgarden.co.kr/php-apache:8.2.7
web:
build:
context: .
dockerfile: ${PHP_VERSION}/Dockerfile
container_name: cafe24-php-${PHP_VERSION}
ports:
- "80:80"
env_file:
- .env
environment:
TZ: ${TZ}
PUID: ${PUID}
PGID: ${PGID}
volumes:
# 웹 소스
- ${WEB_ROOT}:/var/www/html
php-apache-8.2:
build: ./8.2
image: reg.firstgarden.co.kr/php-apache:8.2
php-apache-8.4:
build: ./8.4
image: reg.firstgarden.co.kr/php-apache:8.4
# 로그 분리
- ./logs/apache:/var/log/apache2
- ./logs/php:/var/log/php
depends_on:
- mariadb
restart: unless-stopped
mariadb:
image: mariadb:10.6
container_name: cafe24-mariadb
ports:
- "${MYSQL_PORT}:3306"
env_file:
- .env
environment:
TZ: ${TZ}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
command:
# cafe24 계열 기본값에 가깝게 조정
- "--character-set-server=utf8mb4"
- "--collation-server=utf8mb4_unicode_ci"
- "--max-connections=100"
- "--sql-mode=NO_ENGINE_SUBSTITUTION"
volumes:
- ./data/mariadb:/var/lib/mysql
- ./logs/mariadb:/var/log/mysql
restart: unless-stopped