Difficoltà nell'installazione su VM che include CPanel e Apache

Ciao a tutti!

**Questo è il mio primo post. **

Sono un nuovo utente di Discourse proveniente da phpBB.
Due settimane fa, ho installato Discourse in un container Docker usando Nginx, poiché Apache usa le porte 80 e 443 per impostazione predefinita. Ho seguito attentamente i passaggi delineati nelle guide di installazione e nella configurazione multisito di Nginx.

Sono riuscito a eseguire e utilizzare il forum per una settimana, accedendo solo occasionalmente per familiarizzare con la piattaforma. Quando ho chiesto a uno degli utenti di registrarsi e testarlo, il forum è andato in crash il giorno successivo. Il browser ha visualizzato il messaggio: “Il software che alimenta questo forum di discussione ha riscontrato un problema imprevisto”. Non sono riuscito a risolverlo, quindi ho reinstallato l’intero forum da zero e poi ho ripristinato i thread dall’ultimo backup disponibile. Questo è successo giovedì scorso. Dopo tutto questo, il forum è tornato online e funzionante. Ora, è di nuovo online con un errore Nginx 502 Bad Gateway. Sono andato direttamente a ricostruire l’app e si è bloccata di nuovo con l’errore:

Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 580 exit 1>.

La stessa cosa è successa più e più volte la scorsa settimana e mi ha portato a reinstallare tutto da zero. Il forum è praticamente inattivo perché non l’ho ancora reso pubblico. Ho paura dell’idea che se continua a bloccarsi senza attività, cosa potrebbe succedere con un gruppo di utenti più numeroso? Esegui questi comandi: ./launcher enter app

**cd /var/www/discourse**
**su discourse -c 'bundle exec rake db:migrate'**

E nella risposta, vedo questo che ha attirato la mia attenzione:

connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: the database system is starting up

Ho provato a riavviare Postgress manualmente ed eseguire nuovamente la ricostruzione, ma il processo è stato interrotto di nuovo con questo messaggio di errore:

FAILED
--------------------
Pups::ExecError: if [ -f /root/install_postgres ]; then
/root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi
 failed with return #<Process::Status: pid 18 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"tag"=>"db", "cmd"=>"if [ -f /root/install_postgres ]; then\n /root/install_postgres && rm -f /root/install_postgres\nelif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then\n socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container exit ; 1\nfi\n"}
bootstrap failed with exit code 1

Non sono un utente esperto per identificare l’errore, ma sospetto che Postgres si bloccherà a un certo punto. Questo mi ha portato a riavviare tutto e ricominciare da capo la scorsa settimana, ma non credo che questa sia una pratica comune o sana per chiunque.

Discourse è in esecuzione su un server con 4 core, 6 GB di RAM e 180 GB di spazio su disco. Attualmente sto eseguendo solo questa installazione di Discourse, quindi per quanto ne so, non sono limitato dall’hardware.

Benvenuto, @Gustavo_Rip! Mi dispiace che tu stia riscontrando problemi.

Hai eseguito un’installazione standard? Con un’installazione standard, non hai bisogno né di Nginx né di Apache (ed entrambi utilizzano le porte 80 e 443 per impostazione predefinita). Se hai installato uno di questi, dovresti rimuoverli prima di iniziare.

Hai bisogno del multisito? Anche se ne avessi bisogno, ti consiglierei prima di eseguire un’installazione standard, e poi di seguire questa guida: Setup Multisite Configuration with Let’s Encrypt and no Reverse Proxy. Ho aiutato qualcuno ieri e sembra che se usi i nomi host corretti e non usi Cloudflare con la nuvola arancione, funziona benissimo.

2 Mi Piace

Grazie pfaffmann!!

Fortunatamente, non sono una di quelle persone che si arrendono facilmente, anche se questi problemi successivi mi preoccupano, soprattutto perché non ho familiarità al 100% con questa piattaforma.

Per impostazione predefinita, il mio CloudServer ha Apache installato e, se lo rimuovo, causa problemi con CPanel e altre funzionalità. L’ho provato durante la prima installazione perché ho letto che nginx era molto migliore e più veloce, ma ho avuto i problemi che ho menzionato. Pertanto, ho reinstallato il sistema operativo sul server e ho ricominciato da capo, seguendo questa raccomandazione:

Non è che abbia più siti, almeno non ancora, perché il mio CloudServer consente fino a 5 account.

Per quanto riguarda l’installazione standard, ho seguito tutti i passaggi per installare Docker, Discourse, Certbot e scaricare i certificati Let’s Encrypt, ma quando ho eseguito discourse-setup, ho dovuto eseguire la configurazione manuale seguendo il link sopra e configurando manualmente il file app.yml per eseguire la ricostruzione.

In realtà non vuoi CPanel. Non aggiunge nulla e rende molto più difficile installare Discourse. E se lo hai, non puoi seguire le istruzioni NGinx poiché Apache è già di intralcio.

Se puoi rimuovere Apache e CPanel, fallo. Se non puoi, ti consiglio un servizio di hosting diverso.

In realtà, quello che hai potrebbe non funzionare affatto, riesci a eseguire

docker run hello-world

1 Mi Piace

Quale servizio di hosting consigli? o qual è il più utilizzato per le installazioni di Discourse?

Sì! questo è il messaggio:

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Qualsiasi cosa che non installi CPanel. Ci sono diversi argomenti su quelli consigliati. Digital Ocean è facile.

Ah. Allora se potessi semplicemente sbarazzarti di Apache e CPanel, saresti a posto. Questo sembra il modo più semplice per procedere da dove ti trovi.

L’altro modo è mantenere CPanel e escogitare un modo per far diventare il tuo Apache esistente un proxy inverso. Sarai da solo, però, poiché ci sono troppi buchi specifici dell’installazione in cui cadere perché le persone possano essere di grande aiuto qui.

Molti suggerimenti qui:

Grazie @pfaffman per il tuo tempo e le tue risposte!!

Non credo che sia probabile che rimuova Apache e CPanel. Forse il mio provider di server cloud può modificare le porte di Apache in modo che non utilizzi le stesse di Discourse, eliminando così nginx, o modificare CPanel per Ferozo o un altro servizio. Non lo so, ma chiederò.

Cordiali saluti!

1 Mi Piace