#!/bin/bash #================================================= # GENERIC START #================================================= # IMPORT GENERIC HELPERS #================================================= source /usr/share/yunohost/helpers #================================================= # MANAGE SCRIPT FAILURE #================================================= # Exit if an error occurs during the execution of the script ynh_abort_if_errors #================================================= # RETRIEVE ARGUMENTS FROM THE MANIFEST #================================================= domain=$YNH_APP_ARG_DOMAIN path_url=$YNH_APP_ARG_PATH app=$YNH_APP_INSTANCE_NAME #================================================= # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS #================================================= ynh_print_info "Validating installation parameters..." # Normalize the url path syntax path_url=$(ynh_normalize_url_path $path_url) # Register (book) web path ynh_webpath_register $app $domain $path_url #================================================= # STORE SETTINGS FROM MANIFEST #================================================= ynh_print_info "Storing installation settings..." ynh_app_setting_set $app domain $domain ynh_app_setting_set $app path $path_url #================================================= # STANDARD MODIFICATIONS #================================================= # FIND AND OPEN A PORT #================================================= ynh_print_info "Looking for a free port..." # Find a free port port=$(ynh_find_port 4200) ynh_app_setting_set $app port $port #================================================= # INSTALL SHELLINABOX #================================================= ynh_print_info "Installing shellinabox..." ynh_package_update ynh_package_install shellinabox #================================================= # NGINX CONFIGURATION #================================================= ynh_print_info "Configuring nginx web server..." # Create a dedicated nginx config ynh_add_nginx_config #================================================= # SPECIFIC SETUP #================================================= # CONFIGURE SHELLINABOX #================================================= ynh_print_info "Configuring shellinabox..." cp ../conf/shellinabox /etc/default/shellinabox ynh_replace_string "__PORT__" "$port" "/etc/default/shellinabox" # Allow the service to log in syslog ynh_replace_string " -- -q --background" " -- --background" "/etc/init.d/shellinabox" systemctl daemon-reload systemctl restart shellinabox #================================================= # STORE THE CHECKSUM OF THE CONFIG FILE #================================================= # Calculate and store the config file checksum into the app settings ynh_store_file_checksum "/etc/default/shellinabox" #================================================= # GENERIC FINALIZATION #================================================= # ADVERTISE SERVICE IN ADMIN PANEL #================================================= yunohost service add $app #================================================= # RELOAD NGINX #================================================= ynh_print_info "Reloading nginx web server..." systemctl reload nginx #================================================= # END OF SCRIPT #================================================= ynh_print_info "Installation of $app completed"