| @@ -60,7 +60,7 @@ fi | |||
| function check_result { | |||
| if [ $1 != 0 ]; then | |||
| echo "Error: $2"; | |||
| echo "Error $1: $2"; | |||
| exit 1; | |||
| fi | |||
| } | |||
| @@ -70,30 +70,30 @@ function check_result { | |||
| sleep 60 # to avoid hitting it while the first start for setting root pwd | |||
| R=111 | |||
| while [ $R -eq 111 ]; do | |||
| mysql -u root -p${MARIADB_ROOT_PASSWORD} -h ${DB_HOST} -e "SHOW DATABASES" 2> /dev/null; | |||
| mysql --skip-ssl -u root -p${MARIADB_ROOT_PASSWORD} -h ${DB_HOST} -e "SHOW DATABASES" 2> /dev/null; | |||
| R=$?; | |||
| done | |||
| # check if DB exists | |||
| DB_EXISTS=$(mysql -u root -p${MARIADB_ROOT_PASSWORD} -h ${DB_HOST} -e "SHOW DATABASES" 2> /dev/null | grep ${NEXTCLOUD_DB_NAME}) | |||
| DB_EXISTS=$(mysql --skip-ssl -u root -p${MARIADB_ROOT_PASSWORD} -h ${DB_HOST} -e "SHOW DATABASES" 2> /dev/null | grep ${NEXTCLOUD_DB_NAME}) | |||
| echo "DB exists: ${DB_EXISTS}" | |||
| if [ -z "${DB_EXISTS}" ]; then | |||
| echo "Creating Database" | |||
| #mysql -u root -p${MARIADB_ROOT_PASSWORD} -h ${DB_HOST} -e "DROP DATABASE IF EXISTS ${NEXTCLOUD_DB_NAME};" | |||
| #mysql --skip-ssl -u root -p${MARIADB_ROOT_PASSWORD} -h ${DB_HOST} -e "DROP DATABASE IF EXISTS ${NEXTCLOUD_DB_NAME};" | |||
| #check_result $? "Dropping DB" | |||
| mysql -u root -p${MARIADB_ROOT_PASSWORD} -h ${DB_HOST} -e "CREATE DATABASE ${NEXTCLOUD_DB_NAME};" | |||
| mysql --skip-ssl -u root -p${MARIADB_ROOT_PASSWORD} -h ${DB_HOST} -e "CREATE DATABASE ${NEXTCLOUD_DB_NAME};" | |||
| check_result $? "Creating DB" | |||
| fi | |||
| echo "Creating User" | |||
| # 'IF EXISTS' for DROP USER is available from MariaDB 10.1.3 only | |||
| mysql -u root -p${MARIADB_ROOT_PASSWORD} -h ${DB_HOST} -e "DROP USER ${NEXTCLOUD_DB_USER};" || echo "It seems it didn't exist" | |||
| mysql -u root -p${MARIADB_ROOT_PASSWORD} -h ${DB_HOST} -e "CREATE USER ${NEXTCLOUD_DB_USER} IDENTIFIED BY '${NEXTCLOUD_DB_PWD}';" | |||
| mysql --skip-ssl -u root -p${MARIADB_ROOT_PASSWORD} -h ${DB_HOST} -e "DROP USER ${NEXTCLOUD_DB_USER};" || echo "It seems it didn't exist" | |||
| mysql --skip-ssl -u root -p${MARIADB_ROOT_PASSWORD} -h ${DB_HOST} -e "CREATE USER ${NEXTCLOUD_DB_USER} IDENTIFIED BY '${NEXTCLOUD_DB_PWD}';" | |||
| check_result $? "Creating User" | |||
| mysql -u root -p${MARIADB_ROOT_PASSWORD} -h ${DB_HOST} -e "GRANT ALL ON ${NEXTCLOUD_DB_NAME}.* TO ${NEXTCLOUD_DB_USER};" | |||
| mysql --skip-ssl -u root -p${MARIADB_ROOT_PASSWORD} -h ${DB_HOST} -e "GRANT ALL ON ${NEXTCLOUD_DB_NAME}.* TO ${NEXTCLOUD_DB_USER};" | |||
| check_result $? "Granting permissions" | |||
| mysql -u root -p${MARIADB_ROOT_PASSWORD} -h ${DB_HOST} -e "FLUSH PRIVILEGES;" | |||
| mysql --skip-ssl -u root -p${MARIADB_ROOT_PASSWORD} -h ${DB_HOST} -e "FLUSH PRIVILEGES;" | |||
| check_result $? "Flushing privileges" | |||
| unset MARIADB_ROOT_PASSWORD | |||
| @@ -101,15 +101,17 @@ unset MARIADB_ROOT_PASSWORD | |||
| # DB Backup | |||
| if [ ! -z "${DB_EXISTS}" -a ! -z "${NEXTCLOUD_DB_BACKUP}" -a -f "${NEXTCLOUD_DB_BACKUP}" ]; then | |||
| echo "Restoring DB Backup..." | |||
| mysql -u ${NEXTCLOUD_DB_USER} -p${NEXTCLOUD_DB_PWD} -D ${NEXTCLOUD_DB_NAME} -h ${DB_HOST} < ${NEXTCLOUD_DB_BACKUP}; | |||
| mysql --skip-ssl -u ${NEXTCLOUD_DB_USER} -p${NEXTCLOUD_DB_PWD} -D ${NEXTCLOUD_DB_NAME} -h ${DB_HOST} < ${NEXTCLOUD_DB_BACKUP}; | |||
| check_result $? "Restoring DB" | |||
| # empty oc_users table | |||
| # TODO: explain why | |||
| echo "Removing users" | |||
| mysql --skip-ssl -u ${NEXTCLOUD_DB_USER} -p${NEXTCLOUD_DB_PWD} -D ${NEXTCLOUD_DB_NAME} -h ${DB_HOST} -e "TRUNCATE TABLE oc_users;" || echo "Truncate oc_users failed"; | |||
| # check_result $? "Truncating Users table" | |||
| mysql --skip-ssl -u ${NEXTCLOUD_DB_USER} -p${NEXTCLOUD_DB_PWD} -D ${NEXTCLOUD_DB_NAME} -h ${DB_HOST} -e "TRUNCATE TABLE oc_ldap_user_mapping;" || echo "Truncate oc_ldap_user_mapping failed"; | |||
| #check_result $? "Truncating LDAP Users mapping table" | |||
| fi | |||
| # empty oc_users table | |||
| echo "Removing users" | |||
| mysql -u ${NEXTCLOUD_DB_USER} -p${NEXTCLOUD_DB_PWD} -D ${NEXTCLOUD_DB_NAME} -h ${DB_HOST} -e "TRUNCATE TABLE oc_users;"; | |||
| check_result $? "Truncating Users table" | |||
| mysql -u ${NEXTCLOUD_DB_USER} -p${NEXTCLOUD_DB_PWD} -D ${NEXTCLOUD_DB_NAME} -h ${DB_HOST} -e "TRUNCATE TABLE oc_ldap_user_mapping;"; | |||
| check_result $? "Truncating LDAP Users mapping table" | |||
| # ### Nextcloud config file ### | |||