install_update_dovecot.sh: adjust settings og MySQL credentials.
This commit is contained in:
parent
0bfa8bc87e
commit
d46c65afa7
@ -125,6 +125,14 @@ else
|
||||
SYSTEMD_EXISTS=true
|
||||
fi
|
||||
|
||||
if [[ -f "/usr/local/mysql/sys-maint.cnf" ]] ; then
|
||||
DEFAULT_MYSQL_CREDENTIALS="--defaults-file=/usr/local/mysql/sys-maint.cnf"
|
||||
elif [[ -f "/etc/mysql/debian.cnf" ]] ; then
|
||||
DEFAULT_MYSQL_CREDENTIALS="--defaults-file=/etc/mysql/debian.cnf"
|
||||
else
|
||||
DEFAULT_MYSQL_CREDENTIALS=""
|
||||
fi
|
||||
|
||||
|
||||
echo
|
||||
echononl "\tInclude Configuration file.."
|
||||
@ -195,8 +203,8 @@ fi
|
||||
[[ -n "$dbname" ]] || dbname="postfix"
|
||||
[[ -n "$dbuser" ]] || dbuser="postfix"
|
||||
if [[ -z "$dbhost" ]] ; then
|
||||
[[ "$dbhost" = "mysql" ]] && dbhost="127.0.0.1"
|
||||
[[ "$dbhost" = "postgres" ]] && dbhost="/run/postgresql"
|
||||
[[ "$database" = "mysql" ]] && dbhost="unix:/run/mysqld/mysqld.sock"
|
||||
[[ "$database" = "postgres" ]] && dbhost="/run/postgresql"
|
||||
fi
|
||||
|
||||
[[ -n "$cert_base_dir" ]] || cert_base_dir="/etc/dovecot/ssl"
|
||||
@ -471,49 +479,93 @@ if $_new ; then
|
||||
echo ""
|
||||
echo "--"
|
||||
echo ""
|
||||
echo "Gib den Benutzernamen des/eines MySQL root user an.."
|
||||
echo "Gib MySQL credentials für den root user an.."
|
||||
echo ""
|
||||
_MYSQL_ROOT_USER=root
|
||||
MYSQL_ROOT_USER=
|
||||
while [ "X$MYSQL_ROOT_USER" = "X" ]
|
||||
do
|
||||
echononl "MySQL-User [${_MYSQL_ROOT_USER}]: "
|
||||
read MYSQL_ROOT_USER
|
||||
if [ "X$MYSQL_ROOT_USER" = "X" ]; then
|
||||
MYSQL_ROOT_USER=$_MYSQL_ROOT_USER
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
echo "Possible values could be:"
|
||||
echo " -u root -p<Passwort>"
|
||||
echo " -u root -S /run/mysqld/mysqld.sock"
|
||||
echo " --login-path=local"
|
||||
echo " --defaults-file=/usr/local/mysql/sys-maint.cnf"
|
||||
echo " --defaults-file=/etc/mysql/debian.cnf"
|
||||
echo " ..."
|
||||
echo ""
|
||||
echo -e " Type \"\033[33mNone\033[m\" if no credentials are needed for root user (MariaDB)"
|
||||
echo ""
|
||||
MYSQL_CREDENTIALS=""
|
||||
if [[ -n "${DEFAULT_MYSQL_CREDENTIALS}" ]] ; then
|
||||
while [[ -z "${MYSQL_CREDENTIALS}" ]] ; do
|
||||
echononl "MySQL credentials [${DEFAULT_MYSQL_CREDENTIALS}]: "
|
||||
read MYSQL_CREDENTIALS
|
||||
if [[ -z "${MYSQL_CREDENTIALS}" ]] ;then
|
||||
MYSQL_CREDENTIALS="${DEFAULT_MYSQL_CREDENTIALS}"
|
||||
fi
|
||||
done
|
||||
else
|
||||
while [[ -z "${MYSQL_CREDENTIALS}" ]] ; do
|
||||
echononl "MySQL credentials: "
|
||||
read MYSQL_CREDENTIALS
|
||||
if "${MYSQL_CREDENTIALS}" ]] ; then
|
||||
echo -e "\n\t\033[33m\033[1mMySQL credentials are required (or type\033[33mNone\033[m) : "
|
||||
continue
|
||||
fi
|
||||
if [[ "$(trim ${MYSQL_CREDENTIALS,,})" = 'none' ]] ; then
|
||||
MYSQL_CREDENTIALS=""
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
echo ""
|
||||
echo "--"
|
||||
echo ""
|
||||
echo "Gib ein Passwort für den root user an.."
|
||||
echo ""
|
||||
_MYSQL_ROOT_PW_1="X"
|
||||
_MYSQL_ROOT_PW_2="Y"
|
||||
while [ "$_MYSQL_ROOT_PW_1" != "$_MYSQL_ROOT_PW_2" ]
|
||||
do
|
||||
echononl "Passworteingabe: "
|
||||
read -s _MYSQL_ROOT_PW_1
|
||||
echo
|
||||
if [ "X$_MYSQL_ROOT_PW_1" = "X" ]; then
|
||||
echo -e "\n\t\033[33m\033[1mPassworteingabe erforderlich!\033[m\n"
|
||||
continue
|
||||
fi
|
||||
echononl "Passwortwiederholung: "
|
||||
read -s _MYSQL_ROOT_PW_2
|
||||
echo
|
||||
if [ "X$_MYSQL_ROOT_PW_2" = "X" ]; then
|
||||
echo -e "\n\t\033[33m\033[1mPasswortwiederholung erforderlich!\033[m\n"
|
||||
continue
|
||||
fi
|
||||
if [ "$_MYSQL_ROOT_PW_1" != "$_MYSQL_ROOT_PW_2" ];then
|
||||
echo -e "\n\t\033[33m\033[1mPassworteingaben sind nicht identisch!\033[m\n"
|
||||
else
|
||||
MYSQL_ROOT_PW=$_MYSQL_ROOT_PW_1
|
||||
fi
|
||||
done
|
||||
|
||||
# echo ""
|
||||
# echo "--"
|
||||
# echo ""
|
||||
# echo "Gib den Benutzernamen des/eines MySQL root user an.."
|
||||
# echo ""
|
||||
# _MYSQL_ROOT_USER=root
|
||||
# MYSQL_ROOT_USER=
|
||||
# while [ "X$MYSQL_ROOT_USER" = "X" ]
|
||||
# do
|
||||
# echononl "MySQL-User [${_MYSQL_ROOT_USER}]: "
|
||||
# read MYSQL_ROOT_USER
|
||||
# if [ "X$MYSQL_ROOT_USER" = "X" ]; then
|
||||
# MYSQL_ROOT_USER=$_MYSQL_ROOT_USER
|
||||
# fi
|
||||
# done
|
||||
#
|
||||
#
|
||||
# echo ""
|
||||
# echo "--"
|
||||
# echo ""
|
||||
# echo "Gib ein Passwort für den root user an.."
|
||||
# echo ""
|
||||
# _MYSQL_ROOT_PW_1="X"
|
||||
# _MYSQL_ROOT_PW_2="Y"
|
||||
# while [ "$_MYSQL_ROOT_PW_1" != "$_MYSQL_ROOT_PW_2" ]
|
||||
# do
|
||||
# echononl "Passworteingabe: "
|
||||
# read -s _MYSQL_ROOT_PW_1
|
||||
# echo
|
||||
# if [ "X$_MYSQL_ROOT_PW_1" = "X" ]; then
|
||||
# echo -e "\n\t\033[33m\033[1mPassworteingabe erforderlich!\033[m\n"
|
||||
# continue
|
||||
# fi
|
||||
# echononl "Passwortwiederholung: "
|
||||
# read -s _MYSQL_ROOT_PW_2
|
||||
# echo
|
||||
# if [ "X$_MYSQL_ROOT_PW_2" = "X" ]; then
|
||||
# echo -e "\n\t\033[33m\033[1mPasswortwiederholung erforderlich!\033[m\n"
|
||||
# continue
|
||||
# fi
|
||||
# if [ "$_MYSQL_ROOT_PW_1" != "$_MYSQL_ROOT_PW_2" ];then
|
||||
# echo -e "\n\t\033[33m\033[1mPassworteingaben sind nicht identisch!\033[m\n"
|
||||
# else
|
||||
# MYSQL_ROOT_PW=$_MYSQL_ROOT_PW_1
|
||||
# fi
|
||||
# done
|
||||
# MYSQL_CREDENTIALS="-u ${MYSQL_ROOT_USER} -p${MYSQL_ROOT_PW}"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -1184,12 +1236,12 @@ EOF
|
||||
|
||||
elif [ "$db_driver" = "mysql" ]; then
|
||||
|
||||
if ! mysql -u$MYSQL_ROOT_USER -p$MYSQL_ROOT_PW -N -s -e \
|
||||
if ! mysql ${MYSQL_CREDENTIALS} -N -s -e \
|
||||
"SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '$dbname'" 2>/dev/null \
|
||||
| grep $_db_name > /dev/null 2>&1 ; then
|
||||
|
||||
echononl "\tCreate database ${dbname}.."
|
||||
mysql -u$MYSQL_ROOT_USER -p$MYSQL_ROOT_PW -N -s -e \
|
||||
mysql ${MYSQL_CREDENTIALS} -N -s -e \
|
||||
"CREATE DATABASE IF NOT EXISTS $dbname CHARACTER SET utf8 COLLATE utf8_general_ci" > ${_log_dir}/error.log 2>&1
|
||||
|
||||
if [ "$?" = 0 ]; then
|
||||
@ -1209,7 +1261,7 @@ EOF
|
||||
fi
|
||||
|
||||
echononl "\tCreate database user ${dbuser}.."
|
||||
mysql -u$MYSQL_ROOT_USER -p$MYSQL_ROOT_PW -N -s -e \
|
||||
mysql ${MYSQL_CREDENTIALS} -N -s -e \
|
||||
"GRANT ALL ON ${dbname}.* TO '${dbuser}'@'localhost' IDENTIFIED BY '$dbpassword'" > ${_log_dir}/error.log 2>&1
|
||||
|
||||
if [ "$?" = 0 ]; then
|
||||
@ -1229,7 +1281,7 @@ EOF
|
||||
fi
|
||||
|
||||
echononl "\tFlushing database privileges.."
|
||||
mysql -u$MYSQL_ROOT_USER -p$MYSQL_ROOT_PW -N -s -e "FLUSH PRIVILEGES" > ${_log_dir}/error.log 2>&1
|
||||
mysql ${MYSQL_CREDENTIALS} -N -s -e "FLUSH PRIVILEGES" > ${_log_dir}/error.log 2>&1
|
||||
|
||||
if [ "$?" = 0 ]; then
|
||||
echo -e "$rc_done"
|
||||
|
Loading…
Reference in New Issue
Block a user