minor changes to install

This commit is contained in:
Daniel Hansson authored and GitHub committed 2023-10-05 15:20:07 +02:00
1 parent a36ac3ba13
commit e7b24d86eb
1 file changed
+43 -29
+43 -29
View File
@@ -8,8 +8,13 @@
# 5. Create systemd services for hbbs and hbbr # 5. Create systemd services for hbbs and hbbr
# 6. If you choose Domain, it will install Nginx and Certbot, allowing the API to be available on port 443 (https) and get an SSL certificate over port 80, it is automatically renewed # 6. If you choose Domain, it will install Nginx and Certbot, allowing the API to be available on port 443 (https) and get an SSL certificate over port 80, it is automatically renewed
# Please note; even if the script is run as root, you will still be able to choose a non-root user during setup.
################################################################################################################## ##################################################################################################################
# Install curl and whiptail if needed
if [ ! -x "$(command -v curl)" ] || [ ! -x "$(command -v whiptail)" ]
then
# We need curl to fetch the lib # We need curl to fetch the lib
# There are the package managers for different OS: # There are the package managers for different OS:
# osInfo[/etc/redhat-release]=yum # osInfo[/etc/redhat-release]=yum
@@ -19,6 +24,7 @@
# osInfo[/etc/debian_version]=apt-get # osInfo[/etc/debian_version]=apt-get
# osInfo[/etc/alpine-release]=apk # osInfo[/etc/alpine-release]=apk
NEEDED_DEPS=(curl whiptail) NEEDED_DEPS=(curl whiptail)
echo "Installing these packages:" "${NEEDED_DEPS[@]}"...
if [ -x "$(command -v apt-get)" ] if [ -x "$(command -v apt-get)" ]
then then
sudo apt-get install "${NEEDED_DEPS[@]}" -y sudo apt-get install "${NEEDED_DEPS[@]}" -y
@@ -41,10 +47,10 @@ elif [ -x "$(command -v emerge)" ]
then then
sudo emerge -av "${NEEDED_DEPS[@]}" sudo emerge -av "${NEEDED_DEPS[@]}"
else else
echo "FAILED TO INSTALL PACKAGE! Package manager not found. You must manually install:" "${NEEDED_DEPS[@]}" echo "FAILED TO INSTALL! Package manager not found. You must manually install:" "${NEEDED_DEPS[@]}"
exit 1 exit 1
fi fi
fi
# We need to source directly from the Github repo to be able to use the functions here # We need to source directly from the Github repo to be able to use the functions here
# shellcheck disable=2034,2059,2164 # shellcheck disable=2034,2059,2164
@@ -58,24 +64,32 @@ unset SCRIPT_NAME
################################################################################################################## ##################################################################################################################
# This must run as root # Check if root
root_check root_check
# Output debugging info if $DEBUG set
if [ "$DEBUG" = "true" ]
then
identify_os
print_text_in_color "$ICyan" "OS: $OS"
print_text_in_color "$ICyan" "VER: $VER"
print_text_in_color "$ICyan" "UPSTREAM_ID: $UPSTREAM_ID"
exit 0
fi
# We need the WAN IP # We need the WAN IP
get_wanip4 get_wanip4
# Install needed dependencies # Automatic restart of services while installing
install_linux_package unzip # Restart mode: (l)ist only, (i)nteractive or (a)utomatically.
install_linux_package tar if [ ! -f /etc/needrestart/needrestart.conf ]
install_linux_package dnsutils
install_linux_package ufw
if ! install_linux_package bind9-utils
then then
install_linux_package bind-utils install_linux_package needrestart
if ! grep -rq "{restart} = 'a'" /etc/needrestart/needrestart.conf
then
# Restart mode: (l)ist only, (i)nteractive or (a)utomatically.
sed -i "s|#\$nrconf{restart} =.*|\$nrconf{restart} = 'a'\;|g" /etc/needrestart/needrestart.conf
fi fi
if ! install_linux_package bind9
then
install_linux_package bind
fi fi
# Select user for installation # Select user for installation
@@ -99,18 +113,20 @@ Please try again."
run_as_non_root_user() { run_as_non_root_user() {
sudo -u "$RUSTDESK_USER" "$@"; sudo -u "$RUSTDESK_USER" "$@";
} }
chown "$RUSTDESK_USER":"$RUSTDESK_USER" lib.sh
fi fi
# Output debugging info if $DEBUG set # Install needed dependencies
if [ "$DEBUG" = "true" ] install_linux_package unzip
install_linux_package tar
install_linux_package dnsutils
install_linux_package ufw
if ! install_linux_package bind9-utils
then then
identify_os install_linux_package bind-utils
print_text_in_color "$ICyan" "OS: $OS" fi
print_text_in_color "$ICyan" "VER: $VER" if ! install_linux_package bind9
print_text_in_color "$ICyan" "UPSTREAM_ID: $UPSTREAM_ID" then
exit 0 install_linux_package bind
fi fi
# Setting up firewall # Setting up firewall
@@ -374,7 +390,7 @@ Do you want to install Certbot with snap? (recommended)"
install_linux_package nginx install_linux_package nginx
if ! install_linux_package snapd if ! install_linux_package snapd
then then
print_text_in_color "$IRed" "Sorry, snapd wasn't found on your system, reverting to python-certbot." print_text_in_color "$IRed" "Sorry, snapd wasn't found on your system, using 'python3-certbot-nginx' instead."
install_linux_package python3-certbot-nginx install_linux_package python3-certbot-nginx
else else
snap install certbot --classic snap install certbot --classic
@@ -387,8 +403,6 @@ Do you want to install Certbot with snap? (recommended)"
# Add Nginx config # Add Nginx config
if [ ! -f "/etc/nginx/sites-available/rustdesk.conf" ] if [ ! -f "/etc/nginx/sites-available/rustdesk.conf" ]
then then
rm -f "/etc/nginx/sites-available/rustdesk.conf"
rm -f "/etc/nginx/sites-enabled/rustdesk.conf"
touch "/etc/nginx/sites-available/rustdesk.conf" touch "/etc/nginx/sites-available/rustdesk.conf"
cat << NGINX_RUSTDESK_CONF > "/etc/nginx/sites-available/rustdesk.conf" cat << NGINX_RUSTDESK_CONF > "/etc/nginx/sites-available/rustdesk.conf"
server { server {
@@ -415,8 +429,8 @@ NGINX_RUSTDESK_CONF
# Enable firewall rules for the domain # Enable firewall rules for the domain
ufw allow 80/tcp ufw allow 80/tcp
ufw allow 443/tcp ufw allow 443/tcp
ufw enable ufw --force enable
ufw reload ufw --force reload
# Generate the certifictae # Generate the certifictae
if ! certbot --nginx --cert-name "${RUSTDESK_DOMAIN}" --key-type ecdsa --renew-by-default --no-eff-email --agree-tos --server https://acme-v02.api.letsencrypt.org/directory -d "${RUSTDESK_DOMAIN}" if ! certbot --nginx --cert-name "${RUSTDESK_DOMAIN}" --key-type ecdsa --renew-by-default --no-eff-email --agree-tos --server https://acme-v02.api.letsencrypt.org/directory -d "${RUSTDESK_DOMAIN}"
@@ -430,8 +444,8 @@ Please try again."
;; ;;
"IP") "IP")
ufw allow 21114/tcp ufw allow 21114/tcp
ufw enable ufw --force enable
ufw reload ufw --force reload
;; ;;
*) *)
;; ;;