Files
confirms/Dockerfile
yangsh 735120f1cb
Some checks failed
Close Pull Request / main (pull_request_target) Has been cancelled
new
2025-12-09 17:28:31 +09:00

45 lines
1.4 KiB
Docker

FROM php:8.4-apache
# 타임존 (옵션)
RUN ln -snf /usr/share/zoneinfo/Asia/Seoul /etc/localtime \
&& echo Asia/Seoul > /etc/timezone
# mod_rewrite 활성화
RUN a2enmod rewrite
# 필수 라이브러리 + PHP 확장 설치 (intl, pdo_mysql, mysqli, gd, zip)
RUN apt-get update && apt-get install -y \
libicu-dev \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
libzip-dev \
zip \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install intl pdo pdo_mysql mysqli gd zip \
&& rm -rf /var/lib/apt/lists/*
# composer 바이너리 복사 (멀티스테이지)
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
# DocumentRoot 를 CI4 public 으로 변경
ENV APACHE_DOCUMENT_ROOT=/var/www/html/public
# 기본 vhost 의 DocumentRoot 만 변경
RUN sed -ri -e 's!DocumentRoot /var/www/html!DocumentRoot ${APACHE_DOCUMENT_ROOT}!g' \
/etc/apache2/sites-available/000-default.conf
# CI4 public 디렉터리에 .htaccess 허용 + 접근 허용
RUN printf "<Directory /var/www/html/public>\n\
AllowOverride All\n\
Require all granted\n\
</Directory>\n" > /etc/apache2/conf-available/ci4.conf \
&& a2enconf ci4
WORKDIR /var/www/html
# writable 폴더 만들고 권한 부여
RUN mkdir -p /var/www/html/writable/upload/notice \
&& chown -R www-data:www-data /var/www/html/writable \
&& chmod -R 775 /var/www/html/writable