diff --git a/bitnami/wordpress/4/Dockerfile b/bitnami/wordpress/4/Dockerfile index d93fe7546060..49c528f0ca4f 100644 --- a/bitnami/wordpress/4/Dockerfile +++ b/bitnami/wordpress/4/Dockerfile @@ -1,22 +1,22 @@ -FROM gcr.io/stacksmith-images/minideb:jessie-r10 +FROM gcr.io/stacksmith-images/minideb:jessie-r11 MAINTAINER Bitnami ENV BITNAMI_APP_NAME=wordpress \ - BITNAMI_IMAGE_VERSION=4.7.2-r1 \ + BITNAMI_IMAGE_VERSION=4.7.2-r2 \ PATH=/opt/bitnami/php/bin:/opt/bitnami/mysql/bin/:$PATH # System packages required -RUN install_packages libssl1.0.0 libaprutil1 libapr1 libc6 libuuid1 libexpat1 libpcre3 libldap-2.4-2 libsasl2-2 libgnutls-deb0-28 zlib1g libp11-kit0 libtasn1-6 libnettle4 libhogweed2 libgmp10 libffi6 libxslt1.1 libtidy-0.99-0 libreadline6 libncurses5 libtinfo5 libsybdb5 libmcrypt4 libstdc++6 libpng12-0 libjpeg62-turbo libbz2-1.0 libxml2 libcurl3 libfreetype6 libicu52 libgcc1 libgcrypt20 libgssapi-krb5-2 liblzma5 libidn11 librtmp1 libssh2-1 libkrb5-3 libk5crypto3 libcomerr2 libgpg-error0 libkrb5support0 libkeyutils1 +RUN install_packages libssl1.0.0 libaprutil1 libapr1 libc6 libuuid1 libexpat1 libpcre3 libldap-2.4-2 libsasl2-2 libgnutls-deb0-28 zlib1g libp11-kit0 libtasn1-6 libnettle4 libhogweed2 libgmp10 libffi6 libxslt1.1 libtidy-0.99-0 libreadline6 libncurses5 libtinfo5 libmcrypt4 libstdc++6 libpng12-0 libjpeg62-turbo libbz2-1.0 libxml2 libcurl3 libfreetype6 libicu52 libgcc1 libgcrypt20 liblzma5 libidn11 librtmp1 libssh2-1 libgssapi-krb5-2 libkrb5-3 libk5crypto3 libcomerr2 libgpg-error0 libkrb5support0 libkeyutils1 libsybdb5 libpq5 # Additional modules required RUN bitnami-pkg unpack apache-2.4.25-0 --checksum 8b46af7d737772d7d301da8b30a2770b7e549674e33b8a5b07480f53c39f5c3f -RUN bitnami-pkg unpack php-5.6.30-1 --checksum 96835743d668832c0b8464711587e5339969a96cafa1b319ca058697efd2857c -RUN bitnami-pkg install libphp-5.6.30-0 --checksum b9689caaab61862444c97756b1a9bf575731c4d0e71aa962d58518a231b33155 -RUN bitnami-pkg install mysql-client-10.1.21-0 --checksum 8e868a3e46bfa59f3fb4e1aae22fd9a95fd656c020614a64706106ba2eba224e +RUN bitnami-pkg unpack php-5.6.30-3 --checksum af6c238825d4394fc6352c5ad48c1e6423e21520df927097dab592f0d4ad4662 +RUN bitnami-pkg install libphp-5.6.30-1 --checksum a62cad2320fa2d141309e75663aed3d1bd82626d51b784678d18ec3f985d83bf +RUN bitnami-pkg unpack mysql-client-10.1.21-2 --checksum f5d875d00ff198eea981ffa6d02d3135659baf48cbfc418604f1b75fb5a31e63 # Install wordpress -RUN bitnami-pkg unpack wordpress-4.7.2-0 --checksum 6e45638290a08c81abe0fd67f53581bb6adaf98df441c35cc6643180bf6241da +RUN bitnami-pkg unpack wordpress-4.7.2-1 --checksum 330a4cb810c66256d4b276f2559225f4c77fcadb183c23cc834c4aefe1565dc1 COPY rootfs / @@ -28,9 +28,14 @@ ENV APACHE_HTTP_PORT="80" \ WORDPRESS_FIRST_NAME="FirstName" \ WORDPRESS_LAST_NAME="LastName" \ WORDPRESS_BLOG_NAME="User's Blog!" \ - MARIADB_USER="root" \ + WORDPRESS_DATABASE_NAME="bitnami_wordpress" \ + WORDPRESS_DATABASE_USER="bn_wordpress" \ + WORDPRESS_DATABASE_PASSWORD="" \ MARIADB_HOST="mariadb" \ - MARIADB_PORT="3306" + MARIADB_PORT="3306" \ + MARIADB_ROOT_USER="root" \ + MARIADB_ROOT_PASSWORD="" \ + ALLOW_EMPTY_PASSWORD="no" VOLUME ["/bitnami/wordpress", "/bitnami/apache", "/bitnami/php"] diff --git a/bitnami/wordpress/4/docker-compose.yml b/bitnami/wordpress/4/docker-compose.yml index 43b083065fc3..db6aa2627de9 100644 --- a/bitnami/wordpress/4/docker-compose.yml +++ b/bitnami/wordpress/4/docker-compose.yml @@ -2,10 +2,12 @@ version: '2' services: mariadb: image: 'bitnami/mariadb:latest' - environment: - - ALLOW_EMPTY_PASSWORD=yes volumes: - 'mariadb_data:/bitnami/mariadb' + environment: + - MARIADB_USER=bn_wordpress + - MARIADB_DATABASE=bitnami_wordpress + - ALLOW_EMPTY_PASSWORD=yes wordpress: image: 'bitnami/wordpress:4' ports: @@ -17,6 +19,12 @@ services: - 'php_data:/bitnami/php' depends_on: - mariadb + environment: + - MARIADB_HOST=mariadb + - MARIADB_PORT=3306 + - WORDPRESS_DATABASE_USER=bn_wordpress + - WORDPRESS_DATABASE_NAME=bitnami_wordpress + - ALLOW_EMPTY_PASSWORD=yes volumes: mariadb_data: driver: local diff --git a/bitnami/wordpress/4/rootfs/app-entrypoint.sh b/bitnami/wordpress/4/rootfs/app-entrypoint.sh index 8db23fea5f26..969658888203 100755 --- a/bitnami/wordpress/4/rootfs/app-entrypoint.sh +++ b/bitnami/wordpress/4/rootfs/app-entrypoint.sh @@ -5,8 +5,38 @@ print_welcome_page check_for_updates & +## +## @brief Helper function to show an error when a password is empty and exit +## param $1 Input name +## +empty_password_error() { + error "The $1 environment variable is empty or not set. Set the environment variable ALLOW_EMPTY_PASSWORD=yes to allow the container to be started with blank passwords. This is recommended only for development." + exit 1 +} + +## +## @brief Helper function to show a warning when the ALLOW_EMPTY_PASSWORD flag is enabled +## +empty_password_enabled_warn() { + warn "You set the environment variable ALLOW_EMPTY_PASSWORD=${ALLOW_EMPTY_PASSWORD}. For safety reasons, do not use this flag in a production environment." +} + if [[ "$1" == "nami" && "$2" == "start" ]] || [[ "$1" == "/init.sh" ]]; then - nami_initialize apache php wordpress + # Validate passwords + if [[ "$ALLOW_EMPTY_PASSWORD" =~ ^(yes|Yes|YES)$ ]]; then + empty_password_enabled_warn + else + # Database creation by MySQL client + if [[ -n "$MYSQL_CLIENT_CREATE_DATABASE_USER" && -z "$MYSQL_CLIENT_CREATE_DATABASE_PASSWORD" ]]; then + empty_password_error MSQL_CLIENT_CREATE_DATABASE_PASSWORD + fi + # WordPress database + if [[ -z "$WORDPRESS_DATABASE_PASSWORD" ]]; then + empty_password_error WORDPRESS_DATABASE_PASSWORD + fi + fi + + nami_initialize apache php mysql-client wordpress info "Starting wordpress..." fi diff --git a/bitnami/wordpress/4/rootfs/mysql-client-inputs.json b/bitnami/wordpress/4/rootfs/mysql-client-inputs.json new file mode 100644 index 000000000000..b865ab7236c8 --- /dev/null +++ b/bitnami/wordpress/4/rootfs/mysql-client-inputs.json @@ -0,0 +1,10 @@ +{ + "host": "{{$global.env.MARIADB_HOST}}", + "port": "{{$global.env.MARIADB_PORT}}", + "rootUser": "{{$global.env.MARIADB_ROOT_USER}}", + "rootPassword": "{{$global.env.MARIADB_ROOT_PASSWORD}}", + "createDatabaseName": "{{$global.env.MYSQL_CLIENT_CREATE_DATABASE_NAME}}", + "createDatabaseUser": "{{$global.env.MYSQL_CLIENT_CREATE_DATABASE_USER}}", + "createDatabasePassword": "{{$global.env.MYSQL_CLIENT_CREATE_DATABASE_PASSWORD}}", + "allowEmptyPassword": "{{$global.env.ALLOW_EMPTY_PASSWORD}}" +} diff --git a/bitnami/wordpress/4/rootfs/wordpress-inputs.json b/bitnami/wordpress/4/rootfs/wordpress-inputs.json index 02ea21a36c96..6b1164d9e377 100644 --- a/bitnami/wordpress/4/rootfs/wordpress-inputs.json +++ b/bitnami/wordpress/4/rootfs/wordpress-inputs.json @@ -11,8 +11,9 @@ "smtpPassword": "{{$global.env.SMTP_PASSWORD}}", "smtpUsername": "{{$global.env.SMTP_USERNAME}}", "smtpProtocol": "{{$global.env.SMTP_PROTOCOL}}", - "databaseAdminUser": "{{$global.env.MARIADB_USER}}", - "databaseAdminPassword": "{{$global.env.MARIADB_PASSWORD}}", "databaseServerHost": "{{$global.env.MARIADB_HOST}}", - "databaseServerPort": "{{$global.env.MARIADB_PORT}}" -} \ No newline at end of file + "databaseServerPort": "{{$global.env.MARIADB_PORT}}", + "databaseName": "{{$global.env.WORDPRESS_DATABASE_NAME}}", + "databaseUser": "{{$global.env.WORDPRESS_DATABASE_USER}}", + "databasePassword": "{{$global.env.WORDPRESS_DATABASE_PASSWORD}}" +} diff --git a/bitnami/wordpress/docker-compose.yml b/bitnami/wordpress/docker-compose.yml index dc5e066cf742..4927b276ab48 100644 --- a/bitnami/wordpress/docker-compose.yml +++ b/bitnami/wordpress/docker-compose.yml @@ -2,10 +2,12 @@ version: '2' services: mariadb: image: 'bitnami/mariadb:latest' - environment: - - ALLOW_EMPTY_PASSWORD=yes volumes: - 'mariadb_data:/bitnami/mariadb' + environment: + - MARIADB_USER=bn_wordpress + - MARIADB_DATABASE=bitnami_wordpress + - ALLOW_EMPTY_PASSWORD=yes wordpress: image: 'bitnami/wordpress:latest' ports: @@ -17,6 +19,12 @@ services: - 'php_data:/bitnami/php' depends_on: - mariadb + environment: + - MARIADB_HOST=mariadb + - MARIADB_PORT=3306 + - WORDPRESS_DATABASE_USER=bn_wordpress + - WORDPRESS_DATABASE_NAME=bitnami_wordpress + - ALLOW_EMPTY_PASSWORD=yes volumes: mariadb_data: driver: local