Skip to content

Commit

Permalink
Magento 2.4.3-p1, PHP 7.4.27
Browse files Browse the repository at this point in the history
  • Loading branch information
gaiterjones committed Dec 22, 2021
1 parent ac9cb24 commit 01abf33
Show file tree
Hide file tree
Showing 10 changed files with 199 additions and 9 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# Docker Magento 2.4.X Open Source (CE) 02-2021
# Docker Magento 2.4.X Open Source (CE) 01-2022

Docker containers for Magento 2.4.x development including :

Expand Down
4 changes: 2 additions & 2 deletions magento2/manager/magento2/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM gaiterjones/phusion1100-apache2-php7-4:14
FROM gaiterjones/phusion1100-apache2-php7-4:27
LABEL maintainer="paj@gaiterjones.com"
LABEL service "Magento 2 MANAGER Production Service"

ENV CREATION_DATE 10022021
ENV CREATION_DATE 22122021

# dependencies
RUN requirements="libsodium-dev libonig-dev libzip-dev libpng-dev libcurl3-dev zlib1g-dev libpng-dev libjpeg-turbo8 libjpeg-turbo8-dev libfreetype6 libfreetype6-dev libicu-dev libxslt1-dev msmtp nano git" \
Expand Down
2 changes: 1 addition & 1 deletion magento2/ubuntu/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM gaiterjones/magento2:2.4.2
FROM gaiterjones/magento2:2.4.3
LABEL maintainer "paj@gaiterjones.com"
LABEL service "Magento 2 PHP-APACHE Service"
# ------------------------------------------------------------------
Expand Down
143 changes: 143 additions & 0 deletions magento2/ubuntu/magento243-build/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
FROM gaiterjones/phusion1100-apache2-php7-4:27
LABEL maintainer="paj@gaiterjones.com"
LABEL description="Magento 2 PHP-APACHE Service"

ENV MAGENTO_VERSION 2.4.3-p1
# sha256sum Magento-Open-Source-2.4.3-p1.tar.gz
ENV MAGENTO_SHA256 e32b565602eddd6b9e2571132b0982718fa6623dc0fa8fd455195ef8f5d5c733

# dependencies
RUN requirements="libsodium-dev libonig-dev libzip-dev libpng-dev libcurl3-dev zlib1g-dev libpng-dev libjpeg-turbo8 libjpeg-turbo8-dev libfreetype6 libfreetype6-dev libicu-dev libxslt1-dev msmtp nano git" \
&& apt-get update && apt-get install -y $requirements && rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-configure gd \
--enable-gd \
--with-jpeg \
--with-freetype \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install -j$(nproc) pdo_mysql \
&& docker-php-ext-install -j$(nproc) bcmath \
&& docker-php-ext-install -j$(nproc) mbstring \
&& docker-php-ext-install -j$(nproc) zip \
&& docker-php-ext-install -j$(nproc) intl \
&& docker-php-ext-install -j$(nproc) xsl \
&& docker-php-ext-install -j$(nproc) soap \
&& docker-php-ext-install -j$(nproc) opcache \
&& docker-php-ext-install -j$(nproc) sockets \
&& docker-php-ext-install -j$(nproc) sodium \
&& requirementsToRemove="libcurl3-dev libfreetype6-dev libpng-dev libjpeg-turbo8-dev" \
&& apt-get purge --auto-remove -y $requirementsToRemove

# Install XDEBUG extension
# Xdebug replaces PHP's var_dump() function for displaying variables.
# https://xdebug.org/download.php
# confirm => php -m | grep -i xdebug
RUN set -x \
&& pecl install xdebug-2.9.5 \
&& docker-php-ext-enable xdebug

# Install memcache extension
#
RUN set -x \
&& apt-get update && apt-get install -y --no-install-recommends unzip libssl-dev libpcre3 libpcre3-dev \
&& cd /tmp \
&& curl -sSL -o php7.zip https://github.com/websupport-sk/pecl-memcache/archive/4.0.5.2.zip \
&& unzip php7 \
&& cd pecl-memcache-4.0.5.2 \
&& /usr/local/bin/phpize \
&& ./configure --with-php-config=/usr/local/bin/php-config \
&& make \
&& make install \
&& echo "extension=memcache.so" > /usr/local/etc/php/conf.d/ext-memcache.ini \
&& rm -rf /tmp/pecl-memcache-php7 php7.zip

