49 lines
1.4 KiB
Bash
49 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
while true
|
|
do
|
|
read -r -p "Would you like to install Caddy Server? [Y/n] " input
|
|
|
|
case $input in
|
|
[yY][eE][sS]|[yY])
|
|
break
|
|
;;
|
|
[nN][oO]|[nN])
|
|
break
|
|
;;
|
|
*)
|
|
echo "That wasn't an option..."
|
|
;;
|
|
esac
|
|
done
|
|
caddy_ver="0.3.2"
|
|
apt install golang git curl -y
|
|
cd /tmp
|
|
wget https://github.com/caddyserver/xcaddy/releases/download/v"$caddy_ver"/xcaddy_"$caddy_ver"_linux_amd64.tar.gz
|
|
tar xvf xcaddy_"$caddy_ver"_linux_amd64.tar.gz xcaddy
|
|
sudo mv xcaddy /usr/bin
|
|
mkdir ~/caddy
|
|
cd ~/caddy
|
|
xcaddy build
|
|
sudo mv caddy /usr/bin
|
|
sudo groupadd --system caddy
|
|
sudo useradd --system \
|
|
--gid caddy \
|
|
--create-home \
|
|
--home-dir /var/lib/caddy \
|
|
--shell /usr/sbin/nologin \
|
|
--comment "Caddy web server" \
|
|
caddy
|
|
sudo chown root:root /usr/bin/caddy
|
|
sudo chmod 755 /usr/bin/caddy
|
|
sudo mkdir /etc/caddy
|
|
sudo chown -R root:caddy /etc/caddy
|
|
sudo mkdir /etc/ssl/caddy
|
|
sudo chown -R root:caddy /etc/ssl/caddy
|
|
sudo chmod 0770 /etc/ssl/caddy
|
|
sudo mkdir /var/www
|
|
sudo chown caddy:caddy /var/www
|
|
sudo sh -c 'curl https://raw.githubusercontent.com/caddyserver/dist/master/init/caddy.service > /etc/systemd/system/caddy.service'
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl status caddy
|
|
sudo ufw allow proto tcp from any to any port 80,443 |