Last login: Tue Aug 12 19:04:32 CEST 2025 on pts/1
[admin@server ~]$ su root
Password:
[root@server admin]# bash -x /usr/local/directadmin/scripts/letsencrypt.sh request server.duraweb.eu
+ export EXEC_PROPAGATION_TIMEOUT=300
+ EXEC_PROPAGATION_TIMEOUT=300
+ export EXEC_POLLING_INTERVAL=30
+ EXEC_POLLING_INTERVAL=30
+ DNS_SERVER=8.8.8.8
+ DNS6_SERVER=2001:4860:4860::8888
+ DA_IPV6=false
+ LEGO_DATA_PATH=/usr/local/directadmin/data/.lego
+ WELLKNOWN_PATH=/var/www/html/.well-known/acme-challenge
+ SERVER_CERT_DNSPROVIDER_ENV=/usr/local/directadmin/conf/ca.dnsprovider
+ DNS_SERVERS=("8.8.8.8" "1.1.1.1" "2001:4860:4860::8888" "2606:4700:4700::1111")
++ id -u
+ '[' 0 '!=' 0 ']'
+ '[' '!' -x /usr/local/bin/lego ']'
+ case "$1" in
+ command_do_everything request server.duraweb.eu '' ''
+ local action=request
+ DOMAIN=server.duraweb.eu
+ KEY_SIZE=
+ CSR_CF_FILE=
++ da config-get ipv6
+ '[' 1 = 1 ']'
+ command -v ping6
+ ping6 -q -c 1 -W 1 2001:4860:4860::8888
+ CHALLENGETYPE=http
++ da config-get servername
+ DA_HOSTNAME=server.duraweb.eu
+ CHILD_DOMAIN=false
+ FOUNDDOMAIN=0
++ echo server.duraweb.eu
++ tr , ' '
+ for TDOMAIN in $(echo "${DOMAIN}" | tr ',' ' ')
+ '[' server.duraweb.eu = server.duraweb.eu ']'
+ break
+ '[' 0 = 0 ']'
++ echo server.duraweb.eu
++ tr , ' '
+ for TDOMAIN in $(echo "${DOMAIN}" | tr ',' ' ')
+ '[' server.duraweb.eu = server.duraweb.eu ']'
+ break
+ '[' 0 = 0 ']'
++ da config-get letsencrypt_list
++ tr : ' '
+ LETSENCRYPT_LIST='www mail ftp pop smtp'
++ echo server.duraweb.eu
++ tr , ' '
+ for TDOMAIN in $(echo "${DOMAIN}" | tr ',' ' ')
+ '[' server.duraweb.eu = server.duraweb.eu ']'
+ break
+ '[' 0 = 0 ']'
++ echo server.duraweb.eu
++ tr , ' '
+ for TDOMAIN in $(echo "${DOMAIN}" | tr ',' ' ')
+ DOMAIN_NAME_FOUND=server.duraweb.eu
+ DOMAIN_ESCAPED='server\.duraweb\.eu'
+ USER=root
+ '[' server.duraweb.eu = server.duraweb.eu ']'
+ echo 'Setting up certificate for a hostname: server.duraweb.eu'
Setting up certificate for a hostname: server.duraweb.eu
+ HOSTNAME=1
+ FOUNDDOMAIN=1
+ grep -m1 -q '^server\.duraweb\.eu$' /etc/virtual/domains
+ break
+ '[' 1 -eq 0 ']'
+ DA_USERDIR=/usr/local/directadmin/data/users/root
+ DA_CONFDIR=/usr/local/directadmin/conf
+ '[' '!' -d /usr/local/directadmin/data/users/root ']'
+ '[' 1 -eq 0 ']'
+ '[' '!' -d /usr/local/directadmin/conf ']'
+ '[' 1 -eq 0 ']'
+ DNSPROVIDER_FALLBACK=/usr/local/directadmin/conf/ca.dnsprovider
+ KEY=/usr/local/directadmin/conf/cakey.pem
+ CERT=/usr/local/directadmin/conf/cacert.pem
+ CACERT=/usr/local/directadmin/conf/carootcert.pem
+ '[' -s /usr/local/directadmin/conf/cacert.pem ']'
+ '[' request = request ']'
+ echo server.duraweb.eu
+ grep -m1 -q ,
+ '[' -s '' ']'
+ '[' -s /usr/local/directadmin/conf/cacert.pem ']'
+ '[' 1 -eq 0 ']'
+ CHALLENGETYPE=http
+ '[' -s /usr/local/directadmin/conf/ca.dnsprovider ']'
+ '[' 1 -ne 0 ']'
++ da config-get acme_server_cert_dns_provider
+ dnsprovider=
+ '[' -n '' ']'
+ echo server.duraweb.eu
+ grep -m1 -q '\*\.'
+ '[' http = http ']'
+ RESOLVING_DOMAINS=
++ echo server.duraweb.eu
++ perl -p0 -e 's/,/ /g'
++ perl -p0 -e 's/^\*.//g'
+ for domain_name in $(echo "${DOMAIN}" | perl -p0 -e "s/,/ /g" | perl -p0 -e "s/^\*.//g")
+ has_webserver
+ '[' -z '' ']'
+ ss --no-header --listening --numeric --tcp 'sport = 80'
+ grep --quiet LISTEN
+ has_webserver_rc=0
+ return 0
+ challenge_check server.duraweb.eu silent
++ openssl rand -hex 16
+ TEMP_FILENAME=letsencrypt_004dc4867db669c2889d71370b67bb81
+ touch /var/www/html/.well-known/acme-challenge/letsencrypt_004dc4867db669c2889d71370b67bb81
+ chmod 644 /var/www/html/.well-known/acme-challenge/letsencrypt_004dc4867db669c2889d71370b67bb81
++ fallbackedDig AAAA server.duraweb.eu +short
++ lastret=1
++ for i in "${DNS_SERVERS[@]}"
++ grep -v '\.$'
++ tail -n1
+++ dig @8.8.8.8 AAAA server.duraweb.eu +short
++ resp=
++ lastret=0
++ '[' 0 -eq 0 ']'
++ echo ''
++ return 0
+ IP_TO_RESOLV=
+ echo ''
+ grep -m1 -q :
+ IP_TO_RESOLV=
+ '[' -z '' ']'
++ fallbackedDig server.duraweb.eu +short
++ lastret=1
++ for i in "${DNS_SERVERS[@]}"
++ tail -n1
+++ dig @8.8.8.8 server.duraweb.eu +short
++ resp=195.240.80.244
++ lastret=0
++ '[' 0 -eq 0 ']'
++ echo 195.240.80.244
++ return 0
+ IP_TO_RESOLV=195.240.80.244
+ '[' -z 195.240.80.244 ']'
+ command -v ping6
+ false
+ ping6 -q -c 1 -W 1 server.duraweb.eu
++ fallbackedDig server.duraweb.eu +short
++ lastret=1
++ tail -n1
++ for i in "${DNS_SERVERS[@]}"
+++ dig @8.8.8.8 server.duraweb.eu +short
++ resp=195.240.80.244
++ lastret=0
++ '[' 0 -eq 0 ']'
++ echo 195.240.80.244
++ return 0
+ IP_TO_RESOLV=195.240.80.244
+ CURL_OPTIONS=('--connect-timeout' '40' '-k' '--silent')
+ local CURL_OPTIONS
+ '[' -n 195.240.80.244 ']'
+ CURL_OPTIONS+=("--resolve" "${1}:80:${IP_TO_RESOLV}" "--resolve" "${1}:443:${IP_TO_RESOLV}")
+ curl --connect-timeout 40 -k --silent --resolve server.duraweb.eu:80:195.240.80.244 --resolve server.duraweb.eu:443:195.240.80.244 -I -L -X GET [URL]http://server.duraweb.eu/.well-known/acme-challenge/letsencrypt_004dc4867db669c2889d71370b67bb81[/URL]
+ grep -m1 -q 'HTTP.*200'
+ '[' silent = silent ']'
+ rm -f /var/www/html/.well-known/acme-challenge/letsencrypt_004dc4867db669c2889d71370b67bb81
+ return 0
+ '[' -z '' ']'
+ RESOLVING_DOMAINS=server.duraweb.eu
+ '[' -z server.duraweb.eu ']'
+ DOMAIN=server.duraweb.eu
++ echo server.duraweb.eu
++ perl -p0 -e 's/,/ /g'
++ perl -p0 -e 's/^\*.//g'
+ for domain_name in $(echo "${DOMAIN}" | perl -p0 -e "s/,/ /g" | perl -p0 -e "s/^\*.//g")
+ caa_check server.duraweb.eu
+ CAA_OK=true
++ echo server.duraweb.eu
++ awk -F. '{b=$NF;for(i=NF-1;i>0;i--){b=$i FS b;print b}}'
+ for i in $(echo "$1" | awk -F'.' '{b=$NF;for(i=NF-1;i>0;i--){b=$i FS b;print b}}')
+ fallbackedDig CAA duraweb.eu +short
+ lastret=1
+ for i in "${DNS_SERVERS[@]}"
+ grep -m1 -q -F -- issue
++ dig @8.8.8.8 CAA duraweb.eu +short
+ resp=
+ lastret=0
+ '[' 0 -eq 0 ']'
+ echo ''
+ return 0
+ fallbackedDig CAA duraweb.eu
+ lastret=1
+ for i in "${DNS_SERVERS[@]}"
+ grep -m1 -q -F -- SERVFAIL
++ dig @8.8.8.8 CAA duraweb.eu
+ resp='
; <<>> DiG 9.16.23-RH <<>> @8.8.8.8 CAA duraweb.eu
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55659
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;duraweb.eu. IN CAA
;; AUTHORITY SECTION:
duraweb.eu. 1800 IN SOA brenda.ns.cloudflare.com. dns.cloudflare.com. 2380491896 10000 2400 604800 1800
;; Query time: 17 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 12 19:15:46 CEST 2025
;; MSG SIZE rcvd: 103'
+ lastret=0
+ '[' 0 -eq 0 ']'
+ echo '
; <<>> DiG 9.16.23-RH <<>> @8.8.8.8 CAA duraweb.eu
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55659
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;duraweb.eu. IN CAA
;; AUTHORITY SECTION:
duraweb.eu. 1800 IN SOA brenda.ns.cloudflare.com. dns.cloudflare.com. 2380491896 10000 2400 604800 1800
;; Query time: 17 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 12 19:15:46 CEST 2025
;; MSG SIZE rcvd: 103'
+ return 0
+ for i in $(echo "$1" | awk -F'.' '{b=$NF;for(i=NF-1;i>0;i--){b=$i FS b;print b}}')
+ fallbackedDig CAA server.duraweb.eu +short
+ lastret=1
+ for i in "${DNS_SERVERS[@]}"
+ grep -m1 -q -F -- issue
++ dig @8.8.8.8 CAA server.duraweb.eu +short
+ resp=
+ lastret=0
+ '[' 0 -eq 0 ']'
+ echo ''
+ return 0
+ fallbackedDig CAA server.duraweb.eu
+ lastret=1
+ for i in "${DNS_SERVERS[@]}"
+ grep -m1 -q -F -- SERVFAIL
++ dig @8.8.8.8 CAA server.duraweb.eu
+ resp='
; <<>> DiG 9.16.23-RH <<>> @8.8.8.8 CAA server.duraweb.eu
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38296
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;server.duraweb.eu. IN CAA
;; AUTHORITY SECTION:
duraweb.eu. 1202 IN SOA brenda.ns.cloudflare.com. dns.cloudflare.com. 2380491896 10000 2400 604800 1800
;; Query time: 9 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 12 19:15:46 CEST 2025
;; MSG SIZE rcvd: 110'
+ lastret=0
+ '[' 0 -eq 0 ']'
+ echo '
; <<>> DiG 9.16.23-RH <<>> @8.8.8.8 CAA server.duraweb.eu
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38296
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;server.duraweb.eu. IN CAA
;; AUTHORITY SECTION:
duraweb.eu. 1202 IN SOA brenda.ns.cloudflare.com. dns.cloudflare.com. 2380491896 10000 2400 604800 1800
;; Query time: 9 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 12 19:15:46 CEST 2025
;; MSG SIZE rcvd: 110'
+ return 0
+ true
+ '[' http = http ']'
+ has_webserver
+ '[' -z 0 ']'
+ return 0
+ challenge_check server.duraweb.eu
++ openssl rand -hex 16
+ TEMP_FILENAME=letsencrypt_2c46d23910426b802ce53ceabb94a13e
+ touch /var/www/html/.well-known/acme-challenge/letsencrypt_2c46d23910426b802ce53ceabb94a13e
+ chmod 644 /var/www/html/.well-known/acme-challenge/letsencrypt_2c46d23910426b802ce53ceabb94a13e
++ fallbackedDig AAAA server.duraweb.eu +short
++ lastret=1
++ for i in "${DNS_SERVERS[@]}"
++ grep -v '\.$'
++ tail -n1
+++ dig @8.8.8.8 AAAA server.duraweb.eu +short
++ resp=
++ lastret=0
++ '[' 0 -eq 0 ']'
++ echo ''
++ return 0
+ IP_TO_RESOLV=
+ echo ''
+ grep -m1 -q :
+ IP_TO_RESOLV=
+ '[' -z '' ']'
++ fallbackedDig server.duraweb.eu +short
++ lastret=1
++ for i in "${DNS_SERVERS[@]}"
++ tail -n1
+++ dig @8.8.8.8 server.duraweb.eu +short
++ resp=195.240.80.244
++ lastret=0
++ '[' 0 -eq 0 ']'
++ echo 195.240.80.244
++ return 0
+ IP_TO_RESOLV=195.240.80.244
+ '[' -z 195.240.80.244 ']'
+ command -v ping6
+ false
+ ping6 -q -c 1 -W 1 server.duraweb.eu
++ fallbackedDig server.duraweb.eu +short
++ lastret=1
++ for i in "${DNS_SERVERS[@]}"
++ tail -n1
+++ dig @8.8.8.8 server.duraweb.eu +short
++ resp=195.240.80.244
++ lastret=0
++ '[' 0 -eq 0 ']'
++ echo 195.240.80.244
++ return 0
+ IP_TO_RESOLV=195.240.80.244
+ CURL_OPTIONS=('--connect-timeout' '40' '-k' '--silent')
+ local CURL_OPTIONS
+ '[' -n 195.240.80.244 ']'
+ CURL_OPTIONS+=("--resolve" "${1}:80:${IP_TO_RESOLV}" "--resolve" "${1}:443:${IP_TO_RESOLV}")
+ curl --connect-timeout 40 -k --silent --resolve server.duraweb.eu:80:195.240.80.244 --resolve server.duraweb.eu:443:195.240.80.244 -I -L -X GET [URL]http://server.duraweb.eu/.well-known/acme-challenge/letsencrypt_2c46d23910426b802ce53ceabb94a13e[/URL]
+ grep -m1 -q 'HTTP.*200'
+ '[' '' = silent ']'
+ '[' -e /var/www/html/.well-known/acme-challenge/letsencrypt_2c46d23910426b802ce53ceabb94a13e ']'
+ rm -f /var/www/html/.well-known/acme-challenge/letsencrypt_2c46d23910426b802ce53ceabb94a13e
++ echo server.duraweb.eu
++ cut -d, -f1
+ FIRST_DOMAIN=server.duraweb.eu
+ IFS=,
+ read -ra DOMAIN_ARRAY
+ ACME=
+ domain_conf_file=/usr/local/directadmin/data/users/root/domains/server.duraweb.eu.conf
+ domain_ssl_file=/usr/local/directadmin/data/users/root/domains/server.duraweb.eu.ssl
+ '[' -s /usr/local/directadmin/data/users/root/domains/server.duraweb.eu.conf ']'
+ '[' -s /usr/local/directadmin/data/users/root/domains/server.duraweb.eu.ssl ']'
+ '[' '' '!=' '' ']'
+ '[' '' = '' ']'
++ da config-get default_acme_provider
+ ACME=letsencrypt
+ local challenge=
+ '[' http = dns ']'
+ issue_lego_cert letsencrypt '' '' server.duraweb.eu
+ local provider=letsencrypt
+ local key_type=
+ local dnsprovider=
+ domains=('server.duraweb.eu')
+ local domains
+ local email
+++ da admin
++ sed -n 's/^email=\([^,]*\).*$/\1/p' /usr/local/directadmin/data/users/admin/user.conf
+ email=[EMAIL][email protected][/EMAIL]
+ '[' -z [EMAIL][email protected][/EMAIL] ']'
++ acme_provider_url letsencrypt
++ local provider=letsencrypt
++ case "${provider}" in
++ echo [URL]https://acme-v02.api.letsencrypt.org/directory[/URL]
++ lego_key_type ''
++ local key_type=
++ case "${key_type}" in
++ echo ec256
+ args=('--path' '/usr/local/directadmin/data/.lego' '--dns.resolvers' '8.8.8.8' '--accept-tos' '--server' '[URL]https://acme-v02.api.letsencrypt.org/directory[/URL]' '--email' '[EMAIL][email protected][/EMAIL]' '--key-type' 'ec256')
+ local args
+ '[' -z '' ']'
+ args+=(--http)
+ has_webserver
+ '[' -z 0 ']'
+ return 0
+ args+=("--http.webroot" "/var/www/html")
+ for d in "${domains[@]}"
+ args+=(--domains "$d")
+ /usr/local/bin/lego --path /usr/local/directadmin/data/.lego --dns.resolvers 8.8.8.8 --accept-tos --server [URL]https://acme-v02.api.letsencrypt.org/directory[/URL] --email [EMAIL][email protected][/EMAIL] --key-type ec256 --http --http.webroot /var/www/html --domains server.duraweb.eu run --no-bundle '--preferred-chain=ISRG Root X1'
2025/08/12 19:15:47 [INFO] [server.duraweb.eu] acme: Obtaining SAN certificate