Code Monkey home page Code Monkey logo

dockerimage-ws-apache_php73_mariadb103's Introduction

Apache2 + PHP 7.3 + MariaDB 10.3 Client Docker Image for AARCH64, ARMv7l, X86 and X64

For hosting PHP powered websites.

Inheritance and added packages

PHP Packages included

  • bcmath
  • cli
  • common
  • curl
  • fpm
  • gd
  • gmp
  • imagick
  • imap
  • json
  • ldap
  • mbstring
  • mcrypt
  • mysql
  • opcache
  • readline
  • redis
  • sqlite3
  • xdebug
  • xml
  • zip

Webserver TCP Port

The webserver is listening only on TCP port 80 by default.

Docker Container usage

See the related GitHub repository https://github.com/tsitle/dockercontainer-ws-apache_php73_mariadb103

Docker Container configuration

From tsle/ws-apache-base:

  • 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)

From this image:

  • 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)
  • CF_ENABLE_XDEBUG [bool]: Enable XDebug PHP module? (default: false)
  • CF_XDEBUG_REMOTE_HOST [string]: Remote Host for XDebug (default 'dockerhost')

Using cron

You'll need to create the crontab file ./mpcron/wwwphpfpm and then add some task to the file:

# the following command will be executed as 'wwwphpfpm'
* *    *   *   *     cd /var/www/html/; tar cf backup.tar site-html/> /dev/null 2>&1

Instead of the username wwwphpfpm you could also use root.

Now you could enable cron in your docker-compose.yaml file like this:

version: '3.5'
services:
  apache:
    image: "ws-apache-php73-mariadb103-<ARCH>:<VERSION>"
    ports:
      - "80:80"
    volumes:
      - "$PWD/mpweb:/var/www/html"
      - "$PWD/mpcron/wwwphpfpm:/var/spool/cron/crontabs/wwwphpfpm"
    environment:
      - CF_PROJ_PRIMARY_FQDN=example-host.localhost
      - CF_WWWFPM_USER_ID=<YOUR_UID>
      - CF_WWWFPM_GROUP_ID=<YOUR_GID>
      - CF_SET_OWNER_AND_PERMS_WEBROOT=false
      - CF_ENABLE_CRON=true
      - CF_LANG=de_DE.UTF-8
      - CF_TIMEZONE=Europe/Berlin
    restart: unless-stopped
    stdin_open: false
    tty: false

Enabling/Disabling the PHP Module XDebug in a running container

# enable:
$ docker exec -it DOCKERCONTAINER phpenmod xdebug
# disable:
$ docker exec -it DOCKERCONTAINER phpdismod xdebug
$ docker exec -it DOCKERCONTAINER service php7.3-fpm restart

dockerimage-ws-apache_php73_mariadb103's People

Contributors

tsitle avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.