# Use PHP 7.4 with Apache
FROM php:7.4-apache

# Install required packages and dependencies
RUN apt-get update && apt-get install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libpng-dev \
        libzip-dev \
        zlib1g-dev \
        vim \
        libicu-dev \
        fcgiwrap \
        mariadb-client \
        ca-certificates \
        curl \
        git && \
    rm -rf /var/lib/apt/lists/*

# Configure and install PHP extensions
RUN docker-php-ext-configure intl && \
    docker-php-ext-install intl && \
    docker-php-ext-configure gd --with-freetype --with-jpeg && \
    docker-php-ext-install -j$(nproc) gd && \
    docker-php-ext-install mysqli zip pdo_mysql bcmath && \
    docker-php-ext-install opcache

# Install Composer globally
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Set up sessions directory with proper permissions
RUN mkdir /var/www/sessions && \
    chmod 777 /var/www/sessions

# Enable Apache mod_rewrite
RUN a2enmod rewrite

# Expose the Apache server's port
EXPOSE 80