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