Problema nell'installazione di Discourse su OVH VPS Ubuntu 22.04

L’autoverifica avviene prima che venga rilasciato un certificato.

1 Mi Piace

E per quanto riguarda iptables?

Vedi questo esempio dalla guida all’installazione di prova di Oracle: https://meta.discourse.org/t/install-discourse-on-oracle-cloud-free-tier/215749#configure-ubuntus-firewall-iptables-11

Puoi controllare questi log:

/var/log/nginx/error.log
/var/log/apache2/error.log
/var/log/nginx/access.log
/var/log/apache2/access.log
/var/log/syslog
/var/log/dmesg

E quello di Discourse da docker logs your-container (o) il tuo file di log se stai ospitando senza docker.

Ci sono troppe possibili problematiche qui:

  • Problema DNS o SSL (più comune).
  • Firewall, routing o configurazioni di rete errate.
  • Database, caching, servizi Discourse.

Senza log o maggiori informazioni è quasi impossibile dare ulteriori consigli.

Il passo successivo è semplice come salvare il file del certificato come ssl.crt e ssl per categoria.key e trascinarlo nella directory del server /var/discourse/shared/standalone/ssl/ssl.crt e /var/discourse/shared/standalone/ssl/ssl.key

Ho visto l’esempio che mi hai dato. Ho seguito tutti i passaggi.
L’unica differenza è che quando eseguo: netfilter-persistent save
Non risponde nulla contrariamente all’esempio in cui si può vedere che risponde run-parts: …
image
Ho riprovato a installare discourse dall’inizio e ho eseguito questi 2 iptables prima:
iptables -I INPUT 5 -i ens3 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT 5 -i ens3 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT

Ottengo questo problema:
Le porte 80 e 443 sono libere per l’uso
‘samples/standalone.yml’ → ‘containers/app.yml’
Trovati 2 GB di memoria e 1 core CPU fisici
impostazione db_shared_buffers = 256MB
impostazione UNICORN_WORKERS = 4
parametri di memoria di containers/app.yml aggiornati.

Nome host per il tuo Discourse? [discourse.example.com]: mywebsite.fr

Verifica del nome del dominio in corso…
ATTENZIONE: La porta 443 del computer non sembra essere accessibile utilizzando il nome host: mywebsite.fr.
ATTENZIONE: Anche la connessione a http://mywebsite.fr (porta 80) fallisce.

Ciò suggerisce che mywebsite.fr risolve a un indirizzo IP che non raggiunge questa
macchina su cui stai installando discourse.

La prima cosa da fare è confermare che mywebsite.fr risolva all’indirizzo IP di questo server.
Di solito lo fai nello stesso posto in cui hai acquistato il dominio.

Se sei sicuro che l’indirizzo IP si risolva correttamente, potrebbe essere un problema di firewall.
Una ricerca sul web per “open ports YOUR CLOUD SERVICE” potrebbe essere utile.

Questo strumento è progettato solo per le installazioni più standard. Se non riesci a risolvere
il problema sopra, dovrai modificare tu stesso containers/app.yml e poi digitare

Ciao @satonotdead
Ho controllato, non ho questa cartella /var/log/nginx /var/log/apache2

Ecco la mia configurazione del firewall sul mio provider VPS:

Non sono sicuro di capire @xiaokong23357.
Intendi dire che posso installare la configurazione http decommentando la riga https in app.yml e successivamente eseguire questo passaggio manualmente:
salvare il file del certificato come ssl.crt e la chiave come ssl.key e trascinarli nella directory del server /var/discourse/shared/standalone/ssl/ssl.crt e /var/discourse/shared/standalone/ssl/ssl.key

Ciao,

Ho modificato manualmente il file app.yml. Ora ricevo il seguente messaggio sul mio browser:

Benvenuto in nginx!

Se vedi questa pagina, il server web nginx è installato con successo e funziona. Sono necessarie ulteriori configurazioni.

