diff options
author | Markus Heiser <markus.heiser@darmarit.de> | 2020-04-11 13:19:11 +0200 |
---|---|---|
committer | Markus Heiser <markus.heiser@darmarit.de> | 2020-04-11 13:19:11 +0200 |
commit | 58d5da8b57c5aeab92f551e8d175be67537c351c (patch) | |
tree | 5c75c0d6b3fd80c05c592b7dc28bd8ddd90e91a7 /utils/filtron.sh | |
parent | 67afa6b1fbb635626f278958980b87d3e8fed12c (diff) | |
download | searxng-58d5da8b57c5aeab92f551e8d175be67537c351c.tar.gz searxng-58d5da8b57c5aeab92f551e8d175be67537c351c.zip |
nginx: normalize installation (docs and script)s over all distros
This is the revision of the documentation about the varous nginx installation
variants. It also implements the nginx installation scripts for morty and
filtron.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'utils/filtron.sh')
-rwxr-xr-x | utils/filtron.sh | 66 |
1 files changed, 59 insertions, 7 deletions
diff --git a/utils/filtron.sh b/utils/filtron.sh index d24b6c39e..c82c2d0a3 100755 --- a/utils/filtron.sh +++ b/utils/filtron.sh @@ -44,9 +44,8 @@ GO_ENV="${SERVICE_HOME}/.go_env" GO_PKG_URL="https://dl.google.com/go/go1.13.5.linux-amd64.tar.gz" GO_TAR=$(basename "$GO_PKG_URL") -# Apache Settings - APACHE_FILTRON_SITE="searx.conf" +NGINX_FILTRON_SITE="searx.conf" # shellcheck disable=SC2034 CONFIG_FILES=( @@ -60,9 +59,7 @@ usage() { # shellcheck disable=SC1117 cat <<EOF - usage:: - $(basename "$0") shell $(basename "$0") install [all|user|rules] $(basename "$0") update [filtron] @@ -72,6 +69,7 @@ usage:: $(basename "$0") inspect [service] $(basename "$0") option [debug-on|debug-off] $(basename "$0") apache [install|remove] + $(basename "$0") nginx [install|remove] shell start interactive shell from user ${SERVICE_USER} @@ -92,6 +90,9 @@ option apache (${PUBLIC_URL}) :install: apache site with a reverse proxy (ProxyPass) :remove: apache site ${APACHE_FILTRON_SITE} +nginx (${PUBLIC_URL}) + :install: nginx site with a reverse proxy (ProxyPass) + :remove: nginx site ${NGINX_FILTRON_SITE} filtron rules: ${FILTRON_RULES} @@ -118,8 +119,6 @@ EOF } main() { - rst_title "$SERVICE_NAME" part - required_commands \ sudo install git wget curl \ || exit @@ -127,7 +126,7 @@ main() { local _usage="unknown or missing $1 command $2" case $1 in - --source-only) ;; + --getenv) var="$2"; echo "${!var}"; exit 0;; -h|--help) usage; exit 0;; shell) @@ -143,6 +142,7 @@ main() { *) usage "$_usage"; exit 42;; esac ;; install) + rst_title "$SERVICE_NAME" part sudo_or_exit case $2 in all) install_all ;; @@ -187,6 +187,13 @@ main() { remove) remove_apache_site ;; *) usage "$_usage"; exit 42;; esac ;; + nginx) + sudo_or_exit + case $2 in + install) install_nginx_site ;; + remove) remove_nginx_site ;; + *) usage "$_usage"; exit 42;; + esac ;; option) sudo_or_exit case $2 in @@ -473,6 +480,51 @@ This removes apache site ${APACHE_FILTRON_SITE}." } +install_nginx_site() { + + rst_title "Install nginx site $NGINX_FILTRON_SITE" + + rst_para "\ +This installs a reverse proxy (ProxyPass) into nginx site (${NGINX_FILTRON_SITE})" + + ! nginx_is_installed && err_msg "nginx is not installed." + + if ! ask_yn "Do you really want to continue?" Yn; then + return + else + install_nginx + fi + + "${REPO_ROOT}/utils/searx.sh" install uwsgi + + SEARX_SRC=$("${REPO_ROOT}/utils/searx.sh" --getenv SEARX_SRC) + SEARX_URL_PATH=$("${REPO_ROOT}/utils/searx.sh" --getenv SEARX_URL_PATH) + nginx_install_app --variant=filtron "${NGINX_FILTRON_SITE}" + + info_msg "testing public url .." + if ! service_is_available "${PUBLIC_URL}"; then + err_msg "Public service at ${PUBLIC_URL} is not available!" + fi +} + +remove_nginx_site() { + + rst_title "Remove nginx site $NGINX_FILTRON_SITE" + + rst_para "\ +This removes nginx site ${NGINX_FILTRON_SITE}." + + ! nginx_is_installed && err_msg "nginx is not installed." + + if ! ask_yn "Do you really want to continue?" Yn; then + return + fi + + nginx_remove_site "$FILTRON_FILTRON_SITE" + +} + + rst-doc() { eval "echo \"$(< "${REPO_ROOT}/docs/build-templates/filtron.rst")\"" |