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