1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/wallabag2_ynh.git synced 2024-10-01 13:35:06 +02:00
wallabag2_ynh/scripts/restore
lapineige ae76c98612
Add Fail2ban support (#65)
* Readme: Add welcome UI screenshoot 

It's always nice to have a quick look at the UI of the software you're going to install :)

* Testing  (#56)

* Fix 413 request entity too large (#55)

* [fix] 413 Request Entity Too Large

* Remove ini file for php (#57)

Have a look to YunoHost-Apps/nextcloud_ynh#138 for more information

* Add fail2ban config

* Add Fail2ban config removal helper

* Enhance fail2ban config look

* Add fail2ban backup

* Restore fail2ban config

* Add fail2ban config during upgrade

To make sure any older version will get fail2ban support

* Update minimum version to 3.5

This is needed for fail2ban helpers

* Add fail2ban info

* Fail2ban: Fix missing log file during install

* Fix feil2ban regex

* Fix fail2ban regex - 2

* Use ynh_systemd_action

* Use long getopts arguments

* Fix duplicated comment and remove blank space

* Fix fail2ban regex in upgrade script

* Improve regex - install

This allow empty username (not possible, but may still block some extra brute force spammers) and username with spaces

* Improve regex - upgrade

This allow empty username (not possible, but may still block some extra brute force spammers) and username with spaces

* Fix missing log file for fail2ban

* Indentation and variable usage
2019-05-08 17:01:54 +02:00

100 lines
3.1 KiB
Bash

#!/bin/bash
# Exit on command errors and treat unset variables as an error
set -eu
#=================================================
# IMPORT GENERIC HELPERS
#=================================================
if [ ! -e _common.sh ]; then
# Fetch helpers file if not in current directory
cp ../settings/scripts/_common.sh ./_common.sh
chmod a+rx _common.sh
fi
source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# LOAD SETTINGS
#=================================================
app=$YNH_APP_INSTANCE_NAME
domain=$(ynh_app_setting_get $app domain)
path_url=$(ynh_app_setting_get $app path)
is_public=$(ynh_app_setting_get $app is_public)
final_path=$(ynh_app_setting_get $app final_path)
db_name=$(ynh_app_setting_get $app db_name)
#=================================================
# CHECK IF THE APP CAN BE RESTORED
#=================================================
ynh_webpath_available $domain $path_url \
|| ynh_die "Path not available: ${domain}${path_url}"
test ! -d $final_path \
|| ynh_die "There is already a directory: $final_path "
#=================================================
# INSTALL DEPENDENCIES
#=================================================
ynh_install_app_dependencies "$PKG_DEPENDENCIES"
#=================================================
# STANDARD RESTORE STEPS
#=================================================
# RESTORE NGINX CONFIGURATION
#=================================================
ynh_restore_file "/etc/nginx/conf.d/$domain.d/$app.conf"
#=================================================
# RESTORE APP MAIN DIR
#=================================================
ynh_restore_file "$final_path"
#=================================================
# RESTORE MYSQL DB
#=================================================
db_pwd=$(ynh_app_setting_get $app mysqlpwd)
ynh_mysql_create_db $db_name $db_name $db_pwd
ynh_mysql_connect_as $db_name $db_pwd $db_name < ./db.sql
#=================================================
# RECREATE OF THE DEDICATED USER
#=================================================
ynh_system_user_create $app # Recreate the dedicated user, if not existing
#=================================================
# RESTORE USER RIGHTS
#=================================================
chown -R $app: $final_path
#=================================================
# RESTORE FAIL2BAN CONFIGURATION
#=================================================
ynh_restore_file "/etc/fail2ban/jail.d/$app.conf"
ynh_restore_file "/etc/fail2ban/filter.d/$app.conf"
ynh_systemd_action --action=reload --service_name=fail2ban # Reload instead of restart for better performance
#=================================================
# RESTORE PHP-FPM CONFIGURATION
#=================================================
ynh_restore_file "/etc/php5/fpm/pool.d/$app.conf"
#=================================================
# GENERIC FINALIZATION
#=================================================
# RELOAD NGINX AND PHP-FPM
#=================================================
systemctl reload php5-fpm
systemctl reload nginx