| # check if DB exists | # check if DB exists | ||||
| DB_EXISTS=$(mysql -u root -p${MYSQL_ROOT_PWD} -h ${DB_HOST} -e "SHOW DATABASES" 2> /dev/null | grep ${NEXTCLOUD_DB_NAME}) | DB_EXISTS=$(mysql -u root -p${MYSQL_ROOT_PWD} -h ${DB_HOST} -e "SHOW DATABASES" 2> /dev/null | grep ${NEXTCLOUD_DB_NAME}) | ||||
| echo DB exists: ${DB_EXISTS} | |||||
| echo "DB exists: ${DB_EXISTS}" | |||||
| if [ -z "${DB_EXISTS}" ]; then | if [ -z "${DB_EXISTS}" ]; then | ||||
| echo Creating Database | |||||
| echo "Creating Database" | |||||
| #mysql -u root -p${MYSQL_ROOT_PWD} -h ${DB_HOST} -e "DROP DATABASE IF EXISTS ${NEXTCLOUD_DB_NAME};" | #mysql -u root -p${MYSQL_ROOT_PWD} -h ${DB_HOST} -e "DROP DATABASE IF EXISTS ${NEXTCLOUD_DB_NAME};" | ||||
| #check_result $? "Dropping DB" | #check_result $? "Dropping DB" | ||||
| mysql -u root -p${MYSQL_ROOT_PWD} -h ${DB_HOST} -e "CREATE DATABASE ${NEXTCLOUD_DB_NAME};" | mysql -u root -p${MYSQL_ROOT_PWD} -h ${DB_HOST} -e "CREATE DATABASE ${NEXTCLOUD_DB_NAME};" | ||||
| check_result $? "Creating DB" | check_result $? "Creating DB" | ||||
| fi | fi | ||||
| echo Creating User | |||||
| echo "Creating User" | |||||
| # 'IF EXISTS' for DROP USER is available from MariaDB 10.1.3 only | # 'IF EXISTS' for DROP USER is available from MariaDB 10.1.3 only | ||||
| mysql -u root -p${MYSQL_ROOT_PWD} -h ${DB_HOST} -e "DROP USER ${NEXTCLOUD_DB_USER};" || echo "It seems it didn't exist" | mysql -u root -p${MYSQL_ROOT_PWD} -h ${DB_HOST} -e "DROP USER ${NEXTCLOUD_DB_USER};" || echo "It seems it didn't exist" | ||||
| mysql -u root -p${MYSQL_ROOT_PWD} -h ${DB_HOST} -e "CREATE USER ${NEXTCLOUD_DB_USER} IDENTIFIED BY '${NEXTCLOUD_DB_PWD}';" | mysql -u root -p${MYSQL_ROOT_PWD} -h ${DB_HOST} -e "CREATE USER ${NEXTCLOUD_DB_USER} IDENTIFIED BY '${NEXTCLOUD_DB_PWD}';" | ||||
| # DB Backup | # DB Backup | ||||
| if [ ! -z "${DB_EXISTS}" -a ! -z "${NEXTCLOUD_DB_BACKUP}" -a -f "${NEXTCLOUD_DB_BACKUP}" ]; then | if [ ! -z "${DB_EXISTS}" -a ! -z "${NEXTCLOUD_DB_BACKUP}" -a -f "${NEXTCLOUD_DB_BACKUP}" ]; then | ||||
| echo Restoring DB Backup... | |||||
| echo "Restoring DB Backup..." | |||||
| mysql -u ${NEXTCLOUD_DB_USER} -p${NEXTCLOUD_DB_PWD} -D ${NEXTCLOUD_DB_NAME} -h ${DB_HOST} < ${NEXTCLOUD_DB_BACKUP}; | mysql -u ${NEXTCLOUD_DB_USER} -p${NEXTCLOUD_DB_PWD} -D ${NEXTCLOUD_DB_NAME} -h ${DB_HOST} < ${NEXTCLOUD_DB_BACKUP}; | ||||
| check_result $? "Restoring DB" | check_result $? "Restoring DB" | ||||
| fi | fi | ||||
| echo "Configuring Nextcloud" | echo "Configuring Nextcloud" | ||||
| cd /var/www/nextcloud | cd /var/www/nextcloud | ||||
| # https://github.com/nextcloud/server/pull/18130#issuecomment-604518403 | |||||
| sudo -u www-data rm -Rf /srv/nextcloud/data/admin | |||||
| sudo -u www-data php occ maintenance:install --database "mysql" --database-host ${DB_HOST} --database-name ${NEXTCLOUD_DB_NAME} --database-user ${NEXTCLOUD_DB_USER} --database-pass ${NEXTCLOUD_DB_PWD} --admin-user "admin" --admin-pass ${NEXTCLOUD_ADMIN_PWD} --data-dir ${NEXTCLOUD_DATA_PATH} | sudo -u www-data php occ maintenance:install --database "mysql" --database-host ${DB_HOST} --database-name ${NEXTCLOUD_DB_NAME} --database-user ${NEXTCLOUD_DB_USER} --database-pass ${NEXTCLOUD_DB_PWD} --admin-user "admin" --admin-pass ${NEXTCLOUD_ADMIN_PWD} --data-dir ${NEXTCLOUD_DATA_PATH} | ||||
| check_result $? "Initializing Config" | check_result $? "Initializing Config" | ||||
| # Password salt and secret are used by Passman and must remain the same after | # Password salt and secret are used by Passman and must remain the same after | ||||
| sudo -u www-data php occ config:system:set trusted_domains ${index} --value ${domain} | sudo -u www-data php occ config:system:set trusted_domains ${index} --value ${domain} | ||||
| index=$((${index}+1)) | index=$((${index}+1)) | ||||
| done; | done; | ||||
| # Already in manitenance:install command: | |||||
| # Already in maintenance:install command: | |||||
| #sudo -u www-data php occ config:system:set datadirectory ${NEXTCLOUD_DATA_PATH} | #sudo -u www-data php occ config:system:set datadirectory ${NEXTCLOUD_DATA_PATH} | ||||
| #sudo -u www-data php occ config:system:set dbtype --value mysql | #sudo -u www-data php occ config:system:set dbtype --value mysql | ||||
| #sudo -u www-data php occ config:system:set dbhost --value ${DB_HOST} | #sudo -u www-data php occ config:system:set dbhost --value ${DB_HOST} |