mirror of
https://github.com/YunoHost-Apps/nextcloud_ynh.git
synced 2024-09-03 19:55:57 +02:00
Merge branch 'testing' into v2
This commit is contained in:
commit
a454fb36ba
8 changed files with 128 additions and 4 deletions
|
@ -30,7 +30,7 @@ this package:
|
||||||
* Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal
|
* Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal
|
||||||
|
|
||||||
|
|
||||||
**Shipped version:** 25.0.3~ynh3
|
**Shipped version:** 25.0.4~ynh2
|
||||||
|
|
||||||
**Demo:** https://demo.nextcloud.com/
|
**Demo:** https://demo.nextcloud.com/
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ En plus des fonctionnalités principales de Nextcloud, les fonctionnalités suiv
|
||||||
* Utilise l'adresse `/.well-known` pour la synchronisation CalDAV et CardDAV du domaine si aucun autre service ne l'utilise déjà - par exemple, Baïkal
|
* Utilise l'adresse `/.well-known` pour la synchronisation CalDAV et CardDAV du domaine si aucun autre service ne l'utilise déjà - par exemple, Baïkal
|
||||||
|
|
||||||
|
|
||||||
**Version incluse :** 25.0.3~ynh3
|
**Version incluse :** 25.0.4~ynh2
|
||||||
|
|
||||||
**Démo :** https://demo.nextcloud.com/
|
**Démo :** https://demo.nextcloud.com/
|
||||||
|
|
||||||
|
|
36
scripts/_ynh_mysql_connect_as.sh
Normal file
36
scripts/_ynh_mysql_connect_as.sh
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Open a connection as a user
|
||||||
|
#
|
||||||
|
# example: ynh_mysql_connect_as --user="user" --password="pass" <<< "UPDATE ...;"
|
||||||
|
# example: ynh_mysql_connect_as --user="user" --password="pass" --default_character_set="utf8mb4" < /path/to/file.sql
|
||||||
|
#
|
||||||
|
# usage: ynh_mysql_connect_as --user=user --password=password [--database=database] [--default_character_set=character-set]
|
||||||
|
# | arg: -u, --user= - the user name to connect as
|
||||||
|
# | arg: -p, --password= - the user password
|
||||||
|
# | arg: -d, --database= - the database to connect to
|
||||||
|
# | arg: -c, --default_character_set= - the charset to use
|
||||||
|
#
|
||||||
|
# Requires YunoHost version 2.2.4 or higher.
|
||||||
|
ynh_mysql_connect_as() {
|
||||||
|
# Declare an array to define the options of this helper.
|
||||||
|
local legacy_args=updc
|
||||||
|
local -A args_array=( [u]=user= [p]=password= [d]=database= [c]=default_character_set= )
|
||||||
|
local user
|
||||||
|
local password
|
||||||
|
local database
|
||||||
|
local default_character_set
|
||||||
|
# Manage arguments with getopts
|
||||||
|
ynh_handle_getopts_args "$@"
|
||||||
|
database="${database:-}"
|
||||||
|
default_character_set="${default_character_set:-}"
|
||||||
|
|
||||||
|
if [ -n "$default_character_set" ]
|
||||||
|
then
|
||||||
|
default_character_set="--default-character-set=$default_character_set"
|
||||||
|
else
|
||||||
|
default_character_set="--default-character-set=latin1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mysql --user="$user" --password="$password" "$default_character_set" --batch "$database"
|
||||||
|
}
|
37
scripts/_ynh_mysql_dump_db.sh
Normal file
37
scripts/_ynh_mysql_dump_db.sh
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Dump a database
|
||||||
|
#
|
||||||
|
# example: ynh_mysql_dump_db --database=roundcube --default_character_set="utf8mb4" > ./dump.sql
|
||||||
|
#
|
||||||
|
# usage: ynh_mysql_dump_db --database=database
|
||||||
|
# | arg: -d, --database= - the database name to dump
|
||||||
|
# | arg: -c, --default_character_set= - the charset to use
|
||||||
|
# | ret: the mysqldump output
|
||||||
|
#
|
||||||
|
# Requires YunoHost version 2.2.4 or higher.
|
||||||
|
ynh_mysql_dump_db() {
|
||||||
|
# Declare an array to define the options of this helper.
|
||||||
|
local legacy_args=dc
|
||||||
|
local -A args_array=( [d]=database= [c]=default_character_set= )
|
||||||
|
local database
|
||||||
|
local default_character_set
|
||||||
|
# Manage arguments with getopts
|
||||||
|
ynh_handle_getopts_args "$@"
|
||||||
|
default_character_set="${default_character_set:-}"
|
||||||
|
MYSQL_ROOT_PWD_FILE=/etc/yunohost/mysql
|
||||||
|
|
||||||
|
if [ -n "$default_character_set" ]
|
||||||
|
then
|
||||||
|
default_character_set="--default-character-set=$default_character_set"
|
||||||
|
else
|
||||||
|
# By default, default character set is "latin1"
|
||||||
|
default_character_set="--default-character-set=latin1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$MYSQL_ROOT_PWD_FILE" ]; then
|
||||||
|
mysqldump --user="root" --password="$(cat $MYSQL_ROOT_PWD_FILE)" --single-transaction --skip-dump-date "$default_character_set" "$database"
|
||||||
|
else
|
||||||
|
mysqldump --single-transaction --skip-dump-date "$default_character_set" "$database"
|
||||||
|
fi
|
||||||
|
}
|
|
@ -8,6 +8,7 @@
|
||||||
|
|
||||||
source ../settings/scripts/_common.sh
|
source ../settings/scripts/_common.sh
|
||||||
source /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
source ../settings/scripts/_ynh_mysql_dump_db.sh
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# DECLARE DATA AND CONF FILES TO BACKUP
|
# DECLARE DATA AND CONF FILES TO BACKUP
|
||||||
|
@ -38,6 +39,15 @@ ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||||
|
|
||||||
ynh_backup --src_path="/etc/php/$phpversion/fpm/pool.d/$app.conf"
|
ynh_backup --src_path="/etc/php/$phpversion/fpm/pool.d/$app.conf"
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# BACKUP THE MYSQL DATABASE
|
||||||
|
#=================================================
|
||||||
|
ynh_print_info --message="Backing up the MySQL database..."
|
||||||
|
|
||||||
|
ynh_mysql_dump_db --database="$db_name" --default_character_set="utf8mb4" > db.sql
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# SPECIFIC BACKUP
|
||||||
#=================================================
|
#=================================================
|
||||||
# BACKUP LOGROTATE
|
# BACKUP LOGROTATE
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
|
|
||||||
source _common.sh
|
source _common.sh
|
||||||
source /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
source _ynh_mysql_connect_as.sh
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# STORE SETTINGS FROM MANIFEST
|
# STORE SETTINGS FROM MANIFEST
|
||||||
|
@ -16,6 +17,28 @@ source /usr/share/yunohost/helpers
|
||||||
maintenance_mode=0
|
maintenance_mode=0
|
||||||
ynh_app_setting_set --app=$app --key=maintenance_mode --value=$maintenance_mode
|
ynh_app_setting_set --app=$app --key=maintenance_mode --value=$maintenance_mode
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# STANDARD MODIFICATIONS
|
||||||
|
#=================================================
|
||||||
|
# INSTALL DEPENDENCIES
|
||||||
|
#=================================================
|
||||||
|
ynh_script_progression --message="Installing dependencies..." --weight=10
|
||||||
|
|
||||||
|
ynh_install_app_dependencies $pkg_dependencies
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# CREATE A MYSQL DATABASE
|
||||||
|
#=================================================
|
||||||
|
ynh_script_progression --message="Creating a MySQL database..." --weight=2
|
||||||
|
|
||||||
|
db_name=$(ynh_sanitize_dbid --db_name=$app)
|
||||||
|
db_user=$db_name
|
||||||
|
ynh_app_setting_set --app=$app --key=db_name --value=$db_name
|
||||||
|
ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name
|
||||||
|
|
||||||
|
ynh_mysql_connect_as --user=$db_user --password="$db_pwd" --database=$db_name \
|
||||||
|
<<< "ALTER DATABASE $db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -103,6 +126,9 @@ exec_occ maintenance:install \
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Configuring Nextcloud..." --weight=8
|
ynh_script_progression --message="Configuring Nextcloud..." --weight=8
|
||||||
|
|
||||||
|
# Set the mysql.utf8mb4 config to true in config.php
|
||||||
|
exec_occ config:system:set mysql.utf8mb4 --type boolean --value="true"
|
||||||
|
|
||||||
# Ensure that UpdateNotification app is disabled
|
# Ensure that UpdateNotification app is disabled
|
||||||
exec_occ app:disable updatenotification
|
exec_occ app:disable updatenotification
|
||||||
|
|
||||||
|
@ -188,7 +214,7 @@ exec_occ config:system:set overwrite.cli.url --value="https://${domain}"
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
# Set the user as admin
|
# Set the user as admin
|
||||||
ynh_mysql_connect_as --user=$db_user --password="$db_pwd" --database=$db_name \
|
ynh_mysql_connect_as --user=$db_name --password="$db_pwd" --database=$db_name --default_character_set="utf8mb4" \
|
||||||
<<< "INSERT INTO oc_group_user VALUES ('admin','$admin');"
|
<<< "INSERT INTO oc_group_user VALUES ('admin','$admin');"
|
||||||
# And delete admin user
|
# And delete admin user
|
||||||
exec_occ user:delete admin
|
exec_occ user:delete admin
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
|
|
||||||
source ../settings/scripts/_common.sh
|
source ../settings/scripts/_common.sh
|
||||||
source /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
source ../settings/scripts/_ynh_mysql_connect_as.sh
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# LOAD SETTINGS
|
# LOAD SETTINGS
|
||||||
|
@ -31,7 +32,12 @@ ynh_restore_file --origin_path="$install_dir"
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Restoring the MySQL database..." --weight=9
|
ynh_script_progression --message="Restoring the MySQL database..." --weight=9
|
||||||
|
|
||||||
ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql
|
db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd)
|
||||||
|
ynh_mysql_setup_db --db_user=$db_name --db_name=$db_name --db_pwd=$db_pwd
|
||||||
|
ynh_mysql_connect_as --user=$db_name --password="$db_pwd" --database=$db_name \
|
||||||
|
<<< "ALTER DATABASE $db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||||
|
|
||||||
|
ynh_mysql_connect_as --user=$db_name --password=$db_pwd --database=$db_name --default_character_set="utf8mb4" < ./db.sql
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# RESTORE THE PHP-FPM CONFIGURATION
|
# RESTORE THE PHP-FPM CONFIGURATION
|
||||||
|
|
|
@ -168,6 +168,15 @@ then
|
||||||
# Print the current version number of Nextcloud
|
# Print the current version number of Nextcloud
|
||||||
exec_occ -V
|
exec_occ -V
|
||||||
|
|
||||||
|
if [ "$(exec_occ config:system:get mysql.utf8mb4)" != "true" ]; then
|
||||||
|
db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd)
|
||||||
|
# Change your databases character set and collation
|
||||||
|
ynh_mysql_connect_as --user=$db_user --password="$db_pwd" --database=$db_name \
|
||||||
|
<<< "ALTER DATABASE $db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||||
|
# Set the mysql.utf8mb4 config to true in config.php
|
||||||
|
exec_occ config:system:set mysql.utf8mb4 --type boolean --value="true"
|
||||||
|
exec_occ maintenance:repair
|
||||||
|
fi
|
||||||
|
|
||||||
# Upgrade may fail if this app is enabled
|
# Upgrade may fail if this app is enabled
|
||||||
# Take all apps enabled, and check if mail is one of them
|
# Take all apps enabled, and check if mail is one of them
|
||||||
|
|
Loading…
Add table
Reference in a new issue