Per documentazione online e supporto, fai riferimento a nginx.org.
Il supporto commerciale è disponibile su nginx.com.

Grazie per aver utilizzato nginx.

E sembra che io abbia ottenuto il certificato SSL, perché: /var/discourse/shared/standalone/ssl# ls -l
totale 8
-rw-r–r-- 1 root root 0 Mar 3 01:00 mydomain.fr.cer
-rw------- 1 root root 3243 Mar 3 01:00 mydomain.fr.key
-rw-r–r-- 1 root root 0 Mar 3 01:01 mydomain.fr_ecc.cer
-rw------- 1 root root 227 Mar 3 01:01 mydomain.fr_ecc.key

Cosa posso fare ora per favore? Come posso eseguire la configurazione richiesta?

Infatti, quando introduci l’elemento del template “templates/web.ssl.template.yml” in app.yml, il tuo sito web ha già iniziato a utilizzare la comunicazione https e ho detto sopra come configurare il metodo di configurazione del certificato SSL.

1 Mi Piace

Inoltre, nginx viene generalmente utilizzato quando si eseguono più siti Web sul proprio server ed è possibile scegliere di ignorarlo se si esegue solo discourse

1 Mi Piace

Va bene perché stai eseguendo un’unica istanza, ma stavo solo chiedendo perché è qualcosa da controllare.

Hai quasi finito, devi solo controllare il passaggio di creazione dei certificati SSL come ha detto Snow Love.

Sospetto che tu abbia ignorato alcune delle linee guida, un consiglio amichevole → è meglio prendersi il proprio tempo leggendo la documentazione e le linee guida (per il nostro tempo, intendo).

Buona fortuna :person_surfing:

@xiaokong23357 Uso solo discourse. Come posso ignorarlo?

Ciao @satonotdead

Mi dispiace, di quali linee guida stai parlando?
Ho seguito questo documento: discourse/INSTALL-cloud.md at main · discourse/discourse · GitHub

Come posso fare: devo controllare il passaggio di creazione dei certificati SSL come ha detto Snow Love.

Ho trovato questo in /var/discourse/shared/standalone/ssl# ls -l
total 8
-rw-r–r-- 1 root root 0 Mar 3 01:00 mydomain.fr.cer
-rw------- 1 root root 3243 Mar 3 01:00 mydomain.fr.key
-rw-r–r-- 1 root root 0 Mar 3 01:01 mydomain.fr_ecc.cer
-rw------- 1 root root 227 Mar 3 01:01 mydomain.fr_ecc.key

Guarda che non sto usando nginx per il mio deployment qui

Se è necessario utilizzare nginx, inserire "-80:80" in expose
#http "Modificare in" - "9090:80" # http" garantisce che nginx possa essere proxato a discourse

Non capisco perché ho questo problema con nginx. Non ho mai richiesto di usare nginx.
Vuoi dire che devo cambiare il file app.yml in:
expose:

  • “9090:80” # http” garantisce che nginx possa essere proxato a discourse
  • “443:443” # https

Sì, per usare nginx, devi modificare la porta del proxy HTTP
Se non usi nginx, cambia la porta HTTP 9090 in 80

@Titi qual è il risultato dell’esecuzione di questo comando?

apt list | grep nginx.

Sto pensando al fatto che hai ottenuto la pagina di indice nginx predefinita generica che il tuo VPS ha effettivamente installato nginx e sta causando il tuo problema.

Discourse utilizza anche nginx internamente, ma avresti bisogno di un’installazione gravemente danneggiata affinché nginx interno mostri quella pagina.

1 Mi Piace

Il compito più semplice è eseguire systemctl status nginx. Se lo stato è attivo, lo si arresta con systemctl stop nginx e, per assicurarsi che rimanga tale, si esegue systemctl disable nginx.

E dopo tutto ciò, si ricontrolla che si stiano ancora esponendo 80:80 e 443:443 su app.yml. Ecco fatto.

1 Mi Piace