# Use an official PHP runtime as a base image FROM php:8.1-apache RUN apt-get update && \ apt-get install --yes --force-yes \ cron g++ gettext libicu-dev openssl \ libc-client-dev libmcrypt-dev \ libtidy-dev libcurl4-openssl-dev \ libz-dev libmemcached-dev git-core libpq-dev \ libzip4 libzip-dev libwebp-dev # libxml2-dev libfreetype6-dev \ # PHP Configuration RUN docker-php-ext-install exif gettext iconv intl tidy zip sockets&&\ docker-php-ext-install dba mysqli pgsql pdo_mysql pdo_pgsql &&\ pecl install xdebug && docker-php-ext-enable xdebug &&\ echo "xdebug.mode=debug" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini &&\ echo "xdebug.client_host = host.docker.internal" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini &&\ pecl install mongodb && docker-php-ext-enable mongodb &&\ pecl install redis && docker-php-ext-enable redis && \ curl -sS https://getcomposer.org/installer | php \ && mv composer.phar /usr/bin/composer # Apache Configuration RUN a2enmod rewrite # SSL RUN mv /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/000-default-ssl.conf &&\ a2enmod ssl && \ a2ensite 000-default-ssl &&\ openssl req -subj '/CN=example.com/O=My Company Name LTD./C=US' -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout /etc/ssl/private/ssl-cert-snakeoil.key -out /etc/ssl/certs/ssl-cert-snakeoil.pem EXPOSE 80 EXPOSE 443 ## Imagemagick : install fails on 8.0 #RUN apt-get install --yes --force-yes libmagickwand-dev libmagickcore-dev #RUN yes '' | pecl install -f imagick &&\ # docker-php-ext-enable imagick COPY create_vhost config-vhost start /usr/local/bin/ COPY php.ini /usr/local/etc/php/ CMD ["start"]