# Caddy ## Remove ### Apache ```sh sudo lsof -i :80 sudo systemctl stop apache2 sudo systemctl disable apache2 sudo apt remove --purge apache2 apache2-utils apache2-bin apache2.2-common -y sudo apt autoremove -y sudo rm -rf /etc/apache2 ``` ## Install ```sh sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | \ sudo tee /etc/apt/sources.list.d/caddy-stable.list sudo apt update sudo apt install caddy -y sudo chown -R caddy:caddy /var/lib/caddy sudo chmod -R 700 /var/lib/caddy sudo chown root:caddy /etc/caddy/Caddyfile sudo chmod 640 /etc/caddy/Caddyfile ufw allow 80 ufw allow 443 ``` ## Commands ```sh sudo systemctl start caddy sudo systemctl enable caddy sudo systemctl stop caddy sudo systemctl daemon-reload sudo systemctl status caddy sudo systemctl reload caddy sudo systemctl restart caddy sudo systemctl status caddy journalctl -u caddy -f sudo caddy validate --config /etc/caddy/Caddyfile sudo caddy fmt --overwrite /etc/caddy/Caddyfile sudo nano /etc/caddy/Caddyfile sudo systemctl stop caddy sudo caddy run --config /etc/caddy/Caddyfile --adapter caddyfile Server sudo nano /etc/caddy/Caddyfile http://your.server.ip:8080 { root * /var/www/my-site file_server } sudo chown -R caddy:caddy /var/www/xmpp.chat.local sudo chmod -R 755 /var/www/xmpp.chat.local sudo chown -R caddy:caddy /var/www/www.ts sudo chmod -R 755 /var/www/www.ts ``` echo Markdown::code(" tls internal tls /etc/caddy/certs/xmpp.chat.local.crt /etc/caddy/certs/xmpp.chat.local.key cd /var/lib/caddy ls ~/.local/share/caddy/pki/authorities/local sudo chown -R caddy:caddy /var/lib/caddy sudo chmod 700 /var/lib/caddy /var/lib/caddy ~/.local/share/caddy sudo chown caddy:caddy /etc/ssl/certs/yourcert.pem /etc/ssl/private/yourkey.pem sudo chmod 600 /etc/ssl/private/yourkey.pem sudo chmod 644 /etc/ssl/certs/yourcert.pem sudo chown -R navide:navide /home/navide/share/ cp ~/.local/share/caddy/pki/authorities/local/root.crt /home/navide/share/root.crt "); sudo caddy adapt --config /etc/caddy/Caddyfile --pretty sudo cat ~/.ssh/id_ed25519.pub ```shell nano /etc/caddy/Caddyfile php_fastcgi unix//run/php/php8.2-fpm.sock composer dump-autoload composer --version --> cp -r /home/nabide/code/www.ruchimi.panama_paradise /var/www/www.ruchimi.panama_paradise/ rm -r /var/www/www.ruchimi.panama_paradise/ caddy fmt --overwrite /home/nabide/code cp /home/nabide/code/Caddyfile /etc/caddy/ sudo systemctl restart caddy cd /var/www/ sudo nano /etc/hosts cp -r /home/nabide/code/www.ruchimi.panama_paradise /var/www/www.ruchimi.panama_paradise/ rm -r /var/www/www.ruchimi.panama_paradise/ sudo systemctl restart caddy caddy fmt --overwrite /home/nabide/code cd /var/www/ sudo nano /etc/hosts cp -r /home/nabide/code/www.ruchimi.panama_paradise /var/www/www.ruchimi.panama_paradise/ rm -r /var/www/www.ruchimi.panama_paradise/ sudo systemctl restart caddy caddy fmt --overwrite /home/nabide/code sudo chown -R nabide:nabide /home/nabide/code cp /home/nabide/code/Caddyfile /etc/caddy/ cp /etc/caddy/Caddyfile /home/nabide/code cp /home/nabide/code/Caddyfile /etc/caddy/ sudo systemctl restart caddy cd /var/www/ sudo nano /etc/hosts cp -r /home/nabide/code/www.ruchimi.panama_paradise /var/www/www.ruchimi.panama_paradise/ rm -r /var/www/www.ruchimi.panama_paradise/ sudo systemctl restart caddy caddy fmt --overwrite /home/nabide/code sudo chown -R nabide:nabide /home/nabide/code cp /home/nabide/code/Caddyfile /etc/caddy/ cp /etc/caddy/Caddyfile /home/nabide/code cp /home/nabide/code/Caddyfile /etc/caddy/ sudo systemctl restart caddy cd /var/www/ sudo nano /etc/hosts cp -r /home/nabide/code/www.ruchimi.panama_paradise /var/www/www.ruchimi.panama_paradise/ rm -r /var/www/www.ruchimi.panama_paradise/ cp /etc/hosts /home/nabide/code/hosts cp /home/nabide/code/hosts /etc/hosts sudo systemctl restart caddy ## Caddy ```shell sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | \ sudo tee /etc/apt/sources.list.d/caddy-stable.list sudo apt update sudo apt install caddy -y ``` ```shell mkdir -p /var/www/my-site echo "Hello from Caddy!" > /var/www/my-site/index.html ``` # Import the GPG key sudo apt install -y debian-keyring debian-archive-keyring curl curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-archive-keyring.gpg # Add the Caddy repo curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | \ sed 's/^deb /deb [signed-by=\/usr\/share\/keyrings\/caddy-archive-keyring.gpg] /' | \ sudo tee /etc/apt/sources.list.d/caddy-stable.list sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | \ sudo tee /etc/apt/sources.list.d/caddy-stable.list sudo apt update sudo apt install caddy -y ``` xmpp.chat.local { # encode gzip zstd tls internal root * /var/www/www.ts/src/public/xmpp file_server reverse_proxy 127.0.0.1:5280 # WebSocket for Converse.js reverse_proxy /ws 127.0.0.1:5280 { transport http { versions 1.1 } header_up -Origin } reverse_proxy /bosh 127.0.0.1:5280 reverse_proxy /upload 127.0.0.1:5280 } sudo systemctl restart caddy sudo systemctl reload caddy sudo nvim /etc/hosts sudo nvim /etc/caddy/Caddyfile