mirror of
https://github.com/YunoHost-Apps/sogo_ynh.git
synced 2024-09-03 20:26:07 +02:00
Add message and use getops for helper's args
This commit is contained in:
parent
33ff5e69b8
commit
6127c7635b
10 changed files with 157 additions and 106 deletions
|
@ -62,9 +62,8 @@ LDAP and HTTP auth are supported.
|
|||
|
||||
### Supported architectures
|
||||
|
||||
* x86-64b - [![Build Status](https://ci-apps.yunohost.org/ci/logs/sogo%20(Community).svg)](https://ci-apps.yunohost.org/ci/apps/sogo/)
|
||||
* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/sogo%20(Community).svg)](https://ci-apps-arm.yunohost.org/ci/apps/sogo/)
|
||||
* Jessie x86-64b - [![Build Status](https://ci-stretch.nohost.me/jenkins/job/sogo%20(Community).svg)](https://ci-stretch.nohost.me/jenkins/job/sogo/)
|
||||
* x86-64b - [![Build Status](https://ci-apps.yunohost.org/ci/logs/sog%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/sogo/)
|
||||
* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/sogo%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/sogo/)
|
||||
|
||||
<!--Limitations
|
||||
------------
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
"mysql"
|
||||
],
|
||||
"requirements": {
|
||||
"yunohost": ">= 2.7.14"
|
||||
"yunohost": ">= 3.5.2.2"
|
||||
},
|
||||
"arguments": {
|
||||
"install" : [
|
||||
|
@ -53,6 +53,10 @@
|
|||
"en": "Is it a public site ? To be able to use caldav and cardav you need to set as public.",
|
||||
"fr": "Est-ce un site public ? Pour pouvoir utiliser caldav et cardav vous devz mettre en public."
|
||||
},
|
||||
"help": {
|
||||
"en": "If it's not public, everybody which want to access to any page of SOGo need to be authenticated on the SSO. On the public mode anybody can access to the authentication page. The shared calendar will be also accessible by anybody who has this link",
|
||||
"fr": "Si n'est pas publique, n'importe qui veux accéder à n'importe quelle page de SOGo doit être authentifié dans le SSO. Dans le mode publique n'importe qui peut accéder à la page d'authentification de SOGo. Les agenda partagé seront aussi accessible par n'import qui qui à ce liens."
|
||||
},
|
||||
"default": true
|
||||
}
|
||||
]
|
||||
|
|
|
@ -18,37 +18,37 @@ config_sogo() {
|
|||
# Avoid if the directory don't exist
|
||||
mkdir -p /etc/$app
|
||||
|
||||
ynh_backup_if_checksum_is_different /etc/$app/sogo.conf
|
||||
ynh_backup_if_checksum_is_different --file /etc/$app/sogo.conf
|
||||
cp ../conf/sogo.conf /etc/$app/sogo.conf
|
||||
|
||||
ynh_replace_string "__APP__" "$app" /etc/$app/sogo.conf
|
||||
ynh_replace_string "__ADMINUSER__" "$admin" /etc/$app/sogo.conf
|
||||
ynh_replace_string "__DBUSER__" "$db_user" /etc/$app/sogo.conf
|
||||
ynh_replace_string "__DBPASS__" "$db_pwd" /etc/$app/sogo.conf
|
||||
ynh_replace_string "__PORT__" "$port" /etc/$app/sogo.conf
|
||||
ynh_replace_string "__SMTP_PORT__" "$smtp_port" /etc/$app/sogo.conf
|
||||
ynh_replace_string --match_string __APP__ --replace_string $app --target_file /etc/$app/sogo.conf
|
||||
ynh_replace_string --match_string __ADMINUSER__ --replace_string $admin --target_file /etc/$app/sogo.conf
|
||||
ynh_replace_string --match_string __DBUSER__ --replace_string $db_user --target_file /etc/$app/sogo.conf
|
||||
ynh_replace_string --match_string __DBPASS__ --replace_string $db_pwd --target_file /etc/$app/sogo.conf
|
||||
ynh_replace_string --match_string __PORT__ --replace_string $port --target_file /etc/$app/sogo.conf
|
||||
ynh_replace_string --match_string __SMTP_PORT__ --replace_string $smtp_port --target_file /etc/$app/sogo.conf
|
||||
|
||||
ynh_store_file_checksum /etc/$app/sogo.conf
|
||||
ynh_store_file_checksum --file /etc/$app/sogo.conf
|
||||
}
|
||||
|
||||
config_stunnel() {
|
||||
ynh_backup_if_checksum_is_different /etc/stunnel/$app.conf
|
||||
ynh_backup_if_checksum_is_different --file /etc/stunnel/$app.conf
|
||||
cp ../conf/stunnel.conf /etc/stunnel/$app.conf
|
||||
|
||||
ynh_replace_string "__SMTP_PORT__" "$smtp_port" /etc/stunnel/$app.conf
|
||||
ynh_replace_string --match_string __SMTP_PORT__ --replace_string $smtp_port --target_file /etc/stunnel/$app.conf
|
||||
|
||||
ynh_store_file_checksum /etc/stunnel/$app.conf
|
||||
ynh_store_file_checksum --file /etc/stunnel/$app.conf
|
||||
|
||||
# Enable stunnel at startup
|
||||
ynh_replace_string "ENABLED=0" "ENABLED=1" /etc/default/stunnel4
|
||||
ynh_replace_string --match_string "ENABLED=0" --replace_string "ENABLED=1" --target_file /etc/default/stunnel4
|
||||
}
|
||||
|
||||
config_cron() {
|
||||
ynh_backup_if_checksum_is_different /etc/cron.d/$app
|
||||
ynh_backup_if_checksum_is_different --file /etc/cron.d/$app
|
||||
|
||||
cp ../conf/cron /etc/cron.d/$app
|
||||
ynh_replace_string "__APP__" "$app" /etc/cron.d/$app
|
||||
ynh_store_file_checksum /etc/cron.d/$app
|
||||
ynh_replace_string --match_string __APP__ --replace_string $app --target_file /etc/cron.d/$app
|
||||
ynh_store_file_checksum --file /etc/cron.d/$app
|
||||
systemctl restart cron
|
||||
}
|
||||
|
||||
|
@ -83,7 +83,7 @@ location /.well-known/carddav {
|
|||
}
|
||||
" >> "$nginx_config_path"
|
||||
|
||||
ynh_store_file_checksum "$nginx_config_path"
|
||||
ynh_store_file_checksum --file "$nginx_config_path"
|
||||
|
||||
systemctl reload nginx
|
||||
}
|
||||
|
|
|
@ -14,27 +14,36 @@ ynh_abort_if_errors
|
|||
source ../settings/scripts/experimental_helper.sh
|
||||
source ../settings/scripts/_common.sh
|
||||
|
||||
domain=$(ynh_app_setting_get $app domain)
|
||||
db_name=$(ynh_app_setting_get $app db_name)
|
||||
ynh_script_progression --message="Loading installation settings..."
|
||||
|
||||
# retrieve useful param
|
||||
domain=$(ynh_app_setting_get --app $app --key domain)
|
||||
db_name=$(ynh_app_setting_get --app $app --key db_name)
|
||||
|
||||
#=================================================
|
||||
# STANDARD BACKUP STEPS
|
||||
#=================================================
|
||||
|
||||
ynh_script_progression --message="Backing up configuration..."
|
||||
|
||||
# BACKUP THE NGINX CONFIGURATION
|
||||
ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
ynh_backup --src_path "/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
|
||||
# Backup SOGo config
|
||||
ynh_backup "/etc/$app"
|
||||
ynh_backup --src_path "/etc/$app"
|
||||
|
||||
# Backup stunnel config
|
||||
ynh_backup "/etc/stunnel/$app.conf"
|
||||
|
||||
# Backup Logs
|
||||
ynh_backup "/var/log/$app"
|
||||
ynh_backup --src_path "/etc/stunnel/$app.conf"
|
||||
|
||||
# Backup Cron
|
||||
ynh_backup "/etc/cron.d/$app"
|
||||
ynh_backup --src_path "/etc/cron.d/$app"
|
||||
|
||||
# Backup Logs
|
||||
ynh_script_progression --message="Backing up logs"
|
||||
ynh_backup --src_path "/var/log/$app"
|
||||
|
||||
# BACKUP THE MYSQL DATABASE
|
||||
ynh_script_progression --message="Backing up database"
|
||||
ynh_mysql_dump_db "$db_name" > db.sql
|
||||
|
||||
ynh_script_progression --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." --last
|
||||
|
|
|
@ -14,36 +14,42 @@ ynh_abort_if_errors
|
|||
source ./experimental_helper.sh
|
||||
source ./_common.sh
|
||||
|
||||
ynh_script_progression --message="Loading installation settings..."
|
||||
|
||||
# RETRIEVE ARGUMENTS
|
||||
old_domain=$YNH_APP_OLD_DOMAIN
|
||||
domain=$YNH_APP_NEW_DOMAIN
|
||||
path_url=$(ynh_normalize_url_path ${YNH_APP_NEW_PATH:-'/'})
|
||||
path_url=$(ynh_normalize_url_path --path_url $YNH_APP_NEW_PATH)
|
||||
app=$YNH_APP_INSTANCE_NAME
|
||||
|
||||
port=$(ynh_app_setting_get $app web_port)
|
||||
admin=$(ynh_app_setting_get $app admin)
|
||||
final_path=$(ynh_app_setting_get $app final_path)
|
||||
port=$(ynh_app_setting_get --app $app --key web_port)
|
||||
admin=$(ynh_app_setting_get --app $app --key admin)
|
||||
final_path=$(ynh_app_setting_get --app $app --key final_path)
|
||||
|
||||
# Check if the new path stay /SOGo if not exit
|
||||
|
||||
if [[ $path_url != "/SOGo" ]]
|
||||
then
|
||||
ynh_die "You can't use an other path than '/SOGo'"
|
||||
ynh_die --message "You can't use an other path than '/SOGo'"
|
||||
fi
|
||||
|
||||
#=================================================
|
||||
# STANDARD MODIFICATIONS
|
||||
#=================================================
|
||||
|
||||
ynh_script_progression --message="Updating nginx configuration..."
|
||||
|
||||
# MODIFY URL IN NGINX CONF
|
||||
nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf
|
||||
|
||||
# Change the domain for nginx
|
||||
# Delete file checksum for the old conf file location
|
||||
ynh_delete_file_checksum "$nginx_conf_path"
|
||||
ynh_delete_file_checksum --file "$nginx_conf_path"
|
||||
mv $nginx_conf_path /etc/nginx/conf.d/$domain.d/$app.conf
|
||||
# Store file checksum for the new config file location
|
||||
ynh_store_file_checksum "/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
ynh_store_file_checksum --file "/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
|
||||
#Configure Nginx
|
||||
config_nginx
|
||||
|
||||
ynh_script_progression --message="Change of URL completed for $app" --last
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# ============= FUTURE YUNOHOST HELPER =============
|
||||
# Delete a file checksum from the app settings
|
||||
#
|
||||
# $app should be defined when calling this helper
|
||||
#
|
||||
# usage: ynh_remove_file_checksum file
|
||||
# | arg: file - The file for which the checksum will be deleted
|
||||
ynh_delete_file_checksum () {
|
||||
local checksum_setting_name=checksum_${1//[\/ ]/_} # Replace all '/' and ' ' by '_'
|
||||
ynh_app_setting_delete $app $checksum_setting_name
|
||||
}
|
|
@ -14,6 +14,8 @@ ynh_abort_if_errors
|
|||
source ./experimental_helper.sh
|
||||
source ./_common.sh
|
||||
|
||||
ynh_script_progression --message="Validating installation parameters..."
|
||||
|
||||
# RETRIEVE ARGUMENTS FROM THE MANIFEST
|
||||
domain=$YNH_APP_ARG_DOMAIN
|
||||
admin=$YNH_APP_ARG_ADMIN
|
||||
|
@ -23,35 +25,38 @@ is_public=$YNH_APP_ARG_IS_PUBLIC
|
|||
path_url="/SOGo"
|
||||
# final_path="/opt/yunohost/$app"
|
||||
|
||||
# STORE SETTINGS FROM MANIFEST
|
||||
ynh_app_setting_set $app admin $admin
|
||||
ynh_app_setting_set $app is_public $is_public
|
||||
|
||||
# Check web path availability
|
||||
ynh_webpath_available $domain $path_url || ynh_die "$domain$path_url is not available, please use an other domain or path."
|
||||
# Register (book) web path
|
||||
ynh_webpath_register $app $domain $path_url
|
||||
ynh_webpath_register --app $app --domain $domain --path_url $path_url
|
||||
|
||||
# Find a port for SOGo
|
||||
port=$(ynh_find_port 20000)
|
||||
ynh_app_setting_set $app web_port $port
|
||||
smtp_port=$(ynh_find_port $((port+1)))
|
||||
ynh_app_setting_set $app smtp_port $smtp_port
|
||||
ynh_script_progression --message="Finding available ports..."
|
||||
port=$(ynh_find_port --port 20000)
|
||||
smtp_port=$(ynh_find_port --port $((port+1)))
|
||||
|
||||
# STORE SETTINGS FROM MANIFEST
|
||||
ynh_script_progression --message="Storing installation settings..."
|
||||
ynh_app_setting_set --app $app --key admin --value $admin
|
||||
ynh_app_setting_set --app $app --key is_public --value $is_public
|
||||
ynh_app_setting_set --app $app --key smtp_port --value $smtp_port
|
||||
ynh_app_setting_set --app $app --key web_port --value $port
|
||||
|
||||
#=================================================
|
||||
# STANDARD MODIFICATIONS
|
||||
#=================================================
|
||||
|
||||
# INSTALL DEPENDENCIES
|
||||
ynh_script_progression --message="Installing dependencies..." --weight=7
|
||||
install_dependance
|
||||
|
||||
# CREATE A MYSQL DATABASE
|
||||
ynh_script_progression --message="Configuring MySQL database..."
|
||||
db_name=$(ynh_sanitize_dbid $app)
|
||||
db_user=$db_name
|
||||
ynh_app_setting_set $app db_name $db_name
|
||||
ynh_app_setting_set $app db_user $db_user
|
||||
db_pwd=$(ynh_string_random 15)
|
||||
ynh_mysql_setup_db $db_name $db_user $db_pwd
|
||||
ynh_app_setting_set --app $app --key db_name --value $db_name
|
||||
ynh_app_setting_set --app $app --key db_user --value $db_user
|
||||
ynh_mysql_setup_db --db_name $db_name --db_user $db_user
|
||||
|
||||
ynh_script_progression --message="Configuring application..." --weight=3
|
||||
|
||||
# Configure SOGO
|
||||
config_sogo
|
||||
|
@ -64,6 +69,7 @@ config_stunnel
|
|||
config_cron
|
||||
|
||||
#Configure Nginx
|
||||
ynh_script_progression --message="Configuring nginx..." --weight=1
|
||||
config_nginx
|
||||
|
||||
#=================================================
|
||||
|
@ -71,20 +77,26 @@ config_nginx
|
|||
#=================================================
|
||||
|
||||
# SECURE FILES AND DIRECTORIES
|
||||
ynh_script_progression --message="Protecting directory..."
|
||||
set_permission
|
||||
|
||||
# configure the sso
|
||||
ynh_script_progression --message="Configuring permissions..."
|
||||
if [ "$is_public" = "0" ];
|
||||
then # Retire l'accès public
|
||||
ynh_app_setting_delete $app skipped_uris
|
||||
ynh_app_setting_delete --app $app --key skipped_uris
|
||||
else
|
||||
ynh_app_setting_set $app unprotected_uris "/"
|
||||
ynh_app_setting_set --app $app --key unprotected_uris --value "/"
|
||||
fi
|
||||
python3 add_sso_conf.py
|
||||
|
||||
# SETUP LOGROTATE
|
||||
ynh_use_logrotate /var/log/$app/sogo.log --non-append
|
||||
ynh_script_progression --message="Configuring log rotation..."
|
||||
ynh_use_logrotate --logfile /var/log/$app/sogo.log --non-append
|
||||
|
||||
# Restart services
|
||||
ynh_script_progression --message="Starting sogo services..." --weight=3
|
||||
systemctl restart sogo
|
||||
systemctl restart stunnel4
|
||||
|
||||
ynh_script_progression --message="Installation of $app completed" --last
|
||||
|
|
|
@ -7,40 +7,51 @@
|
|||
# Source YunoHost helpers
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
# Stop script if errors
|
||||
set -u
|
||||
|
||||
# Import common cmd
|
||||
source ./experimental_helper.sh
|
||||
source ./_common.sh
|
||||
|
||||
ynh_script_progression --message="Loading installation settings..."
|
||||
|
||||
# Retrieve app settings
|
||||
app=$YNH_APP_INSTANCE_NAME
|
||||
|
||||
domain=$(ynh_app_setting_get $app domain)
|
||||
port=$(ynh_app_setting_get $app port)
|
||||
db_name=$(ynh_app_setting_get $app db_name)
|
||||
db_user=$(ynh_app_setting_get $app db_user)
|
||||
final_path=$(ynh_app_setting_get $app final_path)
|
||||
domain=$(ynh_app_setting_get --app $app --key domain)
|
||||
port=$(ynh_app_setting_get --app $app --key port)
|
||||
db_name=$(ynh_app_setting_get --app $app --key db_name)
|
||||
db_user=$(ynh_app_setting_get --app $app --key db_user)
|
||||
final_path=$(ynh_app_setting_get --app $app --key final_path)
|
||||
|
||||
#=================================================
|
||||
# STANDARD REMOVE
|
||||
#=================================================
|
||||
|
||||
# Remove metapackage and its dependencies
|
||||
ynh_script_progression --message="Removing dependencies" --weight=10
|
||||
ynh_remove_app_dependencies
|
||||
|
||||
# Remove a database if it exists, along with the associated user
|
||||
ynh_mysql_remove_db $db_user $db_name
|
||||
ynh_script_progression --message="Removing databases..."
|
||||
ynh_mysql_remove_db --db_user $db_user --db_name $db_name
|
||||
|
||||
# Remove the app directory securely
|
||||
ynh_secure_remove "$final_path"
|
||||
ynh_script_progression --message="Removing user data..."
|
||||
ynh_secure_remove --file="$final_path"
|
||||
|
||||
ynh_script_progression --message="Removing configuration..."
|
||||
|
||||
# Remove sogo config
|
||||
ynh_secure_remove "/etc/$app"
|
||||
ynh_secure_remove --file="/etc/$app"
|
||||
|
||||
# Remove stunnel config
|
||||
ynh_secure_remove "/etc/stunnel/$app.conf"
|
||||
ynh_secure_remove --file="/etc/stunnel/$app.conf"
|
||||
|
||||
# Remove custom SSO config
|
||||
python3 remove_sso_conf.py
|
||||
|
||||
# Remove the app-specific logrotate config
|
||||
ynh_remove_logrotate
|
||||
|
||||
ynh_script_progression --message="Removal of $app completed" --last
|
||||
|
|
|
@ -14,47 +14,57 @@ ynh_abort_if_errors
|
|||
source ../settings/scripts/experimental_helper.sh
|
||||
source ../settings/scripts/_common.sh
|
||||
|
||||
domain=$(ynh_app_setting_get $app domain)
|
||||
path_url=$(ynh_app_setting_get $app path)
|
||||
final_path=$(ynh_app_setting_get $app final_path)
|
||||
db_name=$(ynh_app_setting_get $app db_name)
|
||||
ynh_script_progression --message="Loading settings..."
|
||||
|
||||
domain=$(ynh_app_setting_get --app $app --key domain)
|
||||
path_url=$(ynh_app_setting_get --app $app --key path)
|
||||
final_path=$(ynh_app_setting_get --app $app --key final_path)
|
||||
db_name=$(ynh_app_setting_get --app $app --key db_name)
|
||||
|
||||
# CHECK IF THE APP CAN BE RESTORED
|
||||
ynh_webpath_available $domain $path_url \
|
||||
|| ynh_die "Path not available: ${domain}${path_url}"
|
||||
ynh_webpath_available --domain $domain --path_url $path_url \
|
||||
|| ynh_die --message "Path not available: ${domain}${path_url}"
|
||||
|
||||
#=================================================
|
||||
# STANDARD RESTORATION STEPS
|
||||
#=================================================
|
||||
|
||||
# Define and install dependencies
|
||||
ynh_script_progression --message="Reinstalling dependencies..." --weight=5
|
||||
install_dependance
|
||||
|
||||
# Restore all config and data
|
||||
ynh_script_progression --message="Restoring files..." --weight=10
|
||||
ynh_restore
|
||||
|
||||
# RESTORE THE MYSQL DATABASE
|
||||
db_pwd=$(ynh_app_setting_get $app mysqlpwd)
|
||||
ynh_mysql_setup_db $db_name $db_name $db_pwd
|
||||
ynh_mysql_connect_as $db_name $db_pwd $db_name < ./db.sql
|
||||
ynh_script_progression --message="Restoring database..." --weight=3
|
||||
db_user=$db_name
|
||||
db_pwd=$(ynh_app_setting_get --app $app --key mysqlpwd)
|
||||
ynh_mysql_setup_db --db_name $db_name --db_user $db_user --db_pwd $db_pwd
|
||||
ynh_mysql_connect_as --user $db_user --password $db_pwd --database $db_name < ./db.sql
|
||||
|
||||
# Enable stunnel at startup
|
||||
ynh_replace_string "ENABLED=0" "ENABLED=1" /etc/default/stunnel4
|
||||
ynh_replace_string --match_string "ENABLED=0" --replace_string "ENABLED=1" --target_file /etc/default/stunnel4
|
||||
|
||||
#=================================================
|
||||
# GENERIC FINALIZATION
|
||||
#=================================================
|
||||
|
||||
# SECURE FILES AND DIRECTORIES
|
||||
ynh_script_progression --message="Protecting directory..."
|
||||
set_permission
|
||||
|
||||
python3 ../settings/scripts/add_sso_conf.py
|
||||
|
||||
# SETUP LOGROTATE
|
||||
ynh_use_logrotate /var/log/$app/sogo.log --non-append
|
||||
ynh_use_logrotate --logfile /var/log/$app/sogo.log --non-append
|
||||
|
||||
# Restart services
|
||||
ynh_script_progression --message="Starting SOGo services..." --weight=3
|
||||
systemctl restart sogo
|
||||
systemctl restart stunnel4
|
||||
systemctl reload nginx
|
||||
systemctl restart cron
|
||||
|
||||
ynh_script_progression --message="Restoration completed for $app" --last
|
||||
|
|
|
@ -14,16 +14,18 @@ ynh_abort_if_errors
|
|||
source ./experimental_helper.sh
|
||||
source ./_common.sh
|
||||
|
||||
ynh_script_progression --message="Loading installation settings..."
|
||||
|
||||
# LOAD SETTINGS
|
||||
domain=$(ynh_app_setting_get $app domain)
|
||||
path_url=$(ynh_normalize_url_path $(ynh_app_setting_get $app path))
|
||||
admin=$(ynh_app_setting_get $app admin)
|
||||
is_public=$(ynh_app_setting_get $app is_public)
|
||||
port=$(ynh_app_setting_get $app web_port)
|
||||
smtp_port=$(ynh_app_setting_get $app smtp_port)
|
||||
db_name=$(ynh_app_setting_get $app db_name)
|
||||
db_user=$(ynh_app_setting_get $app db_user)
|
||||
db_pwd=$(ynh_app_setting_get $app mysqlpwd)
|
||||
domain=$(ynh_app_setting_get --app $app --key domain)
|
||||
path_url=$(ynh_normalize_url_path --path_url $(ynh_app_setting_get --app $app --key path))
|
||||
admin=$(ynh_app_setting_get --app $app --key admin)
|
||||
is_public=$(ynh_app_setting_get --app $app --key is_public)
|
||||
port=$(ynh_app_setting_get --app $app --key web_port)
|
||||
smtp_port=$(ynh_app_setting_get --app $app --key smtp_port)
|
||||
db_name=$(ynh_app_setting_get --app $app --key db_name)
|
||||
db_user=$(ynh_app_setting_get --app $app --key db_user)
|
||||
db_pwd=$(ynh_app_setting_get --app $app --key mysqlpwd)
|
||||
|
||||
# Backup the current version of the app
|
||||
ynh_backup_before_upgrade
|
||||
|
@ -39,35 +41,37 @@ ynh_abort_if_errors
|
|||
# UPGRADE SETTINGS FROM OLD INSTALL
|
||||
#=================================================
|
||||
|
||||
ynh_script_progression --message="Fixing old settings..." --weight=1
|
||||
|
||||
if [[ ${is_public,,*} = "yes" ]]
|
||||
then
|
||||
is_public=1
|
||||
ynh_app_setting_set $app is_public 1
|
||||
ynh_app_setting_set --app $app --key is_public --value 1
|
||||
fi
|
||||
|
||||
if [[ ${is_public,,*} = "no" ]]
|
||||
then
|
||||
is_public=0
|
||||
ynh_app_setting_set $app is_public 0
|
||||
ynh_app_setting_set --app $app --key is_public --value 0
|
||||
fi
|
||||
|
||||
if [[ -z $port ]]
|
||||
then
|
||||
# Find a port for SOGo
|
||||
port=$(ynh_find_port 20000)
|
||||
ynh_app_setting_set $app web_port $port
|
||||
port=$(ynh_find_port --port 20000)
|
||||
ynh_app_setting_set --app $app --key web_port --value $port
|
||||
fi
|
||||
|
||||
if [[ -z $db_name ]]
|
||||
then
|
||||
db_name=$app
|
||||
ynh_app_setting_set $app db_name $db_name
|
||||
ynh_app_setting_set --app $app --key db_name --value $db_name
|
||||
fi
|
||||
|
||||
if [[ -z $db_user ]]
|
||||
then
|
||||
db_user=$app
|
||||
ynh_app_setting_set $app db_user $db_user
|
||||
ynh_app_setting_set --app $app --key db_user --value $db_user
|
||||
fi
|
||||
|
||||
#=================================================
|
||||
|
@ -75,8 +79,11 @@ fi
|
|||
#=================================================
|
||||
|
||||
# INSTALL DEPENDENCIES
|
||||
ynh_script_progression --message="Upgrading dependencies..."
|
||||
install_dependance
|
||||
|
||||
ynh_script_progression --message="Configuring application..."
|
||||
|
||||
# Configure SOGO
|
||||
config_sogo
|
||||
|
||||
|
@ -94,20 +101,26 @@ config_nginx
|
|||
#=================================================
|
||||
|
||||
# SECURE FILES AND DIRECTORIES
|
||||
ynh_script_progression --message="Protecting directory..."
|
||||
set_permission
|
||||
|
||||
# configure the sso
|
||||
ynh_script_progression --message="Configuring permissions..."
|
||||
if [ "$is_public" = "0" ];
|
||||
then # Retire l'accès public
|
||||
ynh_app_setting_delete $app skipped_uris
|
||||
ynh_app_setting_delete --app $app --key skipped_uris
|
||||
else
|
||||
ynh_app_setting_set $app unprotected_uris "/"
|
||||
ynh_app_setting_set --app $app --key unprotected_uris --value "/"
|
||||
fi
|
||||
python3 add_sso_conf.py
|
||||
|
||||
# SETUP LOGROTATE
|
||||
ynh_use_logrotate /var/log/$app/sogo.log --non-append
|
||||
ynh_script_progression --message="Configuring log rotation..."
|
||||
ynh_use_logrotate --logfile /var/log/$app/sogo.log --non-append
|
||||
|
||||
# Restart services
|
||||
ynh_script_progression --message="Starting SOGo services..." --weight=3
|
||||
systemctl restart sogo
|
||||
systemctl restart stunnel4
|
||||
|
||||
ynh_script_progression --message="Upgrade of $app completed" --last
|
||||
|
|
Loading…
Reference in a new issue