An image with Apache 2.4 and PHP installed from Ondřej Surý's PPA for up to date packages.
- Latest PHP and Apache packages
- Apache and php-fpm is running as user app, fixing a lot of permission headaches
- UID and GID for user app can be changed (See below)
The configuration does not support SSL out of the box as I usually stick nginx in front of any Apache instances I might need.
This image is available in three flavors: 5.6, 7.0, 7.1 corresponding to the PHP version.
VIRTUAL_HOST: Sets the ServerName for the default vhost. Only needed if you do not provide your own vhost "site" configSERVER_ADMIN: Email address for the ServerAdmin variableGENERATE_DEFAULT_VHOST_CONFIG: By default a basic vhost configuration using the to variables above is generated. Use this switch to disable (true/false)CHOWN_WWWDIR: Change owner of/var/wwwto$PUID:$PGID. Default is true, disable if your document root is elsewhere or there is a large number of files in the directoryPUID: Changes the uid of the app user, default 911PGID: Changes the gid of the app group, default 911SMTP_HOST: Change the SMTP relay server used by ssmtp (sendmail)SMTP_USER: Username for the SMTP relay serverSMTP_PASS: Password for the SMTP relay serverSMTP_PORT: Outgoing SMTP port, default 587SMTP_SECURE: Does the SMTP server requires a secure connection, default TRUESMTP_TLS: Use STARTTLS, default TRUE (if SMTP_TLS is FALSE and SMTP_SECURE is true, SMTP over SSL will be used)SMTP_MASQ: Masquerade outbound emails using this domain, default empty
PHP_SESSION_SAVE_HANDLER: Setssession.save_handler. Default isfilesPHP_SESSION_SAVE_PATH: Sets the path for saving sessions. Default is/var/lib/php/sessions. Use the full URI for Redis or Memcached:tcp://10.133.14.9:6379?auth=yourverycomplexpasswordherePHP_SESSION_GC_DIVISOR: Sets session.gc_divisor. Default is 100PHP_SESSION_GC_PROPABILITY: Sets session.gc_probability. Default is 0 if session handler isfilesotherwise 1.FPM_MAX_CHILDREN: Default is 5FPM_START_SERVER: Default is 2FPM_MIN_SPARE_SERVERS: Default is 1FPM_MAX_SPARE_SERVERS: Default is 2FPM_ERROR_LOG: Sets the error log of php-fpm. Default is/dev/fd/2(stdout)
This image uses the event worker
MPM_START_SERVERS: Default is 2MPM_MIN_SPARE_THREADS: Default is 25MPM_MAX_SPARE_THREADS: Default is 75MPM_THREADLIMIT: Default is 64MPM_THREADS_PER_CHILD: Default is 25MPM_MAX_REQUEST_WORKERS: Default is 150MPM_MAX_CONNECTIONS_PER_CHILD: Default is 0
/var/www is defined as a volume; provide your own vhost configuration by adding -v ./conf.d:/etc/apache2/site-enabled:ro.