From 00b283cf2e6a09fee3271fc13648085053dc0f40 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Thu, 21 Jan 2021 21:51:07 +0000 Subject: [PATCH] 3.3.2-debian-10-r70 release --- bitnami/phpbb/3/debian-10/Dockerfile | 2 +- .../opt/bitnami/scripts/libmysqlclient.sh | 145 ++++++++++++++---- .../opt/bitnami/scripts/mysql-client-env.sh | 21 ++- .../opt/bitnami/scripts/phpbb/postunpack.sh | 4 + bitnami/phpbb/README.md | 5 +- 5 files changed, 137 insertions(+), 40 deletions(-) diff --git a/bitnami/phpbb/3/debian-10/Dockerfile b/bitnami/phpbb/3/debian-10/Dockerfile index fe288911b887..e49c5207deb1 100644 --- a/bitnami/phpbb/3/debian-10/Dockerfile +++ b/bitnami/phpbb/3/debian-10/Dockerfile @@ -31,7 +31,7 @@ ENV ALLOW_EMPTY_PASSWORD="no" \ APACHE_HTTPS_PORT_NUMBER="" \ APACHE_HTTP_PORT_NUMBER="" \ BITNAMI_APP_NAME="phpbb" \ - BITNAMI_IMAGE_VERSION="3.3.2-debian-10-r69" \ + BITNAMI_IMAGE_VERSION="3.3.2-debian-10-r70" \ MARIADB_HOST="mariadb" \ MARIADB_PORT_NUMBER="3306" \ MARIADB_ROOT_PASSWORD="" \ diff --git a/bitnami/phpbb/3/debian-10/rootfs/opt/bitnami/scripts/libmysqlclient.sh b/bitnami/phpbb/3/debian-10/rootfs/opt/bitnami/scripts/libmysqlclient.sh index e7e95782e827..bcded330aff4 100644 --- a/bitnami/phpbb/3/debian-10/rootfs/opt/bitnami/scripts/libmysqlclient.sh +++ b/bitnami/phpbb/3/debian-10/rootfs/opt/bitnami/scripts/libmysqlclient.sh @@ -45,7 +45,7 @@ mysql_client_validate() { } # Only validate environment variables if any action needs to be performed - check_yes_no_value "DB_TLS_ENABLED" + check_yes_no_value "DB_ENABLE_SSL_WRAPPER" if [[ -n "$DB_CREATE_DATABASE_USER" || -n "$DB_CREATE_DATABASE_NAME" ]]; then if is_boolean_yes "$ALLOW_EMPTY_PASSWORD"; then @@ -78,9 +78,9 @@ mysql_client_validate() { # None ######################### mysql_client_initialize() { - # Wrap binary to force the usage of TLS - if is_boolean_yes "$DB_TLS_ENABLED"; then - mysql_client_wrap_binary_for_tls + # Wrap binary to force the usage of SSL + if is_boolean_yes "$DB_ENABLE_SSL_WRAPPER"; then + mysql_client_wrap_binary_for_ssl fi # Wait for the database to be accessible if any action needs to be performed if [[ -n "$DB_CREATE_DATABASE_USER" || -n "$DB_CREATE_DATABASE_NAME" ]]; then @@ -113,7 +113,7 @@ mysql_client_initialize() { } ######################## -# Wrap binary to force the usage of TLS +# Wrap binary to force the usage of SSL # Globals: # DB_* # Arguments: @@ -121,14 +121,16 @@ mysql_client_initialize() { # Returns: # None ######################### -mysql_client_wrap_binary_for_tls() { +mysql_client_wrap_binary_for_ssl() { local -r wrapper_file="${DB_BIN_DIR}/mysql" local -r wrapped_binary_file="${DB_BASE_DIR}/.bin/mysql" + local -a ssl_opts=() + read -r -a ssl_opts <<< "$(mysql_client_extra_opts)" mv "$wrapper_file" "$wrapped_binary_file" cat >"$wrapper_file" <&1 | grep -q MariaDB; then + echo "mariadb" + else + echo "mysql" + fi +} + +######################## +# Prints extra options for MySQL client calls (i.e. SSL options) +# Globals: +# DB_* +# Arguments: +# None +# Returns: +# List of options to pass to "mysql" CLI +######################### +mysql_client_extra_opts() { + # Helper to get the proper value for the MySQL client environment variable + mysql_client_env_value() { + local env_name="MYSQL_CLIENT_${1:?missing name}" + if [[ -n "${!env_name:-}" ]]; then + echo "${!env_name:-}" + else + env_name="DB_CLIENT_${1}" + echo "${!env_name:-}" + fi + } + local -a opts=() + local key value + if is_boolean_yes "$DB_ENABLE_SSL"; then + if [[ "$(mysql_client_flavor)" = "mysql" ]]; then + opts+=("--ssl-mode=REQUIRED") + else + opts+=("--ssl=TRUE") + fi + # Add "--ssl-ca", "--ssl-key" and "--ssl-cert" options if the env vars are defined + for key in ca key cert; do + value="$(mysql_client_env_value "SSL_${key^^}_FILE")" + [[ -n "${value}" ]] && opts+=("--ssl-${key}=${value}") + done + fi + echo "${opts[@]:-}" +} diff --git a/bitnami/phpbb/3/debian-10/rootfs/opt/bitnami/scripts/mysql-client-env.sh b/bitnami/phpbb/3/debian-10/rootfs/opt/bitnami/scripts/mysql-client-env.sh index 2d364c1d33fb..ae42e8827305 100644 --- a/bitnami/phpbb/3/debian-10/rootfs/opt/bitnami/scripts/mysql-client-env.sh +++ b/bitnami/phpbb/3/debian-10/rootfs/opt/bitnami/scripts/mysql-client-env.sh @@ -29,7 +29,12 @@ mysql_env_vars=( MYSQL_CLIENT_CREATE_DATABASE_PASSWORD MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET MYSQL_CLIENT_CREATE_DATABASE_COLLATE - MYSQL_CLIENT_TLS_ENABLED + MYSQL_CLIENT_ENABLE_SSL_WRAPPER + MYSQL_CLIENT_ENABLE_SSL + MYSQL_CLIENT_SSL_CA_FILE + MYSQL_CLIENT_SSL_CERT_FILE + MYSQL_CLIENT_SSL_KEY_FILE + MYSQL_CLIENT_EXTRA_FLAGS ) for env_var in "${mysql_env_vars[@]}"; do file_env_var="${env_var}_FILE" @@ -79,7 +84,17 @@ export MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET="${MYSQL_CLIENT_CREATE_DATABAS export DB_CREATE_DATABASE_CHARACTER_SET="$MYSQL_CLIENT_CREATE_DATABASE_CHARACTER_SET" export MYSQL_CLIENT_CREATE_DATABASE_COLLATE="${MYSQL_CLIENT_CREATE_DATABASE_COLLATE:-}" export DB_CREATE_DATABASE_COLLATE="$MYSQL_CLIENT_CREATE_DATABASE_COLLATE" -export MYSQL_CLIENT_TLS_ENABLED="${MYSQL_CLIENT_TLS_ENABLED:-no}" -export DB_TLS_ENABLED="$MYSQL_CLIENT_TLS_ENABLED" +export MYSQL_CLIENT_ENABLE_SSL_WRAPPER="${MYSQL_CLIENT_ENABLE_SSL_WRAPPER:-no}" +export DB_ENABLE_SSL_WRAPPER="$MYSQL_CLIENT_ENABLE_SSL_WRAPPER" +export MYSQL_CLIENT_ENABLE_SSL="${MYSQL_CLIENT_ENABLE_SSL:-no}" +export DB_ENABLE_SSL="$MYSQL_CLIENT_ENABLE_SSL" +export MYSQL_CLIENT_SSL_CA_FILE="${MYSQL_CLIENT_SSL_CA_FILE:-}" +export DB_SSL_CA_FILE="$MYSQL_CLIENT_SSL_CA_FILE" +export MYSQL_CLIENT_SSL_CERT_FILE="${MYSQL_CLIENT_SSL_CERT_FILE:-}" +export DB_SSL_CERT_FILE="$MYSQL_CLIENT_SSL_CERT_FILE" +export MYSQL_CLIENT_SSL_KEY_FILE="${MYSQL_CLIENT_SSL_KEY_FILE:-}" +export DB_SSL_KEY_FILE="$MYSQL_CLIENT_SSL_KEY_FILE" +export MYSQL_CLIENT_EXTRA_FLAGS="${MYSQL_CLIENT_EXTRA_FLAGS:-no}" +export DB_EXTRA_FLAGS="$MYSQL_CLIENT_EXTRA_FLAGS" # Custom environment variables may be defined below diff --git a/bitnami/phpbb/3/debian-10/rootfs/opt/bitnami/scripts/phpbb/postunpack.sh b/bitnami/phpbb/3/debian-10/rootfs/opt/bitnami/scripts/phpbb/postunpack.sh index 62cb8dbec0ab..236e45f43a26 100755 --- a/bitnami/phpbb/3/debian-10/rootfs/opt/bitnami/scripts/phpbb/postunpack.sh +++ b/bitnami/phpbb/3/debian-10/rootfs/opt/bitnami/scripts/phpbb/postunpack.sh @@ -36,6 +36,10 @@ for dir in "$PHPBB_BASE_DIR" "$PHPBB_VOLUME_DIR"; do configure_permissions_ownership "$dir" -d "775" -f "664" -u "$WEB_SERVER_DAEMON_USER" -g "root" done +# Configure memory limit for PHP +info "Configuring default PHP options for DokuWiki" +php_conf_set memory_limit "$PHP_DEFAULT_MEMORY_LIMIT" + # Enable default web server configuration for phpBB info "Creating default web server configuration for phpBB" web_server_validate diff --git a/bitnami/phpbb/README.md b/bitnami/phpbb/README.md index 35ac0bb540b0..9f7d02c0b09b 100644 --- a/bitnami/phpbb/README.md +++ b/bitnami/phpbb/README.md @@ -42,7 +42,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`3`, `3-debian-10`, `3.3.2`, `3.3.2-debian-10-r69`, `latest` (3/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-phpbb/blob/3.3.2-debian-10-r69/3/debian-10/Dockerfile) +* [`3`, `3-debian-10`, `3.3.2`, `3.3.2-debian-10-r70`, `latest` (3/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-phpbb/blob/3.3.2-debian-10-r70/3/debian-10/Dockerfile) Subscribe to project updates by watching the [bitnami/phpbb GitHub repo](https://github.com/bitnami/bitnami-docker-phpbb). @@ -274,14 +274,13 @@ To configure phpBB to send email using SMTP you can set the following environmen ##### PHP configuration -- `PHP_MEMORY_LIMIT`: Memory limit for PHP. Default: **256M** +- `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. - `PHP_MAX_EXECUTION_TIME`: Maximum execution time for PHP scripts. No default. - `PHP_MAX_INPUT_TIME`: Maximum input time for PHP scripts. No default. - `PHP_MAX_INPUT_VARS`: Maximum amount of input variables for PHP scripts. No default. - `PHP_MEMORY_LIMIT`: Memory limit for PHP scripts. Default: **256M** - `PHP_POST_MAX_SIZE`: Maximum size for PHP POST requests. No default. - `PHP_UPLOAD_MAX_FILESIZE`: Maximum file size for PHP uploads. No default. -- `PHP_EXPOSE_PHP`: Enables HTTP header with PHP version. No default. ##### Example