support phpMyAdmin configuration storage settings (#35)
This commit is contained in:
parent
459c56496d
commit
6a49fdeac2
|
|
@ -22,7 +22,7 @@
|
|||
#########################
|
||||
phpmyadmin_validate() {
|
||||
debug "Validating settings in PHPMYADMIN_* environment variables..."
|
||||
local error_code=0
|
||||
local error_code=0 empty_env_var
|
||||
|
||||
# Auxiliary functions
|
||||
print_validation_error() {
|
||||
|
|
@ -46,6 +46,18 @@ phpmyadmin_validate() {
|
|||
is_empty_value "$DATABASE_ALLOW_NO_PASSWORD" || check_yes_no_value DATABASE_ALLOW_NO_PASSWORD
|
||||
is_empty_value "$DATABASE_ENABLE_SSL" || check_yes_no_value DATABASE_ENABLE_SSL
|
||||
|
||||
check_yes_no_value CONFIGURATION_STORAGE_ENABLE
|
||||
if is_boolean_yes "$CONFIGURATION_STORAGE_ENABLE"; then
|
||||
for empty_env_var in \
|
||||
"CONFIGURATION_STORAGE_DATABASE_CONTROLHOST" \
|
||||
"CONFIGURATION_STORAGE_DATABASE_CONTROLPORT" \
|
||||
"CONFIGURATION_STORAGE_DATABASE_CONTROLUSER" \
|
||||
"CONFIGURATION_STORAGE_DATABASE_CONTROLPASS" \
|
||||
"CONFIGURATION_STORAGE_DATABASE_PMADB"; do
|
||||
is_empty_value "${!empty_env_var}" && print_validation_error "The ${empty_env_var} environment variable is empty or not set."
|
||||
done
|
||||
fi
|
||||
|
||||
return "$error_code"
|
||||
}
|
||||
|
||||
|
|
@ -91,6 +103,15 @@ phpmyadmin_initialize() {
|
|||
! is_empty_value "$DATABASE_SSL_VERIFY" && phpmyadmin_conf_set "\$cfg['Servers'][\$i]['ssl_verify']" "$(php_convert_to_boolean "$DATABASE_SSL_VERIFY")" yes
|
||||
fi
|
||||
|
||||
if is_boolean_yes "$CONFIGURATION_STORAGE_ENABLE"; then
|
||||
phpmyadmin_conf_set "\$cfg['Servers'][\$i]['controlhost']" "$CONFIGURATION_STORAGE_DATABASE_CONTROLHOST" no
|
||||
phpmyadmin_conf_set "\$cfg['Servers'][\$i]['controlport']" "$CONFIGURATION_STORAGE_DATABASE_CONTROLPORT" no
|
||||
phpmyadmin_conf_set "\$cfg['Servers'][\$i]['controluser']" "$CONFIGURATION_STORAGE_DATABASE_CONTROLUSER" no
|
||||
phpmyadmin_conf_set "\$cfg['Servers'][\$i]['controlpass']" "$CONFIGURATION_STORAGE_DATABASE_CONTROLPASS" no
|
||||
phpmyadmin_conf_set "\$cfg['Servers'][\$i]['pmadb']" "$CONFIGURATION_STORAGE_DATABASE_PMADB" no
|
||||
replace_in_file "$PHPMYADMIN_CONF_FILE" "^(\s*//\s*)?(\\\$cfg\['Servers'\]\[\\\$i\]\['.*']\s*=)" "\2" true
|
||||
fi
|
||||
|
||||
# Generate random blowfish secret, used for encrypting
|
||||
info "Setting blowfish_secret option to a randomly generated value"
|
||||
local blowfish_secret
|
||||
|
|
|
|||
|
|
@ -34,6 +34,11 @@ phpmyadmin_env_vars=(
|
|||
DATABASE_SSL_CA_PATH
|
||||
DATABASE_SSL_CIPHERS
|
||||
DATABASE_SSL_VERIFY
|
||||
CONFIGURATION_STORAGE_DATABASE_CONTROLHOST
|
||||
CONFIGURATION_STORAGE_DATABASE_CONTROLPORT
|
||||
CONFIGURATION_STORAGE_DATABASE_CONTROLUSER
|
||||
CONFIGURATION_STORAGE_DATABASE_CONTROLPASS
|
||||
CONFIGURATION_STORAGE_DATABASE_PMADB
|
||||
PMA_ABSOLUTE_URI
|
||||
)
|
||||
for env_var in "${phpmyadmin_env_vars[@]}"; do
|
||||
|
|
@ -80,6 +85,12 @@ export DATABASE_SSL_CA="${DATABASE_SSL_CA:-}"
|
|||
export DATABASE_SSL_CA_PATH="${DATABASE_SSL_CA_PATH:-}"
|
||||
export DATABASE_SSL_CIPHERS="${DATABASE_SSL_CIPHERS:-}"
|
||||
export DATABASE_SSL_VERIFY="${DATABASE_SSL_VERIFY:-yes}"
|
||||
export CONFIGURATION_STORAGE_ENABLE="${CONFIGURATION_STORAGE_ENABLE:-no}"
|
||||
export CONFIGURATION_STORAGE_DATABASE_CONTROLHOST="${CONFIGURATION_STORAGE_DATABASE_CONTROLHOST:-mariadb}"
|
||||
export CONFIGURATION_STORAGE_DATABASE_CONTROLPORT="${CONFIGURATION_STORAGE_DATABASE_CONTROLPORT:-3306}"
|
||||
export CONFIGURATION_STORAGE_DATABASE_CONTROLUSER="${CONFIGURATION_STORAGE_DATABASE_CONTROLUSER:-pma}"
|
||||
export CONFIGURATION_STORAGE_DATABASE_CONTROLPASS="${CONFIGURATION_STORAGE_DATABASE_CONTROLPASS:-}"
|
||||
export CONFIGURATION_STORAGE_DATABASE_PMADB="${CONFIGURATION_STORAGE_DATABASE_PMADB:-phpmyadmin}"
|
||||
|
||||
# PHP configuration defaults
|
||||
export PHP_DEFAULT_UPLOAD_MAX_FILESIZE="80M" # only used at build time
|
||||
|
|
|
|||
|
|
@ -187,6 +187,14 @@ The phpMyAdmin instance can be customized by specifying environment variables on
|
|||
- `DATABASE_SSL_CA_PATH`: Directory containing trusted SSL CA certificates in PEM format.
|
||||
- `DATABASE_SSL_CIPHERS`: List of allowable ciphers for connections when using SSL.
|
||||
- `DATABASE_SSL_VERIFY`: Enable SSL certificate validation. Default: **yes**
|
||||
- `CONFIGURATION_STORAGE_ENABLE`: Enable phpMyAdmin configuration storage. Default: **no**
|
||||
- `CONFIGURATION_STORAGE_DATABASE_CONTROLUSER`: phpMyAdmin configuration storage user. Default: **pma**
|
||||
- `CONFIGURATION_STORAGE_DATABASE_CONTROLPASS`: phpMyAdmin configuration storage password.
|
||||
- `CONFIGURATION_STORAGE_DATABASE_CONTROLHOST`: phpMyAdmin configuration storage server hostname. Default: **mariadb**
|
||||
- `CONFIGURATION_STORAGE_DATABASE_CONTROLPORT`: phpMyAdmin configuration storage server port. Default: **3306**
|
||||
- `CONFIGURATION_STORAGE_DATABASE_PMADB`: phpMyAdmin configuration storage database name. Default: **phpmyadmin**
|
||||
|
||||
`CONFIGURATION_STORAGE_DATABASE_*` values are used only if `CONFIGURATION_STORAGE_ENABLE` is set to **yes**.
|
||||
|
||||
#### PHP configuration
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue