mirror of
https://github.com/fergalmoran/DnsServer.git
synced 2025-12-22 09:29:50 +00:00
110 lines
2.8 KiB
Bash
110 lines
2.8 KiB
Bash
#!/bin/sh
|
|
|
|
aspnetcoreDir="/opt/dotnet"
|
|
aspnetcoreTestDir="/opt/dotnet/shared/Microsoft.NETCore.App/2.2.5/"
|
|
aspnetcoreTar="/opt/dotnet/aspnetcore-runtime-2.2.5-linux-arm.tar.gz"
|
|
aspnetcoreUrl="https://download.visualstudio.microsoft.com/download/pr/cd6635b9-f6f8-4c2d-beda-2e381fe39586/740973b83c199bf863a51c83a2432151/aspnetcore-runtime-2.2.5-linux-arm.tar.gz"
|
|
|
|
dnsDir="/etc/dns"
|
|
dnsTar="/etc/dns/DnsServerPortable.tar.gz"
|
|
dnsUrl="https://download.technitium.com/dns/DnsServerPortable.tar.gz"
|
|
|
|
mkdir -p $dnsDir
|
|
installLog="$dnsDir/install.log"
|
|
echo "" > $installLog
|
|
|
|
echo ""
|
|
echo "==============================="
|
|
echo "Technitium DNS Server Installer"
|
|
echo "==============================="
|
|
echo ""
|
|
|
|
if [ -d "$aspnetcoreTestDir" ] && [ -f "/usr/bin/dotnet" ]
|
|
then
|
|
echo ".NET Core Runtime was found installed."
|
|
else
|
|
echo "Installing dependencies..."
|
|
|
|
until apt-get -y update >> $installLog 2>&1 && apt-get -y install curl libunwind8 gettext apt-transport-https >> $installLog 2>&1
|
|
do
|
|
echo "Trying again.."
|
|
sleep 2
|
|
done
|
|
|
|
echo ""
|
|
echo "Downloading .NET Core Runtime..."
|
|
|
|
mkdir -p $aspnetcoreDir
|
|
|
|
if wget -q "$aspnetcoreUrl" -O $aspnetcoreTar
|
|
then
|
|
echo "Installing .NET Core Runtime..."
|
|
tar -zxf $aspnetcoreTar -C $aspnetcoreDir >> $installLog 2>&1
|
|
|
|
if [ ! -f "/usr/bin/dotnet" ]
|
|
then
|
|
ln -s $aspnetcoreDir/dotnet /usr/bin
|
|
fi
|
|
|
|
echo ".NET Core Runtime was installed succesfully."
|
|
else
|
|
echo "Failed to download .NET Core Runtime from: $aspnetcoreUrl"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
echo ""
|
|
echo "Downloading Technitium DNS Server..."
|
|
|
|
if wget -q "$dnsUrl" -O $dnsTar
|
|
then
|
|
if [ -f "/etc/dns/DnsServerApp.dll" ]
|
|
then
|
|
echo "Updating Technitium DNS Server..."
|
|
else
|
|
echo "Installing Technitium DNS Server..."
|
|
fi
|
|
|
|
tar -zxf $dnsTar -C $dnsDir >> $installLog 2>&1
|
|
|
|
if [ "$(ps --no-headers -o comm 1 | tr -d '\n')" = "systemd" ]
|
|
then
|
|
if [ -f "/etc/systemd/system/dns.service" ]
|
|
then
|
|
echo "Restarting systemd service..."
|
|
systemctl restart dns.service >> $installLog 2>&1
|
|
else
|
|
echo "Configuring systemd service..."
|
|
cp $dnsDir/systemd.service /etc/systemd/system/dns.service
|
|
systemctl enable dns.service >> $installLog 2>&1
|
|
systemctl start dns.service >> $installLog 2>&1
|
|
fi
|
|
else
|
|
if [ -f "/etc/supervisor/conf.d/dns.conf" ]
|
|
then
|
|
echo "Restarting supervisor service..."
|
|
service supervisor restart >> $installLog 2>&1
|
|
else
|
|
echo "Installing supervisor..."
|
|
|
|
until apt-get -y install supervisor >> $installLog 2>&1
|
|
do
|
|
echo "Trying again.."
|
|
sleep 2
|
|
done
|
|
|
|
echo "Configuring supervisor service..."
|
|
cp $dnsDir/supervisor.conf /etc/supervisor/conf.d/dns.conf
|
|
service supervisor restart >> $installLog 2>&1
|
|
fi
|
|
fi
|
|
|
|
echo ""
|
|
echo "Technitium DNS Server was installed succesfully!"
|
|
echo "Open http://$(hostname):5380/ to access the web console."
|
|
else
|
|
echo ""
|
|
echo "Failed to download Technitium DNS Server from: $dnsUrl"
|
|
exit 1
|
|
fi
|