Debian 12 신규 설치 시 설치 실패

안녕하세요,

새로 설치된(또는 최소한 사용된 적 없는) Debian 12에서 설치하려고 시도했을 때 발생한 내용입니다. Python은 업그레이드했지만, 기억에 따르면 다른 것은 건드리지 않았습니다.

다음과 같은 오류로 어려움을 겪고 있습니다:

137:M 17 Mar 2024 16:21:01.235 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
137:M 17 Mar 2024 16:21:01.235 # Failed listening on port 6379 (TCP), aborting.

2024/03/17 16:20:43 socat[18] E connect(6, AF=1 “/shared/postgres_run/.s.PGSQL.5432”, 36): No such file or directory

#<Thread:0x00007f2b43a68d60 /var/www/discourse/lib/tasks/maxminddb.rake:62 run> terminated with exception (report_on_exception is true):
/var/www/discourse/lib/discourse_ip_info.rb:48:in mmdb_download': undefined method path’ for nil:NilClass (NoMethodError)

filename = File.basename(gz_file.path)
                                ^^^^^
    from /var/www/discourse/lib/tasks/maxminddb.rake:67:in `block (3 levels) in <main>'
    from /var/www/discourse/lib/tasks/maxminddb.rake:65:in `each'
    from /var/www/discourse/lib/tasks/maxminddb.rake:65:in `block (2 levels) in <main>'
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' failed with return #<Process::Status: pid 3336 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
619974b6c74197dbc9967aeaba0a6f730518b76df52b706b769a4a7a6b1dad97
root@vpsd:/var/discourse#

전체 디버그: https://appp.me/eMmboN

포트는 사용 가능합니다:

root@vpsd:~# lsof -i:6379
root@vpsd:~# lsof -i:443
root@vpsd:~# lsof -i:80

ipchains 테이블:
(거기서는 수정이 이루어지지 않았습니다)

iptables -S
-P INPUT ACCEPT
-P FORWARD DROP
-P OUTPUT ACCEPT
-N DOCKER
-N DOCKER-ISOLATION-STAGE-1
-N DOCKER-ISOLATION-STAGE-2
-N DOCKER-USER
-A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A DOCKER-ISOLATION-STAGE-1 -i docker0 ! -o docker0 -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j RETURN
-A DOCKER-ISOLATION-STAGE-2 -o docker0 -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j RETURN
-A DOCKER-USER -j RETURN

안녕하세요, 저도 Debian 12에서 동일한 문제를 겪고 있습니다.

도움이 될지 모르겠지만 전체 설치 로그를 공유합니다: Untitled (7mjaes0e) - PasteCode.io

Ubuntu 22를 설치한 후 MaxMind API 키를 제거하여 문제를 해결했습니다. API 키를 제거해 보시고 이것이 문제를 해결하는지 확인해 보세요.

MaxMind API 키를 제거한 후 설치를 완료할 수 있었습니다. 하지만 시작할 때 letsencrypt의 스로틀링과 관련된 오류가 계속 발생하고, 그 후 SSL 관련 파일이 없다는 오류가 나고 있습니다.

[Mon 18 Mar 2024 05:50:19 AM UTC] Using CA: https://acme-v02.api.letsencrypt.org/directory
[Mon 18 Mar 2024 05:50:19 AM UTC] Single domain='forums.alliedadmins.com'
[Mon 18 Mar 2024 05:50:19 AM UTC] Getting domain auth token for each domain
[Mon 18 Mar 2024 05:50:20 AM UTC] Create new order error. Le_OrderFinalize not found. {
  "type": "urn:ietf:params:acme:error:rateLimited",
  "detail": "Error creating new order :: too many failed authorizations recently: see https://letsencrypt.org/docs/failed-validation-limit/",
  "status": 429
}
[Mon 18 Mar 2024 05:50:20 AM UTC] Please check log file for more details: /shared/letsencrypt/acme.sh.log
Can't open ca.cer for reading, No such file or directory
139915733439808:error:02001002:system library:fopen:No such file or directory:../crypto/bio/bss_file.c:69:fopen('ca.cer','r')
139915733439808:error:2006D080:BIO routines:BIO_new_file:no such file:../crypto/bio/bss_file.c:76:
unable to load certificate
Error loading file /dev/fd/63

수정: 스로틀링이 멈추기를 1시간 정도 기다렸지만, 여전히 1~2분 후에 해당 오류가 발생하고 있습니다. 이는 오류가 반복적으로 루프를 돌고 있는 것 같습니다.

일주일 정도 기다리거나 다른 서브도메인을 사용해 보세요.

와, 일주일 쿨다운이 걸린 줄 몰랐네요. 7일 후에 시도해 볼게요. 알려주셔서 감사합니다.

안녕하세요, 일주일 이상 기다렸는데도 첫 시도에 여전히 이 오류가 발생합니다.
로그에 표시되는 오류 메시지는 다음과 같습니다:

run-parts: executing /etc/runit/1.d/letsencrypt
nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
[Sun 12 May 2024 08:58:48 PM UTC] Using CA: https://acme-v02.api.letsencrypt.org/directory
[Sun 12 May 2024 08:58:48 PM UTC] Create account key ok.
[Sun 12 May 2024 08:58:48 PM UTC] Registering account: https://acme-v02.api.letsencrypt.org/directory
[Sun 12 May 2024 08:58:49 PM UTC] Registered
[Sun 12 May 2024 08:58:49 PM UTC] ACCOUNT_THUMBPRINT='[REDACTED]'
[Sun 12 May 2024 08:58:49 PM UTC] Creating domain key
[Sun 12 May 2024 08:58:49 PM UTC] The domain key is here: /shared/letsencrypt/[REDACTED]/[REDACTED].key
[Sun 12 May 2024 08:58:49 PM UTC] Single domain='[REDACTED]'
[Sun 12 May 2024 08:58:49 PM UTC] Getting domain auth token for each domain
[Sun 12 May 2024 08:58:50 PM UTC] Getting webroot for domain='[REDACTED]'
[Sun 12 May 2024 08:58:50 PM UTC] Verifying: [REDACTED]
[Sun 12 May 2024 08:58:50 PM UTC] Pending, The CA is processing your order, please just wait. (1/30)
[Sun 12 May 2024 08:58:53 PM UTC] forums.alliedadmins.com:Verify error:[REDACTED]: Fetching http://[REDACTED]/.well-known/acme-challenge/[REDACTED]: Connection refused
[Sun 12 May 2024 08:58:53 PM UTC] Please check log file for more details: /shared/letsencrypt/acme.sh.log
Can't open ca.cer for reading, No such file or directory
140138822399296:error:02001002:system library:fopen:No such file or directory:../crypto/bio/bss_file.c:69:fopen('ca.cer','r')
140138822399296:error:2006D080:BIO routines:BIO_new_file:no such file:../crypto/bio/bss_file.c:76:
unable to load certificate
Error loading file /dev/fd/63

어떤 조언이나 제안을 주시면 감사하겠습니다.

이것이 문제입니다.

무언가가 변경한 URL을 Let’s Encrypt가 방문하는 것을 막고 있는 것으로 보입니다. 포트 80이 차단되어 있나요? Cloudflare의 오렌지 클라우드(프록시)를 사용하고 계신가요?

무엇이 이를 방해하는 것은 없으며, 방화벽에서는 80번 포트가 허용되어 있고, 이는 대외 공개용 가상 호스트(vhost)입니다. Cloudflare를 사용하지 않습니다. :frowning:

[Sun 12 May 2024 08:58:50 PM UTC] 대기 중, CA가 주문을 처리 중이므로 잠시만 기다려 주세요. (1/30)
[Sun 12 May 2024 08:58:53 PM UTC] forums.alliedadmins.com:Verify error:74.91.113.188: Fetching http://forums.alliedadmins.com/.well-known/acme-challenge/[REDACTED]: Connection refused

discourse-setup을 실행하셨나요? 그리고 거기서 테스트를 통과하셨나요?

로그는 어디서 받으셨나요?

네, discourse-setup을 실행하고 프롬프트에 따라 진행했으며, maxmind 필드는 비워 두었습니다. /var/discourse/launcher logs app 명령을 실행하여 로그를 가져왔습니다.

제 추측으로는 DNS가 아직 전파되지 않았기 때문일 것 같습니다. 하지만 여전히 오류가 발생하고 있다면 좋은 해결책이 없습니다.

DNS는 몇 주 전에 설정했기 때문에 그쪽도 문제가 아닙니다. :frowning:
저도 확실하지 않습니다. 호스트 서버에서 certbot을 구성하고 discourse가 인증서 파일 위치를 가리키도록 할 수 없다는 점이 아쉽습니다. 일주일이 지나면 로컬 머신에서 certbot --standalone을 시도해 보고 어떻게 되는지 확인해 보겠습니다.

여러 도메인/리다이렉트와 함께 Let’s Encrypt 설정하기가 가능합니다. 만약 그것이 문제라면, 다른 서브도메인을 추가하고 새로운 인증서를 발급받을 수도 있습니다. 또한 자체 인증서를 사용할 수도 있습니다.