@ -2,6 +2,9 @@ _download_caddy_file() { 
			
		
	
		
			
				
						caddy_tmp = "/tmp/install_caddy/"   
			
		
	
		
			
				
						caddy_tmp_file = "/tmp/install_caddy/caddy.tar.gz"   
			
		
	
		
			
				
						[ [  -d $caddy_tmp  ] ]  &&  rm -rf $caddy_tmp   
			
		
	
		
			
				
						if  [ [  ! ${ caddy_arch }  ] ] ;  then   
			
		
	
		
			
				
							echo  -e " $red  获取 Caddy 下载参数失败! $none "  &&  exit  1   
			
		
	
		
			
				
						fi   
			
		
	
		
			
				
						local  caddy_download_link = " https://caddyserver.com/download/linux/ ${ caddy_arch } ?license=personal "   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						mkdir -p $caddy_tmp   
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -13,8 +16,10 @@ _download_caddy_file() { 
			
		
	
		
			
				
						tar zxf $caddy_tmp_file  -C $caddy_tmp   
			
		
	
		
			
				
						cp -f ${ caddy_tmp } caddy /usr/local/bin/  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						# wget -qO- https://getcaddy.com | bash -s personal   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						if  [ [  ! -f /usr/local/bin/caddy ] ] ;  then   
			
		
	
		
			
				
							echo  -e " $red  安装 Caddy 出错! "  &&  exit  1   
			
		
	
		
			
				
							echo  -e " $red  安装 Caddy 出错! $none &&  exit  1   
			
		
	
		
			
				
						fi   
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					_install_caddy_service( )  {   
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -22,9 +27,42 @@ _install_caddy_service() { 
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						if  [ [  $systemd  ] ] ;  then   
			
		
	
		
			
				
							cp -f ${ caddy_tmp } init/linux-systemd/caddy.service /lib/systemd/system/  
			
		
	
		
			
				
							# sed -i "s/www-data/root/g" /lib/systemd/system/caddy.service   
			
		
	
		
			
				
							sed -i "/on-abnormal/a RestartSec=3"  /lib/systemd/system/caddy.service  
			
		
	
		
			
				
							sed -i "s/on-abnormal/always/"  /lib/systemd/system/caddy.service  
			
		
	
		
			
				
							# if ! wget https://raw.githubusercontent.com/caddyserver/caddy/master/dist/init/linux-systemd/caddy.service -O /lib/systemd/system/caddy.service; then   
			
		
	
		
			
				
							# 	echo -e "$red 下载 caddy.service 失败!$none" && exit 1   
			
		
	
		
			
				
							# fi   
			
		
	
		
			
				
							# sed -i "s/-log-timestamps=false//g" /lib/systemd/system/caddy.service   
			
		
	
		
			
				
							if  [ [  ! $( grep "ReadWriteDirectories"  /lib/systemd/system/caddy.service)  ] ] ;  then   
			
		
	
		
			
				
								sed -i "/ReadWritePaths/a ReadWriteDirectories=/etc/ssl/caddy"  /lib/systemd/system/caddy.service  
			
		
	
		
			
				
							fi   
			
		
	
		
			
				
							# # sed -i "s/www-data/root/g" /lib/systemd/system/caddy.service   
			
		
	
		
			
				
							# sed -i "/on-abnormal/a RestartSec=3" /lib/systemd/system/caddy.service   
			
		
	
		
			
				
							# sed -i "s/on-abnormal/always/" /lib/systemd/system/caddy.service   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
							#### 。。。。。 Warning.....Warning.......Warning........Warning......   
			
		
	
		
			
				
							#### 。。。。。 use root user run caddy...   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
							# cat >/lib/systemd/system/caddy.service <<-EOF   
			
		
	
		
			
				
							# 	[Unit]   
			
		
	
		
			
				
							# 	Description=Caddy HTTP/2 web server   
			
		
	
		
			
				
							# 	Documentation=https://caddyserver.com/docs   
			
		
	
		
			
				
							# 	After=network.target   
			
		
	
		
			
				
							# 	Wants=network.target   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
							# 	[Service]   
			
		
	
		
			
				
							# 	Restart=always   
			
		
	
		
			
				
							# 	RestartSec=3   
			
		
	
		
			
				
							# 	Environment=CADDYPATH=/root/.caddy   
			
		
	
		
			
				
							# 	ExecStart=/usr/local/bin/caddy -log stdout -agree=true -conf=/etc/caddy/Caddyfile -root=/var/tmp   
			
		
	
		
			
				
							# 	ExecReload=/bin/kill -USR1 $MAINPID   
			
		
	
		
			
				
							# 	KillMode=mixed   
			
		
	
		
			
				
							# 	KillSignal=SIGQUIT   
			
		
	
		
			
				
							# 	TimeoutStopSec=5s   
			
		
	
		
			
				
							# 	LimitNOFILE=1048576   
			
		
	
		
			
				
							# 	LimitNPROC=512   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
							# 	[Install]   
			
		
	
		
			
				
							# 	WantedBy=multi-user.target   
			
		
	
		
			
				
							# EOF   
			
		
	
		
			
				
							systemctl enable  caddy  
			
		
	
		
			
				
						else   
			
		
	
		
			
				
							cp -f ${ caddy_tmp } init/linux-sysvinit/caddy /etc/init.d/caddy  
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -33,15 +71,19 @@ _install_caddy_service() { 
			
		
	
		
			
				
							update-rc.d -f caddy defaults  
			
		
	
		
			
				
						fi   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						mkdir -p /etc/ssl/caddy  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						if  [  -z " $( grep www-data /etc/passwd) "  ] ;  then   
			
		
	
		
			
				
							useradd -M -s /usr/sbin/nologin www-data  
			
		
	
		
			
				
						fi   
			
		
	
		
			
				
						chown -R www-data.www-data /etc/ssl/caddy  
			
		
	
		
			
				
						#  chown -R www-data.www-data /etc/ssl/caddy  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						mkdir -p /etc/caddy/  
			
		
	
		
			
				
						# ref https://github.com/caddyserver/caddy/tree/master/dist/init/linux-systemd   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						mkdir -p /etc/caddy  
			
		
	
		
			
				
						chown -R root:root /etc/caddy  
			
		
	
		
			
				
						mkdir -p /etc/ssl/caddy  
			
		
	
		
			
				
						chown -R root:www-data /etc/ssl/caddy  
			
		
	
		
			
				
						chmod 0770  /etc/ssl/caddy  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						## create sites dir   
			
		
	
		
			
				
						mkdir -p /etc/caddy/sites  
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					}