Skip to content

Latest commit

 

History

History
65 lines (53 loc) · 3.7 KB

File metadata and controls

65 lines (53 loc) · 3.7 KB

Apache2 + PHP 7.4 + MariaDB 10.3 Client Docker Container for AARCH64, ARMv7l, X86 and X64

For hosting PHP powered websites.

Required Docker Image

The Docker Image ws-apache-php74-mariadb103-<ARCH> will automaticly be downloaded from the Docker Hub.
The source for the image can be found here https://github.com/tsitle/dockerimage-ws-apache_php74_mariadb103.

Docker Container usage

To start the Docker Container simply run $ ./dc-ws-apache.sh up.
When the file docker-compose.yaml doesn't exist it will be created for you.
You can edit the file afterwards if you wish to customize it.

To stop the container run $ ./dc-ws-apache.sh down

Docker Container configuration

  • CF_PROJ_PRIMARY_FQDN [string]: FQDN for website (e.g. "mywebsite.localhost") (default: empty)
  • CF_SET_OWNER_AND_PERMS_WEBROOT [bool]: Recursively chown and chmod CF_WEBROOT? (default: false)
  • CF_WWWDATA_USER_ID [int]: User-ID for www-data (default: 33)
  • CF_WWWDATA_GROUP_ID [int]: Group-ID for www-data (default: 33)
  • CF_ENABLE_CRON [bool]: Enable cron service? (default: false)
  • CF_LANG [string]: Language to use (en_EN.UTF-8 or de_DE.UTF-8) (default: empty)
  • CF_TIMEZONE [string]: Timezone (e.g. 'Europe/Berlin') (default: empty)
  • CF_ENABLE_HTTP [bool]: Enable HTTP for Apache? (default: true)
  • CF_CREATE_DEFAULT_HTTP_SITE [bool]: Create default HTTP Virtual Host for Apache? (default: true)
  • CF_ENABLE_HTTPS [bool]: Enable HTTPS/SSL for Apache? (default: false)
  • CF_CREATE_DEFAULT_HTTPS_SITE [bool]: Create default HTTPS/SSL Virtual Host for Apache? (default: true)
  • CF_SSLCERT_GROUP_ID [int]: Group-ID for ssl-cert (default: 102)
  • CF_DEBUG_SSLGEN_SCRIPT [bool]: Enable debug out for sslgen.sh?
  • CF_CSR_SUBJECT_COUNTRY [string]: For auto-generated SSL Certificates (default: DE)
  • CF_CSR_SUBJECT_STATE [string]: For auto-generated SSL Certificates (default: SAX)
  • CF_CSR_SUBJECT_LOCATION [string]: For auto-generated SSL Certificates (default: LE)
  • CF_CSR_SUBJECT_ORGANIZ [string]: For auto-generated SSL Certificates (default: The IT Company)
  • CF_CSR_SUBJECT_ORGUNIT [string]: For auto-generated SSL Certificates (default: IT)
  • CF_APACHE_TIMEOUT [int]: Number of seconds before receives and sends time out (default: 300)
  • CF_WWWFPM_USER_ID [int]: User-ID for wwwphpfpm (default: 1000)
  • CF_WWWFPM_GROUP_ID [int]: Group-ID for wwwphpfpm (default: 1000)
  • CF_PHPFPM_RUN_AS_WWWDATA [bool]: Run PHP-FPM process as user/group www-data ? (default: false)
  • CF_PHPFPM_ENABLE_OPEN_BASEDIR [bool]: (default: false)
  • CF_PHPFPM_UPLOAD_TMP_DIR [string]: (default: "/var/www/upload_tmp_dir")
  • CF_PHPFPM_PM_MAX_CHILDREN [int]: (default: 5)
  • CF_PHPFPM_PM_START_SERVERS [int]: (default: 2)
  • CF_PHPFPM_PM_MIN_SPARE_SERVERS [int]: (default: 1)
  • CF_PHPFPM_PM_MAX_SPARE_SERVERS [int]: (default: 3)
  • CF_PHPFPM_UPLOAD_MAX_FILESIZE [sizestring]: (default: "100M")
  • CF_PHPFPM_POST_MAX_SIZE [sizestring]: (default: "100M")
  • CF_PHPFPM_MEMORY_LIMIT [sizestring]: (default: "512M")
  • CF_PHPFPM_MAX_EXECUTION_TIME [int]: (default: 600)
  • CF_PHPFPM_MAX_INPUT_TIME [int]: (default: 600)
  • CF_PHPFPM_HTML_ERRORS [bool]: (default: false)

Only on X64:

  • CF_ENABLE_XDEBUG [bool]: Enable XDebug PHP module? (default: false)
  • CF_XDEBUG_REMOTE_HOST [string]: Remote Host for XDebug (default 'dockerhost')

Using cron

If you'd like to use cron you'll also need to copy the file mpcron/crontab-template to mpcron/<USERNAME>.
E.g. for installing a crontab for the user "www-data" copy the file to mpcron/www-data.
Then uncomment the mountpoint for that file in the docker-compose.yaml.