diff options
author | Markus Heiser <markus.heiser@darmarit.de> | 2020-04-08 18:38:36 +0200 |
---|---|---|
committer | Markus Heiser <markus.heiser@darmarit.de> | 2020-04-08 18:38:36 +0200 |
commit | f693149cded4f783380f8f02154bd9288b72cdd5 (patch) | |
tree | 3b3809f5c667ab44e53bb200cca3ce959c0380dd /utils/lib.sh | |
parent | ee39a098acb2386abd5382de5c9476cc4ffe2e03 (diff) | |
download | searxng-f693149cded4f783380f8f02154bd9288b72cdd5.tar.gz searxng-f693149cded4f783380f8f02154bd9288b72cdd5.zip |
Changes from the installation tests on (all) LXC containers.
Tested and fixed HTTP & uWSGI installation on:
ubu1604 ubu1804 ubu1910 ubu2004 fedora31 archlinux
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'utils/lib.sh')
-rwxr-xr-x | utils/lib.sh | 61 |
1 files changed, 58 insertions, 3 deletions
diff --git a/utils/lib.sh b/utils/lib.sh index 2c0c179bb..a032d0465 100755 --- a/utils/lib.sh +++ b/utils/lib.sh @@ -389,7 +389,7 @@ install_template() { local chmod="${pos_args[4]-644}" info_msg "install (eval=$do_eval): ${dst}" - [[ -n $variant ]] && info_msg "variant: ${variant}" + [[ -n $variant ]] && info_msg "variant --> ${variant}" if [[ ! -f "${template_origin}" ]] ; then err_msg "${template_origin} does not exists" @@ -777,6 +777,7 @@ apache_dissable_site() { ln -s "${APACHE_SITES_AVAILABLE}/${CONF}" "${APACHE_SITES_ENABLED}/${CONF}" ;; esac + apache_reload } # uWSGI @@ -846,7 +847,7 @@ uWSGI_restart() { if uWSGI_app_available "${CONF}"; then systemctl restart "uwsgi@${CONF%.*}" else - info_msg "in systemd template mode: ${CONF} not installed (nothing to restart)" + info_msg "[uWSGI:systemd-template] ${CONF} not installed (no need to restart)" fi ;; fedora-*) @@ -854,7 +855,7 @@ uWSGI_restart() { if uWSGI_app_enabled "${CONF}"; then touch "${uWSGI_APPS_ENABLED}/${CONF}" else - info_msg "in uWSGI emperor mode: ${CONF} not installed (nothing to restart)" + info_msg "[uWSGI:emperor] ${CONF} not installed (no need to restart)" fi ;; *) @@ -864,6 +865,32 @@ uWSGI_restart() { esac } +uWSGI_prepare_app() { + + # usage: uWSGI_prepare_app <myapp.ini> + + local APP="${1%.*}" + if [[ -z $APP ]]; then + err_msg "uWSGI_prepare_app: missing arguments" + return 42 + fi + + case $DIST_ID-$DIST_VERS in + fedora-*) + # in emperor mode, the uwsgi user is the owner of the sockets + info_msg "prepare (uwsgi:uwsgi) /run/uwsgi/app/${APP}" + mkdir -p "/run/uwsgi/app/${APP}" + chown -R "uwsgi:uwsgi" "/run/uwsgi/app/${APP}" + ;; + *) + info_msg "prepare (${SERVICE_USER}:${SERVICE_GROUP}) /run/uwsgi/app/${APP}" + mkdir -p "/run/uwsgi/app/${APP}" + chown -R "${SERVICE_USER}:${SERVICE_GROUP}" "/run/uwsgi/app/${APP}" + ;; + esac +} + + uWSGI_app_available() { # usage: uWSGI_app_available <myapp.ini> local CONF="$1" @@ -888,6 +915,7 @@ uWSGI_install_app() { *) pos_args+=("$i");; esac done + uWSGI_prepare_app "${pos_args[1]}" mkdir -p "${uWSGI_APPS_AVAILABLE}" install_template "${template_opts[@]}" \ "${uWSGI_APPS_AVAILABLE}/${pos_args[1]}" \ @@ -1281,3 +1309,30 @@ global_IPs(){ ip -o addr show | sed -nr 's/[0-9]*:\s*([a-z0-9]*).*inet[6]?\s*([a-z0-9.:]*).*scope global.*/\1|\2/p' } + +primary_ip() { + + case $DIST_ID in + arch) + echo "$(ip -o addr show \ + | sed -nr 's/[0-9]*:\s*([a-z0-9]*).*inet[6]?\s*([a-z0-9.:]*).*scope global.*/\2/p' \ + | head -n 1)" + ;; + *) echo "$(hostname -I | cut -d' ' -f1)" ;; + esac +} + +# URL +# --- + +url_replace_hostname(){ + + # usage: url_replace_hostname <url> <new hostname> + + # to replace hostname by primary IP:: + # + # url_replace_hostname http://searx-ubu1604/morty $(primary_ip) + # http://10.246.86.250/morty + + echo "$1" | sed "s|\(http[s]*://\)[^/]*\(.*\)|\1$2\2|" +} |