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