# get magento 2 and extract
#
RUN set -x \
&& mkdir /var/www/dev \
&& rm -rf /var/www/html/* \
&& mkdir /tmp/magento2 \
&& cd /tmp/magento2 \
&& curl https://pe.terjon.es/dropbox/Magento-Open-Source-$MAGENTO_VERSION.tar.gz -o $MAGENTO_VERSION.tar.gz \
&& echo "$MAGENTO_SHA256 $MAGENTO_VERSION.tar.gz" | sha256sum -c - \
&& tar xvf $MAGENTO_VERSION.tar.gz \
&& cd .. \
&& mv magento2 /var/www/dev/ \
&& mkdir /var/www/dev/magento2/composer_home

# install composer v2.1.14
#
RUN set -x \
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --version=2.1.14

# install magerun 2
#
RUN set -x \
&& cd /tmp \
&& curl -s -o n98-magerun2.phar https://files.magerun.net/n98-magerun2.phar \
&& chmod +x ./n98-magerun2.phar \
&& mv ./n98-magerun2.phar /usr/local/bin/

# prepare Mage source
#
# add Magento 2 file owner
#
# ensure www-data is group 33
# add new file owner group 1000
# file owner member of www-data
#
COPY ./healthcheck.php /var/www/dev/magento2/
COPY ./auth.json /var/www/.composer/
# Magento repo auth config
#
ARG MAGENTO_REPO_USERNAME
ARG MAGENTO_REPO_PASSWORD
RUN set -x \
&& sed -i "s/XUSERNAMEX/$MAGENTO_REPO_USERNAME/g" /var/www/.composer/auth.json \
&& sed -i "s/XPASSWORDX/$MAGENTO_REPO_PASSWORD/g" /var/www/.composer/auth.json \
&& cat /var/www/.composer/auth.json
ENV COMPOSER_HOME=/var/www/.composer
RUN set -x \
&& usermod -u 33 www-data \
&& adduser --disabled-password --gecos '' magento \
&& usermod -u 1000 magento \
&& usermod -a -G www-data magento \
&& chown -R magento:www-data /var/www

# composer
RUN chsh -s /bin/bash magento \
&& su magento -c "cd /var/www/dev/magento2 && composer install"

# php RedisAdmin
# https://github.com/erikdubbelboer/phpRedisAdmin
#
RUN su magento -c "cd /var/www/dev && composer create-project -s dev erik-dubbelboer/php-redis-admin /var/www/dev/phpRedisAdmin"

# Magento DEVELOPMENT permissions (this may take a while...)
#
RUN set -x \
&& cd /var/www/dev/magento2 \
&& rm -rf ./generated/metadata/* ./generated/code/* ./pub/static/* ./var/cache/* ./var/page_cache/* ./var/view_preprocessed/* ./var/log/* \
&& find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \; && find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} \; && chmod u+x bin/magento

# scripts
#
COPY ./bin/install-magento /usr/local/bin/install-magento
RUN chmod +x /usr/local/bin/install-magento
COPY ./bin/install-sampledata /usr/local/bin/install-sampledata
RUN chmod +x /usr/local/bin/install-sampledata

# configure apache env
#
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2
ENV APACHE_PID_FILE /var/run/apache2.pid
ENV APACHE_RUN_DIR /var/run/apache2
ENV APACHE_LOCK_DIR /var/lock/apache2

# cleanup
#
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
COPY ./auth.json /var/www/.composer/

WORKDIR /var/www/dev/magento2
8 changes: 8 additions & 0 deletions magento2/ubuntu/magento243-build/auth.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"http-basic": {
"repo.magento.com": {
"username": "XUSERNAMEX",
"password": "XPASSWORDX"
}
}
}
12 changes: 12 additions & 0 deletions magento2/ubuntu/magento243-build/bin/install-magento
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/usr/bin/env bash
if [ -f /var/www/dev/magento2/var/composer_home/auth.json ]; then
rm /var/www/dev/magento2/var/composer_home/auth.json
ln -s /var/www/.composer/auth.json /var/www/dev/magento2/var/composer_home/
fi
if [ ! -f /var/www/dev/magento2/var/composer_home/auth.json ]; then
ln -s /var/www/.composer/auth.json /var/www/dev/magento2/var/composer_home/
fi
/var/www/dev/magento2/bin/magento setup:install --base-url=$MAGENTO_URL --backend-frontname=admin --language=$MAGENTO_LANGUAGE --timezone=$MAGENTO_TIMEZONE --currency=$MAGENTO_DEFAULT_CURRENCY --db-host=$MYSQL_HOST --db-name=$MYSQL_DATABASE --db-user=$MYSQL_USER --db-password=$MYSQL_PASSWORD --use-secure=0 --base-url-secure=0 --use-secure-admin=0 --admin-firstname=$MAGENTO_ADMIN_FIRSTNAME --admin-lastname=$MAGENTO_ADMIN_LASTNAME --admin-email=$MAGENTO_ADMIN_EMAIL --admin-user=$MAGENTO_ADMIN_USERNAME --admin-password=$MAGENTO_ADMIN_PASSWORD --search-engine=elasticsearch7 --elasticsearch-host=elasticsearch --elasticsearch-index-prefix=magento2
/var/www/dev/magento2/bin/magento setup:config:set --http-cache-hosts=varnish:80
/var/www/dev/magento2/bin/magento deploy:mode:set developer
/var/www/dev/magento2/bin/magento c:enable
10 changes: 10 additions & 0 deletions magento2/ubuntu/magento243-build/bin/install-sampledata
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/usr/bin/env bash
if [ -f /var/www/dev/magento2/var/composer_home/auth.json ]; then
rm /var/www/dev/magento2/var/composer_home/auth.json
ln -s /var/www/.composer/auth.json /var/www/dev/magento2/var/composer_home/
fi
if [ ! -f /var/www/dev/magento2/var/composer_home/auth.json ]; then
ln -s /var/www/.composer/auth.json /var/www/dev/magento2/var/composer_home/
fi
/var/www/dev/magento2/bin/magento sampledata:deploy
/var/www/dev/magento2/bin/magento setup:upgrade
17 changes: 17 additions & 0 deletions magento2/ubuntu/magento243-build/healthcheck.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?php
/**
*
* Copyright (C) 2019
*
*
* @who PAJ
* @info paj@gaiterjones.com
* @license blog.gaiterjones.com
*
*
*/

