123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- #!/bin/bash
- # VPN Client app for YunoHost
- # Copyright (C) 2015 Julien Vaubourg <julien@vaubourg.com>
- # Contribute at https://github.com/labriqueinternet/vpnclient_ynh
- #
- # This program is free software: you can redistribute it and/or modify
- # it under the terms of the GNU Affero General Public License as published by
- # the Free Software Foundation, either version 3 of the License, or
- # (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU Affero General Public License for more details.
- #
- # You should have received a copy of the GNU Affero General Public License
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
- #=================================================
- # GENERIC START
- #=================================================
- # IMPORT GENERIC HELPERS
- #=================================================
- source /usr/share/yunohost/helpers
- source _common.sh
- #=================================================
- # MANAGE SCRIPT FAILURE
- #=================================================
- # Exit if an error occurs during the execution of the script
- ynh_abort_if_errors
- #=================================================
- # RETRIEVE ARGUMENTS FROM THE MANIFEST
- #=================================================
- # Retrieve arguments
- domain=$YNH_APP_ARG_DOMAIN
- path_url=$(ynh_normalize_url_path "$YNH_APP_ARG_PATH")
- app=$YNH_APP_INSTANCE_NAME
- final_path="/var/www/$app"
- #=================================================
- # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS
- #=================================================
- ynh_print_info "Validating installation parameters..."
- # Check destination directory
- test ! -e "$final_path" || ynh_die "Path is already in use: ${final_path}."
- # 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" final_path "$final_path"
- #=================================================
- # STANDARD MODIFICATIONS
- #=================================================
- # INSTALL DEPENDENCIES
- #=================================================
- ynh_print_info "Installing dependencies..."
- ynh_install_app_dependencies "$pkg_dependencies"
- #=================================================
- # DEPLOY FILES FROM PACKAGE
- #=================================================
- ynh_print_info "Deploy files from package..."
- vpnclient_deploy_files_and_services "${domain}" "${app}" "${service_name}"
- #=================================================
- # RELOAD SERVICES
- #=================================================
- ynh_print_info "Reloading services..."
- # Set default inits
- # The boot order of these services are important, so they are disabled by default
- # and the vpnclient service handles them.
- systemctl disable openvpn
- systemctl stop openvpn
- systemctl restart php7.0-fpm
- systemctl reload nginx
- # main service
- yunohost service add $service_name --description "Tunnels the internet traffic through a VPN" --need_lock
- yunohost service enable $service_name
- # checker service
- yunohost service add $service_checker_name --description "Makes sure that the VPN service is running" --need_lock
- yunohost service start $service_checker_name
- yunohost service enable $service_checker_name
- systemctl start $service_checker_name.timer
- systemctl enable $service_checker_name.timer
- #=================================================
- # END OF SCRIPT
- #=================================================
- ynh_print_info "Installation of $app completed"
|