diff --git a/Dockerfiles/web-apache-mysql/alpine/conf/etc/php84/php-fpm.d/zabbix.conf b/Dockerfiles/web-apache-mysql/alpine/conf/etc/php84/php-fpm.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-apache-mysql/alpine/conf/etc/php84/php-fpm.d/zabbix.conf +++ b/Dockerfiles/web-apache-mysql/alpine/conf/etc/php84/php-fpm.d/zabbix.conf @@ -34,3 +34,6 @@ php_value[date.timezone] = ${PHP_TZ} ; PHP-FPM monitoring pm.status_path = /status ping.path = /ping + +; Set the socket equal to DB_SERVER_SOCKET set by user +php_value[mysqli.default_socket] = ${DB_SERVER_SOCKET} diff --git a/Dockerfiles/web-apache-mysql/alpine/docker-entrypoint.sh b/Dockerfiles/web-apache-mysql/alpine/docker-entrypoint.sh index 7cf62a20d..f6ca1affd 100755 --- a/Dockerfiles/web-apache-mysql/alpine/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/alpine/docker-entrypoint.sh @@ -68,12 +68,14 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - : ${DB_SERVER_HOST:="mysql-server"} - else + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" DB_SERVER_HOST="localhost" + else + : ${DB_SERVER_HOST:="mysql-server"} + : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi - : ${DB_SERVER_PORT:="3306"} file_env MYSQL_USER file_env MYSQL_PASSWORD @@ -83,11 +85,6 @@ check_variables() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { @@ -221,8 +218,9 @@ prepare_zbx_php_config() { export PHP_TZ=${PHP_TZ} export DB_SERVER_TYPE="MYSQL" - export DB_SERVER_HOST=${DB_SERVER_HOST} - export DB_SERVER_PORT=${DB_SERVER_PORT} + test -z "${DB_SERVER_HOST}" || export DB_SERVER_HOST + test -z "${DB_SERVER_PORT}" || export DB_SERVER_PORT + test -z "${DB_SERVER_SOCKET}" || export DB_SERVER_SOCKET export DB_SERVER_DBNAME=${DB_SERVER_DBNAME} export DB_SERVER_SCHEMA=${DB_SERVER_SCHEMA} export DB_SERVER_USER=${DB_SERVER_ZBX_USER} diff --git a/Dockerfiles/web-apache-mysql/centos/conf/etc/php-fpm.d/zabbix.conf b/Dockerfiles/web-apache-mysql/centos/conf/etc/php-fpm.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-apache-mysql/centos/conf/etc/php-fpm.d/zabbix.conf +++ b/Dockerfiles/web-apache-mysql/centos/conf/etc/php-fpm.d/zabbix.conf @@ -34,3 +34,6 @@ php_value[date.timezone] = ${PHP_TZ} ; PHP-FPM monitoring pm.status_path = /status ping.path = /ping + +; Set the socket equal to DB_SERVER_SOCKET set by user +php_value[mysqli.default_socket] = ${DB_SERVER_SOCKET} diff --git a/Dockerfiles/web-apache-mysql/centos/docker-entrypoint.sh b/Dockerfiles/web-apache-mysql/centos/docker-entrypoint.sh index 0fba0b331..38fd97947 100755 --- a/Dockerfiles/web-apache-mysql/centos/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/centos/docker-entrypoint.sh @@ -68,12 +68,14 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - : ${DB_SERVER_HOST:="mysql-server"} - else + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" DB_SERVER_HOST="localhost" + else + : ${DB_SERVER_HOST:="mysql-server"} + : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi - : ${DB_SERVER_PORT:="3306"} file_env MYSQL_USER file_env MYSQL_PASSWORD @@ -83,11 +85,6 @@ check_variables() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { @@ -221,8 +218,9 @@ prepare_zbx_php_config() { export PHP_TZ=${PHP_TZ} export DB_SERVER_TYPE="MYSQL" - export DB_SERVER_HOST=${DB_SERVER_HOST} - export DB_SERVER_PORT=${DB_SERVER_PORT} + test -z "${DB_SERVER_HOST}" || export DB_SERVER_HOST + test -z "${DB_SERVER_PORT}" || export DB_SERVER_PORT + test -z "${DB_SERVER_SOCKET}" || export DB_SERVER_SOCKET export DB_SERVER_DBNAME=${DB_SERVER_DBNAME} export DB_SERVER_SCHEMA=${DB_SERVER_SCHEMA} export DB_SERVER_USER=${DB_SERVER_ZBX_USER} diff --git a/Dockerfiles/web-apache-mysql/ol/conf/etc/php-fpm.d/zabbix.conf b/Dockerfiles/web-apache-mysql/ol/conf/etc/php-fpm.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-apache-mysql/ol/conf/etc/php-fpm.d/zabbix.conf +++ b/Dockerfiles/web-apache-mysql/ol/conf/etc/php-fpm.d/zabbix.conf @@ -34,3 +34,6 @@ php_value[date.timezone] = ${PHP_TZ} ; PHP-FPM monitoring pm.status_path = /status ping.path = /ping + +; Set the socket equal to DB_SERVER_SOCKET set by user +php_value[mysqli.default_socket] = ${DB_SERVER_SOCKET} diff --git a/Dockerfiles/web-apache-mysql/ol/docker-entrypoint.sh b/Dockerfiles/web-apache-mysql/ol/docker-entrypoint.sh index 0fba0b331..38fd97947 100755 --- a/Dockerfiles/web-apache-mysql/ol/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/ol/docker-entrypoint.sh @@ -68,12 +68,14 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - : ${DB_SERVER_HOST:="mysql-server"} - else + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" DB_SERVER_HOST="localhost" + else + : ${DB_SERVER_HOST:="mysql-server"} + : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi - : ${DB_SERVER_PORT:="3306"} file_env MYSQL_USER file_env MYSQL_PASSWORD @@ -83,11 +85,6 @@ check_variables() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { @@ -221,8 +218,9 @@ prepare_zbx_php_config() { export PHP_TZ=${PHP_TZ} export DB_SERVER_TYPE="MYSQL" - export DB_SERVER_HOST=${DB_SERVER_HOST} - export DB_SERVER_PORT=${DB_SERVER_PORT} + test -z "${DB_SERVER_HOST}" || export DB_SERVER_HOST + test -z "${DB_SERVER_PORT}" || export DB_SERVER_PORT + test -z "${DB_SERVER_SOCKET}" || export DB_SERVER_SOCKET export DB_SERVER_DBNAME=${DB_SERVER_DBNAME} export DB_SERVER_SCHEMA=${DB_SERVER_SCHEMA} export DB_SERVER_USER=${DB_SERVER_ZBX_USER} diff --git a/Dockerfiles/web-apache-mysql/ubuntu/conf/etc/php/8.3/fpm/pool.d/zabbix.conf b/Dockerfiles/web-apache-mysql/ubuntu/conf/etc/php/8.3/fpm/pool.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-apache-mysql/ubuntu/conf/etc/php/8.3/fpm/pool.d/zabbix.conf +++ b/Dockerfiles/web-apache-mysql/ubuntu/conf/etc/php/8.3/fpm/pool.d/zabbix.conf @@ -34,3 +34,6 @@ php_value[date.timezone] = ${PHP_TZ} ; PHP-FPM monitoring pm.status_path = /status ping.path = /ping + +; Set the socket equal to DB_SERVER_SOCKET set by user +php_value[mysqli.default_socket] = ${DB_SERVER_SOCKET} diff --git a/Dockerfiles/web-apache-mysql/ubuntu/docker-entrypoint.sh b/Dockerfiles/web-apache-mysql/ubuntu/docker-entrypoint.sh index 3f5fd3f87..15230eb09 100755 --- a/Dockerfiles/web-apache-mysql/ubuntu/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/ubuntu/docker-entrypoint.sh @@ -68,12 +68,14 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - : ${DB_SERVER_HOST:="mysql-server"} - else + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" DB_SERVER_HOST="localhost" + else + : ${DB_SERVER_HOST:="mysql-server"} + : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi - : ${DB_SERVER_PORT:="3306"} file_env MYSQL_USER file_env MYSQL_PASSWORD @@ -83,11 +85,6 @@ check_variables() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { @@ -221,8 +218,9 @@ prepare_zbx_php_config() { export PHP_TZ=${PHP_TZ} export DB_SERVER_TYPE="MYSQL" - export DB_SERVER_HOST=${DB_SERVER_HOST} - export DB_SERVER_PORT=${DB_SERVER_PORT} + test -z "${DB_SERVER_HOST}" || export DB_SERVER_HOST + test -z "${DB_SERVER_PORT}" || export DB_SERVER_PORT + test -z "${DB_SERVER_SOCKET}" || export DB_SERVER_SOCKET export DB_SERVER_DBNAME=${DB_SERVER_DBNAME} export DB_SERVER_SCHEMA=${DB_SERVER_SCHEMA} export DB_SERVER_USER=${DB_SERVER_ZBX_USER} diff --git a/Dockerfiles/web-nginx-mysql/alpine/conf/etc/php84/php-fpm.d/zabbix.conf b/Dockerfiles/web-nginx-mysql/alpine/conf/etc/php84/php-fpm.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-nginx-mysql/alpine/conf/etc/php84/php-fpm.d/zabbix.conf +++ b/Dockerfiles/web-nginx-mysql/alpine/conf/etc/php84/php-fpm.d/zabbix.conf @@ -34,3 +34,6 @@ php_value[date.timezone] = ${PHP_TZ} ; PHP-FPM monitoring pm.status_path = /status ping.path = /ping + +; Set the socket equal to DB_SERVER_SOCKET set by user +php_value[mysqli.default_socket] = ${DB_SERVER_SOCKET} diff --git a/Dockerfiles/web-nginx-mysql/alpine/docker-entrypoint.sh b/Dockerfiles/web-nginx-mysql/alpine/docker-entrypoint.sh index 794bb0f72..0d346631d 100755 --- a/Dockerfiles/web-nginx-mysql/alpine/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/alpine/docker-entrypoint.sh @@ -74,12 +74,14 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - : ${DB_SERVER_HOST:="mysql-server"} - else + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" DB_SERVER_HOST="localhost" + else + : ${DB_SERVER_HOST:="mysql-server"} + : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi - : ${DB_SERVER_PORT:="3306"} file_env MYSQL_USER file_env MYSQL_PASSWORD @@ -89,11 +91,6 @@ check_variables() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { @@ -272,8 +269,9 @@ prepare_zbx_php_config() { export PHP_TZ=${PHP_TZ} export DB_SERVER_TYPE="MYSQL" - export DB_SERVER_HOST=${DB_SERVER_HOST} - export DB_SERVER_PORT=${DB_SERVER_PORT} + test -z "${DB_SERVER_HOST}" || export DB_SERVER_HOST + test -z "${DB_SERVER_PORT}" || export DB_SERVER_PORT + test -z "${DB_SERVER_SOCKET}" || export DB_SERVER_SOCKET export DB_SERVER_DBNAME=${DB_SERVER_DBNAME} export DB_SERVER_SCHEMA=${DB_SERVER_SCHEMA} export DB_SERVER_USER=${DB_SERVER_ZBX_USER} diff --git a/Dockerfiles/web-nginx-mysql/centos/conf/etc/php-fpm.d/zabbix.conf b/Dockerfiles/web-nginx-mysql/centos/conf/etc/php-fpm.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-nginx-mysql/centos/conf/etc/php-fpm.d/zabbix.conf +++ b/Dockerfiles/web-nginx-mysql/centos/conf/etc/php-fpm.d/zabbix.conf @@ -34,3 +34,6 @@ php_value[date.timezone] = ${PHP_TZ} ; PHP-FPM monitoring pm.status_path = /status ping.path = /ping + +; Set the socket equal to DB_SERVER_SOCKET set by user +php_value[mysqli.default_socket] = ${DB_SERVER_SOCKET} diff --git a/Dockerfiles/web-nginx-mysql/centos/docker-entrypoint.sh b/Dockerfiles/web-nginx-mysql/centos/docker-entrypoint.sh index 7ab6bd490..cedca3932 100755 --- a/Dockerfiles/web-nginx-mysql/centos/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/centos/docker-entrypoint.sh @@ -74,12 +74,14 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - : ${DB_SERVER_HOST:="mysql-server"} - else + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" DB_SERVER_HOST="localhost" + else + : ${DB_SERVER_HOST:="mysql-server"} + : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi - : ${DB_SERVER_PORT:="3306"} file_env MYSQL_USER file_env MYSQL_PASSWORD @@ -89,11 +91,6 @@ check_variables() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { @@ -272,8 +269,9 @@ prepare_zbx_php_config() { export PHP_TZ=${PHP_TZ} export DB_SERVER_TYPE="MYSQL" - export DB_SERVER_HOST=${DB_SERVER_HOST} - export DB_SERVER_PORT=${DB_SERVER_PORT} + test -z "${DB_SERVER_HOST}" || export DB_SERVER_HOST + test -z "${DB_SERVER_PORT}" || export DB_SERVER_PORT + test -z "${DB_SERVER_SOCKET}" || export DB_SERVER_SOCKET export DB_SERVER_DBNAME=${DB_SERVER_DBNAME} export DB_SERVER_SCHEMA=${DB_SERVER_SCHEMA} export DB_SERVER_USER=${DB_SERVER_ZBX_USER} diff --git a/Dockerfiles/web-nginx-mysql/ol/conf/etc/php-fpm.d/zabbix.conf b/Dockerfiles/web-nginx-mysql/ol/conf/etc/php-fpm.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-nginx-mysql/ol/conf/etc/php-fpm.d/zabbix.conf +++ b/Dockerfiles/web-nginx-mysql/ol/conf/etc/php-fpm.d/zabbix.conf @@ -34,3 +34,6 @@ php_value[date.timezone] = ${PHP_TZ} ; PHP-FPM monitoring pm.status_path = /status ping.path = /ping + +; Set the socket equal to DB_SERVER_SOCKET set by user +php_value[mysqli.default_socket] = ${DB_SERVER_SOCKET} diff --git a/Dockerfiles/web-nginx-mysql/ol/docker-entrypoint.sh b/Dockerfiles/web-nginx-mysql/ol/docker-entrypoint.sh index 7ab6bd490..cedca3932 100755 --- a/Dockerfiles/web-nginx-mysql/ol/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/ol/docker-entrypoint.sh @@ -74,12 +74,14 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - : ${DB_SERVER_HOST:="mysql-server"} - else + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" DB_SERVER_HOST="localhost" + else + : ${DB_SERVER_HOST:="mysql-server"} + : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi - : ${DB_SERVER_PORT:="3306"} file_env MYSQL_USER file_env MYSQL_PASSWORD @@ -89,11 +91,6 @@ check_variables() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { @@ -272,8 +269,9 @@ prepare_zbx_php_config() { export PHP_TZ=${PHP_TZ} export DB_SERVER_TYPE="MYSQL" - export DB_SERVER_HOST=${DB_SERVER_HOST} - export DB_SERVER_PORT=${DB_SERVER_PORT} + test -z "${DB_SERVER_HOST}" || export DB_SERVER_HOST + test -z "${DB_SERVER_PORT}" || export DB_SERVER_PORT + test -z "${DB_SERVER_SOCKET}" || export DB_SERVER_SOCKET export DB_SERVER_DBNAME=${DB_SERVER_DBNAME} export DB_SERVER_SCHEMA=${DB_SERVER_SCHEMA} export DB_SERVER_USER=${DB_SERVER_ZBX_USER} diff --git a/Dockerfiles/web-nginx-mysql/rhel/conf/etc/php-fpm.d/zabbix.conf b/Dockerfiles/web-nginx-mysql/rhel/conf/etc/php-fpm.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-nginx-mysql/rhel/conf/etc/php-fpm.d/zabbix.conf +++ b/Dockerfiles/web-nginx-mysql/rhel/conf/etc/php-fpm.d/zabbix.conf @@ -34,3 +34,6 @@ php_value[date.timezone] = ${PHP_TZ} ; PHP-FPM monitoring pm.status_path = /status ping.path = /ping + +; Set the socket equal to DB_SERVER_SOCKET set by user +php_value[mysqli.default_socket] = ${DB_SERVER_SOCKET} diff --git a/Dockerfiles/web-nginx-mysql/rhel/docker-entrypoint.sh b/Dockerfiles/web-nginx-mysql/rhel/docker-entrypoint.sh index 7ab6bd490..cedca3932 100755 --- a/Dockerfiles/web-nginx-mysql/rhel/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/rhel/docker-entrypoint.sh @@ -74,12 +74,14 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - : ${DB_SERVER_HOST:="mysql-server"} - else + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" DB_SERVER_HOST="localhost" + else + : ${DB_SERVER_HOST:="mysql-server"} + : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi - : ${DB_SERVER_PORT:="3306"} file_env MYSQL_USER file_env MYSQL_PASSWORD @@ -89,11 +91,6 @@ check_variables() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { @@ -272,8 +269,9 @@ prepare_zbx_php_config() { export PHP_TZ=${PHP_TZ} export DB_SERVER_TYPE="MYSQL" - export DB_SERVER_HOST=${DB_SERVER_HOST} - export DB_SERVER_PORT=${DB_SERVER_PORT} + test -z "${DB_SERVER_HOST}" || export DB_SERVER_HOST + test -z "${DB_SERVER_PORT}" || export DB_SERVER_PORT + test -z "${DB_SERVER_SOCKET}" || export DB_SERVER_SOCKET export DB_SERVER_DBNAME=${DB_SERVER_DBNAME} export DB_SERVER_SCHEMA=${DB_SERVER_SCHEMA} export DB_SERVER_USER=${DB_SERVER_ZBX_USER} diff --git a/Dockerfiles/web-nginx-mysql/ubuntu/conf/etc/php/8.3/fpm/pool.d/zabbix.conf b/Dockerfiles/web-nginx-mysql/ubuntu/conf/etc/php/8.3/fpm/pool.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-nginx-mysql/ubuntu/conf/etc/php/8.3/fpm/pool.d/zabbix.conf +++ b/Dockerfiles/web-nginx-mysql/ubuntu/conf/etc/php/8.3/fpm/pool.d/zabbix.conf @@ -34,3 +34,6 @@ php_value[date.timezone] = ${PHP_TZ} ; PHP-FPM monitoring pm.status_path = /status ping.path = /ping + +; Set the socket equal to DB_SERVER_SOCKET set by user +php_value[mysqli.default_socket] = ${DB_SERVER_SOCKET} diff --git a/Dockerfiles/web-nginx-mysql/ubuntu/docker-entrypoint.sh b/Dockerfiles/web-nginx-mysql/ubuntu/docker-entrypoint.sh index 9238281bc..d04113b8e 100755 --- a/Dockerfiles/web-nginx-mysql/ubuntu/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/ubuntu/docker-entrypoint.sh @@ -74,12 +74,14 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - : ${DB_SERVER_HOST:="mysql-server"} - else + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" DB_SERVER_HOST="localhost" + else + : ${DB_SERVER_HOST:="mysql-server"} + : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi - : ${DB_SERVER_PORT:="3306"} file_env MYSQL_USER file_env MYSQL_PASSWORD @@ -89,11 +91,6 @@ check_variables() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { @@ -272,8 +269,9 @@ prepare_zbx_php_config() { export PHP_TZ=${PHP_TZ} export DB_SERVER_TYPE="MYSQL" - export DB_SERVER_HOST=${DB_SERVER_HOST} - export DB_SERVER_PORT=${DB_SERVER_PORT} + test -z "${DB_SERVER_HOST}" || export DB_SERVER_HOST + test -z "${DB_SERVER_PORT}" || export DB_SERVER_PORT + test -z "${DB_SERVER_SOCKET}" || export DB_SERVER_SOCKET export DB_SERVER_DBNAME=${DB_SERVER_DBNAME} export DB_SERVER_SCHEMA=${DB_SERVER_SCHEMA} export DB_SERVER_USER=${DB_SERVER_ZBX_USER}