header("HTTP/1.1 200 OK");


?>
8 changes: 4 additions & 4 deletions magento2/ubuntu/phusion1100-apache2-php7-4-build/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ ENV PHP_EXTRA_CONFIGURE_ARGS --with-apxs2
ENV GPG_KEYS 5A52880781F755608BF815FC910DEB46F53EA312 42670A7FE4D0441C8E4632349E4FDC074A4EF02D

# http://php.net/releases/
ENV PHP_VERSION 7.4.14
ENV PHP_FILENAME php-7.4.14.tar.xz
ENV PHP_SHA256 f9f3c37969fcd9006c1dbb1dd76ab53f28c698a1646fa2dde8547c3f45e02886
ENV PHP_VERSION 7.4.27
ENV PHP_FILENAME php-7.4.27.tar.xz
ENV PHP_SHA256 3f8b937310f155822752229c2c2feb8cc2621e25a728e7b94d0d74c128c43d0c

RUN set -xe \
&& buildDeps=" \
Expand All @@ -68,7 +68,7 @@ RUN set -xe \
&& curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o "$PHP_FILENAME.asc" \
&& export GNUPGHOME="$(mktemp -d)" \
&& for key in $GPG_KEYS; do \
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \
gpg --keyserver keyserver.bazon.ru --recv-keys "$key"; \
done \
&& gpg --batch --verify "$PHP_FILENAME.asc" "$PHP_FILENAME" \
&& rm -r "$GNUPGHOME" "$PHP_FILENAME.asc" \
Expand Down
2 changes: 1 addition & 1 deletion magento2/varnish/varnish6.vcl
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ backend apache_1 {
.port = "80";
.first_byte_timeout = 180s;
.probe = {
.request = "GET /pub/health_check.php HTTP/1.1"
.request = "GET /health_check.php HTTP/1.1"
"Host: magento2.dev.com"
"Connection: close"
"Accept: text/html" ;
Expand Down

0 comments on commit 01abf33

Please sign in to comment.