40 lines
1.1 KiB
Docker
40 lines
1.1 KiB
Docker
# 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
|