diff --git a/linux/ecosystem/apache2/latest/Dockerfile b/linux/ecosystem/apache2/latest/Dockerfile index c7a49b75e..db8a92b9e 100644 --- a/linux/ecosystem/apache2/latest/Dockerfile +++ b/linux/ecosystem/apache2/latest/Dockerfile @@ -59,6 +59,13 @@ RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PH php -m && \ php -v +################################################################## +# Installing timezonedb addon +################################################################## +RUN echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + php -m && \ + php -v + ################################################################## # Installing imagic addon ################################################################## diff --git a/linux/ecosystem/apache2/php7.2/Dockerfile b/linux/ecosystem/apache2/php7.2/Dockerfile index d653289ec..ae31ddbc1 100644 --- a/linux/ecosystem/apache2/php7.2/Dockerfile +++ b/linux/ecosystem/apache2/php7.2/Dockerfile @@ -59,6 +59,13 @@ RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.2.so" >> ${PH php -m && \ php -v +################################################################## +# Installing timezonedb addon +################################################################## +RUN echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + php -m && \ + php -v + ################################################################## # Installing imagic addon ################################################################## diff --git a/linux/ecosystem/apache2/php7.3/Dockerfile b/linux/ecosystem/apache2/php7.3/Dockerfile index 4f71b5beb..7848e964a 100644 --- a/linux/ecosystem/apache2/php7.3/Dockerfile +++ b/linux/ecosystem/apache2/php7.3/Dockerfile @@ -59,6 +59,13 @@ RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.3.so" >> ${P php -m && \ php -v +################################################################## +# Installing timezonedb addon +################################################################## +RUN echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini & \ + php -m && \ + php -v + ################################################################## # Installing imagic addon ################################################################## diff --git a/linux/ecosystem/apache2/php7.4/Dockerfile b/linux/ecosystem/apache2/php7.4/Dockerfile index c7a49b75e..db8a92b9e 100644 --- a/linux/ecosystem/apache2/php7.4/Dockerfile +++ b/linux/ecosystem/apache2/php7.4/Dockerfile @@ -59,6 +59,13 @@ RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PH php -m && \ php -v +################################################################## +# Installing timezonedb addon +################################################################## +RUN echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + php -m && \ + php -v + ################################################################## # Installing imagic addon ################################################################## diff --git a/linux/ecosystem/apache2/php8.0/Dockerfile b/linux/ecosystem/apache2/php8.0/Dockerfile new file mode 100644 index 000000000..044d2e2bf --- /dev/null +++ b/linux/ecosystem/apache2/php8.0/Dockerfile @@ -0,0 +1,113 @@ +FROM epicmorg/php:php8.0 +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG PHP_MODULE_VER=20200930 +ARG PHP_MODULE_PATH=/usr/lib/php/${PHP_MODULE_VER} +ARG PHP_VER=8.0 +ARG PHP_DIR=/etc/php/${PHP_VER} +ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini +ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini + +################################################################## +# Installing Apache2 +################################################################## +#installing apache2 repo +RUN wget -O /etc/apt/trusted.gpg.d/apache2.gpg https://packages.sury.org/apache2/apt.gpg +RUN sh -c 'echo "deb https://packages.sury.org/apache2/ buster main" > /etc/apt/sources.list.d/apache2.list' + +#Install base packages +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated \ + apache2 \ + apache2-utils \ + libapache2-mod-php8.0 \ + libapache2-mod-webauth \ + libapache2-mod-xforward \ + libapache2-mod-security2 && \ + a2enmod \ + php8.0 \ + rewrite \ + ldap \ + heartmonitor \ + auth_basic \ + authnz_ldap \ + headers \ + heartbeat \ + lua \ + mime \ + status \ + xml2enc \ + xforward \ + remoteip \ + filter \ + dav \ + dav_fs \ + alias && \ + ln -sf /etc/ssl/dhparam.pem /etc/apache2/dhparam.pem && \ + php -m && \ + php -v + +################################################################## +# LDAP Fix +################################################################## +RUN echo "TLS_REQCERT never" >> /etc/ldap/ldap.conf + +################################################################## +# Installing IOnCube addon +################################################################## +RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/apache2/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing timezonedb addon +################################################################## +RUN echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing imagic addon +################################################################## +RUN echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/apache2/php.ini && \ + php -m && \ + php -v + +################################################################## +# Installing P4 addon +################################################################## +RUN ln -sf ${P4_PHP_INI} ${PHP_DIR}/apache2/conf.d/perforce.ini && \ + php -m && \ + php -v + +################################################################## +# Installing smbclient addon +################################################################## +RUN ln -sf ${SMB_PHP_INI} ${PHP_DIR}/apache2/conf.d/smbclient.ini && \ + php -m && \ + php -v + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/deb/* && \ + rm -rfv /tmp/ioncube/* && \ + rm -rfv /tmp/composer-setup.php && \ + rm -rfv /tmp/ioncube.tar.gz + +#volumes +VOLUME ["/var/www"] + +# Add image configuration and scripts +COPY run.sh /run.sh +RUN chmod 755 /*.sh + +# Configure application +EXPOSE 80 +WORKDIR /var/www/ +CMD ["/run.sh"] diff --git a/linux/ecosystem/apache2/php8.0/Makefile b/linux/ecosystem/apache2/php8.0/Makefile new file mode 100644 index 000000000..bad6d73b5 --- /dev/null +++ b/linux/ecosystem/apache2/php8.0/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af diff --git a/linux/ecosystem/apache2/php8.0/README.md b/linux/ecosystem/apache2/php8.0/README.md new file mode 100644 index 000000000..86a34d4b1 --- /dev/null +++ b/linux/ecosystem/apache2/php8.0/README.md @@ -0,0 +1,32 @@ +# Compose example + +```yml +version: '3.7' +services: + websites: + image: epicmorg/websites +# depends_on: +# - mysql +# - memcached + restart: unless-stopped + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone +# - /etc/letsencrypt:/etc/letsencrypt + - www:/var/www + - apache2:/etc/apache2 + - php:/etc/php + restart: unless-stopped +# extra_hosts: +# - "example.com:192.168.0.11" + tmpfs: + - /tmp + - /var/lib/php/sessions +volumes: + www: + external: true + apache2: + external: true + php: + external: true +``` diff --git a/linux/ecosystem/apache2/php8.0/docker-compose.yml b/linux/ecosystem/apache2/php8.0/docker-compose.yml new file mode 100644 index 000000000..e6723b69c --- /dev/null +++ b/linux/ecosystem/apache2/php8.0/docker-compose.yml @@ -0,0 +1,6 @@ +version: '3.9' +services: + app: + image: "epicmorg/apache2:php7.4" + build: + context: . diff --git a/linux/ecosystem/apache2/php8.0/run.sh b/linux/ecosystem/apache2/php8.0/run.sh new file mode 100755 index 000000000..6bc50582d --- /dev/null +++ b/linux/ecosystem/apache2/php8.0/run.sh @@ -0,0 +1,7 @@ +#!/bin/bash +echo "Changing permissions for /var/www path. Dont worry, please wait." +chown www-data:www-data /var/www -R +echo "Done. Starting up" +source /etc/apache2/envvars +tail -F /var/log/apache2/* & +exec apache2 -D FOREGROUND diff --git a/linux/ecosystem/php/latest/Dockerfile b/linux/ecosystem/php/latest/Dockerfile index f687b4472..0b85b466e 100644 --- a/linux/ecosystem/php/latest/Dockerfile +++ b/linux/ecosystem/php/latest/Dockerfile @@ -187,6 +187,17 @@ RUN phpenmod \ php -m && \ php -v +################################################################## +# Installing timezonedb addon +################################################################## +RUN pecl install timezonedb && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + ################################################################## # Installing imagic addon ################################################################## diff --git a/linux/ecosystem/php/php7.2/Dockerfile b/linux/ecosystem/php/php7.2/Dockerfile index 91d279a62..aba6eb87d 100644 --- a/linux/ecosystem/php/php7.2/Dockerfile +++ b/linux/ecosystem/php/php7.2/Dockerfile @@ -177,6 +177,17 @@ RUN phpenmod \ php -m && \ php -v +################################################################## +# Installing timezonedb addon +################################################################## +RUN pecl install timezonedb && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + ################################################################## # Installing imagic addon ################################################################## diff --git a/linux/ecosystem/php/php7.3/Dockerfile b/linux/ecosystem/php/php7.3/Dockerfile index 36dec8493..ff42b5c4d 100644 --- a/linux/ecosystem/php/php7.3/Dockerfile +++ b/linux/ecosystem/php/php7.3/Dockerfile @@ -184,6 +184,17 @@ RUN phpenmod \ php -m && \ php -v +################################################################## +# Installing timezonedb addon +################################################################## +RUN pecl install timezonedb && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + ################################################################## # Installing imagic addon ################################################################## diff --git a/linux/ecosystem/php/php7.4/Dockerfile b/linux/ecosystem/php/php7.4/Dockerfile index f687b4472..0b85b466e 100644 --- a/linux/ecosystem/php/php7.4/Dockerfile +++ b/linux/ecosystem/php/php7.4/Dockerfile @@ -187,6 +187,17 @@ RUN phpenmod \ php -m && \ php -v +################################################################## +# Installing timezonedb addon +################################################################## +RUN pecl install timezonedb && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + ################################################################## # Installing imagic addon ################################################################## diff --git a/linux/ecosystem/php/php8.0/Dockerfile b/linux/ecosystem/php/php8.0/Dockerfile index 178949c90..1c1d2c467 100644 --- a/linux/ecosystem/php/php8.0/Dockerfile +++ b/linux/ecosystem/php/php8.0/Dockerfile @@ -96,7 +96,7 @@ ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini ################################################################## -# Installing PHP7 +# Installing PHP8 ################################################################## RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \ sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' @@ -196,6 +196,17 @@ RUN phpenmod \ php -m && \ php -v +################################################################## +# Installing timezonedb addon +################################################################## +RUN pecl install timezonedb && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + ################################################################## # Installing imagic addon ################################################################## diff --git a/linux/ecosystem/php/php8.1-p4-not-ready/Dockerfile b/linux/ecosystem/php/php8.1-p4-not-ready/Dockerfile index 8c72b3fa9..76fc73fcc 100644 --- a/linux/ecosystem/php/php8.1-p4-not-ready/Dockerfile +++ b/linux/ecosystem/php/php8.1-p4-not-ready/Dockerfile @@ -96,7 +96,7 @@ ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini ################################################################## -# Installing PHP7 +# Installing PHP8 ################################################################## RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \ sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' @@ -196,6 +196,17 @@ RUN phpenmod \ php -m && \ php -v +################################################################## +# Installing timezonedb addon +################################################################## +RUN pecl install timezonedb && \ +# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \ + echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \ + php -m && \ + php -v + ################################################################## # Installing imagic addon ##################################################################