Releases: jdeathe/centos-ssh-apache-php-fcgi
centos-6-1.10.0
CentOS-6 6.9 x86_64 - Apache / PHP-CGI (FastCGI) / PHP memcached / PHP APC.
Release changes
- Updates image source to release 1.10.0.
- Fixes issue with missing APACHE_SSL_* environment variables for make,scmi and systemd.
Download then load the docker image using:
$ xz -dc centos-ssh-apache-php-fcgi.1.10.0.tar.xz | docker load
centos-6-1.9.0
CentOS-6 6.8 x86_64 - Apache / PHP-CGI (FastCGI) / PHP memcached / PHP APC.
Release changes
- Updates image source to release 1.9.0.
- Fixes issue with app specific
httpd
configuration requiring theetc/php.d
directory to exist. - Adds default Apache modules appropriate for Apache 2.4/2.2 in the bootstrap script for the unlikely case where the values in the environment and configuration file defaults are both unset.
- Updates
README.md
with details of the SCMI install example's prerequisite step of either pulling or loading the image. - Updates
httpd
andmod_ssl
packages. - Fixes noisy certificate generation output in logs during bootstrap when
APACHE_MOD_SSL_ENABLED
istrue
. - Changes
APACHE_SERVER_ALIAS
to a default empty value forMakefile
,scmi
andsystemd
templates which is the existingDockerfile
default. - Changes default
APACHE_SERVER_NAME
to unset and use the container's hostname for the Apache ServerName. - Fixes
scmi
install/uninstall examples and DockerfileLABEL
install/uninstall templates to prevent theX-Service-UID
header being populated with the hostname of the ephemeral container used to runscmi
. - Adds feature to allow both
APACHE_SERVER_NAME
andAPACHE_SERVER_ALIAS
to contain the{{HOSTNAME}}
placeholder which is replaced on startup with the container's hostname. - Removes environment variable re-mappings that are no longer in use:
APP_HOME_DIR
,APACHE_SUEXEC_USER_GROUP
,DATE_TIMEZONE
,SERVICE_USER
,SUEXECUSERGROUP
,SERVICE_UID
. - Changes Apache configuration so that
NameVirtualHost
andListen
are separated out fromVirtualHost
. - Adds further information on the use of
watch
to monitorserver-status
. - Changes the auto-generated self-signed certificate to include hosts from
APACHE_SERVER_NAME
andAPACHE_SERVER_ALIAS
via subjectAltName.
Download then load the docker image using:
$ xz -dc centos-ssh-apache-php-fcgi.1.9.0.tar.xz | docker load
centos-6-1.8.1
CentOS-6 6.8 x86_64 - Apache / PHP-CGI (FastCGI) / PHP memcached / PHP APC.
Release changes
- Updates image source to release 1.8.2 including required Makefile and environment changes.
- Adds test cases for FastCGI operation.
- Adds a Change Log.
- Adds support for semantic release tag version numbers.
- Changes description to PHP-CGI instead of PHP.
Download then load the docker image using:
$ xz -dc centos-ssh-apache-php-fcgi.1.8.1.tar.xz | docker load
centos-6-1.8.0
CentOS-6 6.8 x86_64 - Apache / PHP-CGI (FastCGI) / PHP memcached / PHP APC.
Release changes
- Changes source to release 1.8.0.
- Adds installation of php-hello-world app from external release source.
- Adds UseCanonicalName On httpd setting.
- Adds reduced Dockerfile build layers for installing PHP app package.
- Adds startup script
/usr/sbin/httpd-startup
used to initialise environment variables; paths that are relative are expanded to absolute and the hostname placeholder is replaced with the container's hostname. This logic has been moved out of the Apache wrapper script so it can be set globally and made available when accessing the container interactively. - Adds package php-hello-world 0.4.0.
- Adds update browser screenshots to documentation.
Download then load the docker image using:
$ xz -dc centos-ssh-apache-php-fcgi.centos-6-1.8.0.tar.xz | docker load
centos-6-1.7.2
CentOS-6 6.8 x86_64 - Apache / PHP (FastCGI) / PHP memcached / PHP APC.
Release changes
- Adds Makefile help target with usage instructions.
- Splits up the Makefile targets into internal and public types.
- Adds correct
scmi
path in usage instructions. - Changes
PACKAGE_PATH
toDIST_PATH
in line with the Makefile environment include. Not currently used byscmi
but changing for consistency. - Changes
DOCKER_CONTAINER_PARAMETERS_APPEND
toDOCKER_CONTAINER_OPTS
for usability. This is a potentially breaking change that could affect systemd service configurations if using the Environment variable in a drop-in customisation. However, if using the systemd template unit-files it should be pinned to a specific version tag. The Makefile should only be used for development/testing and usage inscmi
is internal only as the--setopt
parameter is used to build up the optional container parameters. - Removes X-Fleet section from template unit-file.
Download then load the docker image using:
$ xz -dc centos-ssh-apache-php-fcgi.centos-6-1.7.2.tar.xz | docker load
centos-6-1.7.1
CentOS-6 6.8 x86_64 - Apache / PHP (FastCGI) / PHP memcached / PHP APC.
Release changes
- Updates source to release 1.7.2.
- Replaces
PACKAGE_PATH
withDIST_PATH
in Makefile. The package output directory created will be./dist
instead of./packages/jdeathe
. - Apache VirtualHost configuration has been simplified to only require a single certificate bundle file (
/etc/pki/tls/certs/localhost.crt
) in PEM format. - Adds
APACHE_SSL_CERTIFICATE
to allow the operator to add a PEM, (and optionally base64), encoded certificate bundle (inclusive of key + certificate + intermediate certificate. Base64 encoding of the PEM file contents is recommended. - Adds
APACHE_SSL_CIPHER_SUITE
to allow the operator to define a custom CipherSuite. - Adds
APACHE_SSL_PROTOCOL
to allow the operator to add/remove SSL protocol support. - Adds usage instructions for
APACHE_SSL_CERTIFICATE
,APACHE_SSL_CIPHER_SUITE
andAPACHE_SSL_PROTOCOL
. - Removes requirement to pass php package name to the php-wrapper - feature was undocumented and unused.
- Removes MySQL legacy-linked environment variable population and handling.
- Adds correct path to
scmi
in image metadata to allowatomic install
to complete successfully.
Known Issues
The Makefile install (create) target fails when a APACHE_SSL_CERTIFICATE
is set as multiline formatted string in the environment as follows.
$ export APACHE_SSL_CERTIFICATE="$(
< "/etc/pki/tls/certs/localhost.crt"
)"
The recommended way to set the certificate value is to base64 encode it as a string value.
Mac OSX:
$ export APACHE_SSL_CERTIFICATE="$(
base64 -i "/etc/pki/tls/certs/localhost.crt"
)"
Linux:
$ export APACHE_SSL_CERTIFICATE="$(
base64 -w 0 -i "/etc/pki/tls/certs/localhost.crt"
)"
Download then load the docker image using:
$ xz -dc centos-ssh-apache-php-fcgi.centos-6-1.7.1.tar.xz | docker load
centos-6-1.7.0
CentOS-6 6.8 x86_64 - Apache / PHP (FastCGI) / PHP memcached / PHP APC.
Release changes
- Updates source tag to 1.7.1.
- Adds
scmi
and metadata for atomic install/uninstall usage. - Removes deprecated run.sh and build.sh helper scripts. These have been replaced with the make targets
make
(ormake build
) andmake install start
. - Removes support for and documentation on configuration volumes. These can still be implemented by making use of the
DOCKER_CONTAINER_PARAMETERS_APPEND
environment variable or using thescmi
option--setopt
to append additional docker parameters to the default docker create template. - Changes systemd template unit-file environment variable for
DOCKER_IMAGE_PACKAGE_PATH
now defaults to the path/var/opt/scmi/packages
instead of/var/services-packages
however this can be reverted back using thescmi
option--env='DOCKER_IMAGE_PACKAGE_PATH="/var/services-packages"'
if necessary. - Replaces
HTTPD
withAPACHE_MPM
; instead of needing to supply the path to the correct binaryAPACHE_MPM
takes the Apache MPM name (i.e.prefork
orworker
). - Replaces
SERVICE_UID
withAPACHE_HEADER_X_SERVICE_UID
. - Default to using the
{{HOSTNAME}}
placeholder for the value ofAPACHE_HEADER_X_SERVICE_UID
. - Adds the
/usr/sbin/httpd-wrapper
script to make the wrapper more robust and simpler to maintain that the one-liner that was added directly using the supervisord program command. - Adds Lockfile handling into the
/usr/sbin/httpd-bootstrap
script making it more robust and simpler to maintain. - Adds a minor correction to a couple of the README
scmi
examples. - Reviewed quoting of environment variables used in Apache include templates and in the bootstrap script.
- To be consistent with other
jdeathe/centos-ssh
based containers the default group used in the docker name has been changed topool-1
fromapp-1
. - Adds a niceness value of 10 to the httpd process in the httpd-wrapper script.
- Stops header X-Service-UID being set if
APACHE_HEADER_X_SERVICE_UID
is empty. - Adds support for defining
APACHE_CUSTOM_LOG_LOCATION
andAPACHE_ERROR_LOG_LOCATION
paths that are relative toAPACHE_CONTENT_ROOT
. This allows for a simplified configuration. - Prevents
scmi
installer publishing port 443 ifAPACHE_MOD_SSL_ENABLED
is false. - Adds a fix for the default value of
APACHE_HEADER_X_SERVICE_UID
when usingscmi
. - Adds method to prevent exposed ports being published when installing using the embedded
scmi
installation method or the Makefile's create/run template. e.g. To prevent port8443
getting published set the value of the environment variableDOCKER_PORT_MAP_TCP_8443
toNULL
- Disables publishing port
8443
by default in scmi/make/systemd install templates.
Download then load the docker image using:
$ xz -dc centos-ssh-apache-php-fcgi.centos-6-1.7.0.tar.xz | docker load
centos-6-1.6.0
CentOS-6 6.8 x86_64 - Apache / PHP (FastCGI) / PHP memcached / PHP APC.
Release changes
- Updates source tag to 1.6.1.
- Relocates VirtualHost configuration out of app package and into the container package.
- Adds simplified php-wrapper script now that configuration is handled by the php.d/*ini scan directory includes.
- Adds restructured httpd configuration. Replaced the single template VirtualHost that was used to generate an SSL copy using the bootstrap script with 2 basic VirtualHost definitions. The majority of configuration is now pulled in from the scan directory
/etc/services-config/httpd/conf.d/*.conf
where core container configuration is prefixed with00-
. App package configuration (/var/www/app/etc/httpd/conf.d/*.conf
) files are added to this directory as part of the container build and prefixed with50-
to indicate their source and influence load order. - Adds the PHP Info script into the demo app package the source instead of generating it as part of the container build.
- Adds an increased MaxKeepAliveRequests value of 200 from the default 100.
- Removes some unused configuration scripts.
- Fixes an issue with the php-wrapper script not loading in the configuration environment variables from
/etc/httpd-bootstrap.conf
. - Adds minor improvement to the demo app's index.php to prevent errors if either the PHP Info or APC Info scripts are unavailable.
- The placeholder
{{HOSTNAME}}
will be replaced with the system (container) hostname when used in the value of the environment variableSERVICE_UID
. - Adds default of
expose_php = Off
even if the user configuration is not loaded. - Adds
PACKAGE_PATH
environment variable to the bootstrap. - Loading of app PHP configuration is now carried out in the bootstrap before starting
httpd
(Apache) and not as an image build time step. This is necessary to allow the environment variables to be replaced before being loaded by the fcgid php-wrapper script where the environment is cleared down. - Adds loading of Apache app package configuration files into the bootstrap.
- Adds enable/disable of the SSL VirtualHost configuration into the bootstrap.
- Removes configuration files now pulled in from the app package's configuration.
- Adds fix for incorrect binary defined in the latest systemd template unit-file and in the makefile environment definition.
Deprecation notice
build.sh
andrun.sh
are to be removed in the1.7.0
release. They have been replaced withmake all
ormake build install start
- Support for configuration volumes will be removed in the next release. Configuration should now be possible without requirement for a configuration data volume by using the environment variables. If a specific case is required then a data volume can still be used but will not be handled by the installation and/or systemd helper scripts.
- The systemd template unit-file
apache-php.app-1.1.1@8080.service
will be removed in the next release. This has been replaced withapache-php.app-1@.service
and etcd registration can be enabled with the companion service unit file templateapache-php.app-1.register@.service
.
Download then load the docker image using:
$ xz -dc centos-ssh-apache-php-fcgi.centos-6-1.6.0.tar.xz | docker load
centos-6-1.5.0
CentOS-6 6.8 x86_64 - Apache / PHP (FastCGI) / PHP memcached / PHP APC.
Release changes
- Updates source tag to 1.5.0. (i.e. Updates CentOS to 6.8).
- Adds
APACHE_OPERATING_MODE
to the systemd run command. - Disables the default Apache DocumentRoot
/var/www/html
. - Disables the
TRACE
method in the VirtualHost configuration. - Updates examples in README.
- Updates SSL configuration to use 2048 bit key size to reduce CPU usage.
- Enables
SSLSessionCache
in the VirtualHost configuration. - Updates SSL configuration to use Mozilla recommended cipher suites and order.
- Maintenance: Use single a line ENV to set all environment variables.
- Fixes an issue with log paths being incorrect due to
APACHE_CONTENT_ROOT
being undefined. - Removes use of "AllowOverride All" in the VirtualHost configuration when no .htaccess exists in the DocumentRoot path. This would otherwise log the following error: "(13)Permission denied: /var/www/app/public_html/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable"
- Adds Makefile to replace build.sh and run.sh
- Updates systemd template unit-files.
- Updates and relocates bootstrap script.
- Changes supervisord configuration and adds improvements to bootstrap reliability.
Deprecation notice
build.sh
andrun.sh
are to be removed in the next release. They have been replaced withmake all
ormake build install start
- Support for configuration volumes will be removed in the next release. Configuration should now be possible without requirement for a configuration data volume by using the environment variables. If a specific case is required then a data volume can still be used but will not be handled by the installation and/or systemd helper scripts.
- The systemd template unit-file
apache-php.app-1.1.1@8080.service
will be removed in the next release. This has been replaced withapache-php.app-1@.service
and etcd registration can be enabled with the companion service unit file templateapache-php.app-1.register@.service
.
Download then load the docker image using:
$ xz -dc centos-ssh-apache-php-fcgi.centos-6-1.5.0.tar.xz | docker load
centos-6-1.4.5
CentOS-6 6.7 x86_64 - Apache / PHP (FastCGI) / PHP memcached / PHP APC.
- Updates source tag to 1.4.5.
- Removes files that are available in the upstream repository and not used by this
Dockerfile
.- Note: the php-wrapper script is now maintained in the upstream source.
- Updates
README.md
to reflect the files being available in the upstream repository.
Download then load the docker image using:
$ xz -dc centos-ssh-apache-php-fcgi.centos-6-1.4.5.tar.xz | docker load