49 lines
1.6 KiB
Markdown
49 lines
1.6 KiB
Markdown
# EGBIM 로컬 Docker 실행
|
|
|
|
## 구성
|
|
|
|
- `app`: Apache + PHP 8.1
|
|
- `db`: MariaDB 10.6
|
|
- 웹 루트: 저장소 루트 `/var/www/html`
|
|
- 기본 진입 주소: `http://localhost:8088/egbim/`
|
|
|
|
## 준비
|
|
|
|
1. Docker 와 Docker Compose 를 사용할 수 있어야 한다.
|
|
2. 필요하면 `.env.docker.example` 내용을 참고해 `.env` 파일을 만든다.
|
|
3. DB 덤프가 있으면 `docker/mysql/init/` 아래에 `.sql` 파일로 넣는다.
|
|
4. 기본 로컬 DB명은 운영과 맞춘 `egbim` 이다.
|
|
|
|
## 실행
|
|
|
|
```bash
|
|
docker compose up --build
|
|
```
|
|
|
|
## 접속
|
|
|
|
- 기본: `http://localhost:8080/egbim/`
|
|
- 기본: `http://localhost:8088/egbim/`
|
|
- 루트 진입 확인: `http://localhost:8088/`
|
|
|
|
## `eg-bim.com` 도메인으로 로컬 접속하고 싶을 때
|
|
|
|
hosts 파일에 아래를 추가한다.
|
|
|
|
```text
|
|
127.0.0.1 eg-bim.com
|
|
```
|
|
|
|
그 다음 아래 주소로 접속한다.
|
|
|
|
```text
|
|
http://eg-bim.com:8088/
|
|
```
|
|
|
|
로컬 Docker 환경에서는 루트 `.htaccess` 가 `APP_ENV=local` 일 때 HTTPS 강제와 운영 리다이렉트를 건너뛴다.
|
|
|
|
## 참고
|
|
|
|
- 앱 컨테이너에서는 DB 호스트를 `db` 로 주입하므로 `egbim/data/dbconfig.php`, `eng/data/dbconfig.php` 는 환경변수가 있으면 그 값을 우선 사용한다.
|
|
- Docker 기본값은 `G5_MYSQL_DB=egbim`, `G5_MYSQL_USER=egbim` 이다.
|
|
- 현재 일부 개별 PHP 스크립트는 여전히 `new mysqli('localhost', ...)` 형태의 하드코딩이 남아 있다. 로그인과 기본 그누보드 흐름은 `data/dbconfig.php` 경유라 우선 Docker 부팅에는 문제가 없지만, 업로드/버전 관리 기능은 다음 단계에서 별도 정리가 필요하다. |