Problema al instalar Discourse en OVH VPS Ubuntu 22.04

La autocomprobación se realiza antes de emitir un certificado.

1 me gusta

¿Qué hay de iptables?

Consulta este ejemplo de la guía de instalación de prueba de Oracle: https://meta.discourse.org/t/install-discourse-on-oracle-cloud-free-tier/215749#configure-ubuntus-firewall-iptables-11

Puedes revisar estos registros:

/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

Y el de Discourse desde docker logs your-container (o) tu archivo de registro si estás alojando sin Docker.

Hay demasiados problemas posibles aquí:

  • Problema de DNS o SSL (más común).
  • Configuraciones erróneas del firewall, enrutamiento o red.
  • Base de datos, caché, servicios de Discourse.

Sin registros o más información, es casi imposible dar más consejos.

El siguiente paso es tan simple como guardar el archivo del certificado como ssl.crt y ssl por category.key y arrastrarlo a los directorios del servidor /var/discourse/shared/standalone/ssl/ssl.crt y /var/discourse/shared/standalone/ssl/ssl.key.

Vi el ejemplo que me diste. Seguí todos los pasos.
La única diferencia es que cuando ejecuto: netfilter-persistent save
No responde nada, a diferencia del ejemplo donde se puede ver que responde run-parts: …
image
Intenté instalar discourse desde el principio y ejecuté estas 2 iptables antes:
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

Obtengo este problema:
Los puertos 80 y 443 están libres para su uso
‘samples/standalone.yml’ → ‘containers/app.yml’
Se encontraron 2 GB de memoria y 1 núcleo de CPU físicos
configurando db_shared_buffers = 256MB
configurando UNICORN_WORKERS = 4
parámetros de memoria de containers/app.yml actualizados.

Nombre de host para tu Discourse? [discourse.example.com]: mywebsite.fr

Comprobando el nombre de tu dominio . . .
ADVERTENCIA: El puerto 443 del ordenador no parece ser accesible usando el nombre de host: mywebsite.fr.
ADVERTENCIA: La conexión a http://mywebsite.fr (puerto 80) también falla.

Esto sugiere que mywebsite.fr se resuelve a una dirección IP que no llega a esta
máquina donde estás instalando discourse.

Lo primero que debes hacer es confirmar que mywebsite.fr se resuelve a la dirección IP de este servidor.
Normalmente haces esto en el mismo lugar donde compraste el dominio.

Si estás seguro de que la dirección IP se resuelve correctamente, podría ser un problema de firewall.
Una búsqueda en la web de “abrir puertos TU SERVICIO EN LA NUBE” podría ayudar.

Esta herramienta está diseñada solo para las instalaciones más estándar. Si no puedes resolver
el problema anterior, deberás editar tú mismo containers/app.yml y luego escribir

Hola @satonotdead
Comprobé que no tengo esta carpeta /var/log/nginx /var/log/apache2

Aquí abajo está la configuración de mi firewall en mi proveedor de VPS:

No estoy seguro de entender @xiaokong23357.
¿Quieres decir que puedo instalar la configuración http descomentando la línea https en app.yml y luego hacer este paso manualmente:
guardando el archivo del certificado como ssl.crt y el archivo de clave como ssl.key y arrastrándolo al directorio del servidor /var/discourse/shared/standalone/ssl/ssl.crt y /var/discourse/shared/standalone/ssl/ssl.key

Hola,

Modifiqué app.yml manualmente. Ahora me aparece el siguiente mensaje en mi navegador:

¡Bienvenido a nginx!

Si ves esta página, el servidor web nginx está instalado y funcionando correctamente. Se requiere una configuración adicional.

Para documentación y soporte en línea, consulta nginx.org.
El soporte comercial está disponible en nginx.com.

Gracias por usar nginx.

Y parece que tengo el SSL, porque: /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

¿Qué puedo hacer ahora, por favor? ¿Cómo puedo realizar la configuración solicitada?

De hecho, cuando introduce el elemento de plantilla “templates/web.ssl.template.yml” en app.yml, su sitio web ya ha comenzado a usar la comunicación https, y he dicho anteriormente cómo configurar el método de configuración del certificado SSL.

1 me gusta

Además, nginx se usa generalmente cuando se ejecutan varios sitios web en tu servidor, y puedes optar por ignorarlo si solo ejecutas discourse.

1 me gusta

Está bien porque está ejecutando una sola instancia, pero solo preguntaba porque es algo que hay que comprobar.

Ya casi ha terminado, solo necesita comprobar el paso de creación de certificados SSL, como dijo Snow Love.

Sospecho que ha ignorado algunas de las directrices, un consejo amistoso → es mejor tomarnos nuestro tiempo al leer la documentación y las directrices (para nuestro propio tiempo, quiero decir).

Buena suerte :person_surfing:

@xiaokong23357 Solo uso discourse. ¿Cómo puedo ignorarlo?

Hola @satonotdead

¿Disculpa, a qué directrices te refieres?
Seguí este documento: discourse/INSTALL-cloud.md en main · discourse/discourse · GitHub

¿Cómo puedo hacer eso? Necesito verificar el paso de creación de certificados SSL como dijo Snow Love.

Encontré esto en /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

Mírate, no estoy usando nginx para mi despliegue aquí.

Si necesita usar nginx, ponga el “-80:80” en expose
#http “Modificar a” - “9090:80” # http" asegura que nginx pueda ser proxied a discourse

No entiendo por qué tengo este problema con nginx. Nunca solicité usar nginx.
¿Quieres decir que tengo que cambiar el archivo app.yml a:
expose:

  • “9090:80” # http” asegura que nginx pueda ser proxied a discourse
  • “443:443” # https

Sí, para usar nginx, necesitas modificar el puerto del proxy HTTP.
Si no usas nginx, cambia el puerto HTTP 9090 a 80.

@Titi ¿cuál es el resultado de ejecutar este comando?

apt list | grep nginx.

Pienso que, dado que obtuviste la página de índice predeterminada genérica de nginx, tu VPS de hecho tiene nginx instalado y está causando tu problema.

Discourse también usa nginx internamente, pero necesitarías una instalación gravemente rota para que el nginx interno muestre esa página.

1 me gusta

La tarea más fácil es ejecutar systemctl status nginx. Si el estado es activo, lo detienes con systemctl stop nginx y, para asegurarte de que permanezca así, ejecutas systemctl disable nginx.

Y después de todo eso, verificarás dos veces que sigues exponiendo 80:80 y 443:443 en app.yml. Eso es todo.

1 me gusta