7 changed files with 339 additions and 193 deletions
-
8check_process
-
21conf/owncloud-migration.sh
-
13conf/owncloud_migration
-
45conf/owncloud_post_migration.sh
-
244scripts/_common.sh
-
117scripts/upgrade
-
84scripts/upgrade.d/owncloud.sh
@ -1,21 +0,0 @@ |
|||||
#!/bin/bash |
|
||||
|
|
||||
set -u |
|
||||
|
|
||||
app="#APP#" |
|
||||
|
|
||||
# rename hook |
|
||||
hooks_dir="/etc/yunohost/hooks.d/post_user_create" |
|
||||
[[ -f "${hooks_dir}/50-${app}" ]] \ |
|
||||
&& mv "${hooks_dir}/50-${app}" "${hooks_dir}/50-nextcloud" |
|
||||
|
|
||||
# move yunohost app settings |
|
||||
apps_dir="/etc/yunohost/apps" |
|
||||
if [[ -d "${apps_dir}/${app}" ]]; then |
|
||||
yunohost app setting "$app" id -v nextcloud |
|
||||
mv "${apps_dir}/${app}" "${apps_dir}/nextcloud" |
|
||||
yunohost app ssowatconf --quiet |
|
||||
fi |
|
||||
|
|
||||
# remove cron job |
|
||||
rm /etc/cron.d/owncloud-migration |
|
||||
@ -0,0 +1,13 @@ |
|||||
|
# File to migrate from Owncloud |
||||
|
|
||||
|
# Final path |
||||
|
/var/www/$app |
||||
|
|
||||
|
# Data directory |
||||
|
/home/yunohost.app/$app |
||||
|
|
||||
|
# Nginx config |
||||
|
/etc/nginx/conf.d/$domain.d/$app.conf |
||||
|
|
||||
|
# php-fpm config |
||||
|
/etc/php5/fpm/pool.d/$app.conf |
||||
@ -0,0 +1,45 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
# Ending the migration process from Owncloud to Nextcloud |
||||
|
|
||||
|
set -u |
||||
|
|
||||
|
#================================================= |
||||
|
# IMPORT GENERIC HELPERS |
||||
|
#================================================= |
||||
|
|
||||
|
source /usr/share/yunohost/helpers |
||||
|
|
||||
|
#================================================= |
||||
|
# SET VARIABLES |
||||
|
#================================================= |
||||
|
|
||||
|
old_app="__OLD_APP__" |
||||
|
new_app="__NEW_APP__" |
||||
|
script_name="$0" |
||||
|
|
||||
|
#================================================= |
||||
|
# MOVE HOOKS |
||||
|
#================================================= |
||||
|
|
||||
|
hooks_dir="/etc/yunohost/hooks.d/" |
||||
|
mv "$hooks_dir/post_user_create/50-$old_app" "$hooks_dir/post_user_create/50-$new_app" |
||||
|
|
||||
|
#================================================= |
||||
|
# DELETE OLD APP'S SETTINGS |
||||
|
#================================================= |
||||
|
|
||||
|
ynh_secure_remove "/etc/yunohost/apps/$old_app" |
||||
|
yunohost app ssowatconf |
||||
|
|
||||
|
#================================================= |
||||
|
# REMOVE THE OLD USER |
||||
|
#================================================= |
||||
|
|
||||
|
ynh_system_user_delete $old_app |
||||
|
|
||||
|
#================================================= |
||||
|
# DELETE THIS SCRIPT |
||||
|
#================================================= |
||||
|
|
||||
|
echo "rm $script_name" | at now + 1 minutes |
||||
@ -1,84 +0,0 @@ |
|||||
#!/bin/bash |
|
||||
|
|
||||
# Prepare the migration from owncloud to nextcloud |
|
||||
|
|
||||
#================================================= |
|
||||
# GENERIC START |
|
||||
#================================================= |
|
||||
# IMPORT GENERIC HELPERS |
|
||||
#================================================= |
|
||||
|
|
||||
source _common.sh |
|
||||
source /usr/share/yunohost/helpers |
|
||||
|
|
||||
#================================================= |
|
||||
# RETRIEVE ARGUMENTS FROM THE MANIFEST |
|
||||
#================================================= |
|
||||
|
|
||||
app=$YNH_APP_INSTANCE_NAME |
|
||||
|
|
||||
domain=$(ynh_app_setting_get $app domain) |
|
||||
oc_dbpass=$(ynh_app_setting_get $app mysqlpwd) |
|
||||
oc_dbname=$app |
|
||||
oc_dbuser=$app |
|
||||
|
|
||||
#================================================= |
|
||||
# CHECK IF THE MIGRATION CAN BE DONE |
|
||||
#================================================= |
|
||||
|
|
||||
# check that Nextcloud is not already installed |
|
||||
(yunohost app list --installed -f "$app" | grep -q id) \ |
|
||||
&& ynh_die "Nextcloud is already installed" |
|
||||
|
|
||||
echo "Migration to nextcloud." >&2 |
|
||||
|
|
||||
#================================================= |
|
||||
# REMOVE NGINX AND PHP-FPM CONFIG FILES |
|
||||
#================================================= |
|
||||
|
|
||||
ynh_remove_nginx_config |
|
||||
ynh_remove_fpm_config |
|
||||
|
|
||||
#================================================= |
|
||||
# REMOVE OLD DEPENDENCIES |
|
||||
#================================================= |
|
||||
|
|
||||
ynh_package_remove owncloud-deps || true |
|
||||
|
|
||||
#================================================= |
|
||||
# DELETE NEXTCLOUD DIRECTORIES |
|
||||
#================================================= |
|
||||
|
|
||||
# Clean new destination and data directories |
|
||||
nextcloud_path="/var/www/$migration_name" |
|
||||
nextcloud_data="/home/yunohost.app/$migration_name/data" |
|
||||
ynh_secure_remove "$nextcloud_path" |
|
||||
ynh_secure_remove "/home/yunohost.app/$migration_name" |
|
||||
|
|
||||
#================================================= |
|
||||
# RENAME OWNCLOUD DIRECTORIES |
|
||||
#================================================= |
|
||||
|
|
||||
mv "/var/www/$app" "$nextcloud_path" |
|
||||
mv "/home/yunohost.app/$app" "/home/yunohost.app/$migration_name" |
|
||||
|
|
||||
#================================================= |
|
||||
# CHANGE THE OWNCLOUD CONFIG |
|
||||
#================================================= |
|
||||
|
|
||||
oc_conf=$nextcloud_path/config/config.php |
|
||||
# Change the path of the data file inf the config |
|
||||
ynh_replace_string "^(\s*'datadirectory' =>).*," "\1 '${DATADIR}'," "$oc_conf" |
|
||||
|
|
||||
# Rename the MySQL database |
|
||||
db_name=$(ynh_sanitize_dbid $migration_name) |
|
||||
rename_mysql_db "$oc_dbname" "$oc_dbuser" "$oc_dbpass" "$db_name" "$db_name" |
|
||||
ynh_replace_string "^(\s*'dbname' =>).*," "\1 '${db_name}'," "$oc_conf" |
|
||||
ynh_replace_string "^(\s*'dbuser' =>).*," "\1 '${db_name}'," "$oc_conf" |
|
||||
|
|
||||
#================================================= |
|
||||
# RENAME OWNCLOUD USER |
|
||||
#================================================= |
|
||||
|
|
||||
groupmod -n "$migration_name" "$app" |
|
||||
usermod -l "$migration_name" "$app" |
|
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue