Ehi, ho configurato Discourse di default su una macchina Linux usando questa guida. È andato tutto super fluido e il sito è partito perfettamente.
Ho deciso di permettere agli utenti di connettersi tramite Facebook, quindi ho seguito le istruzioni di Facebook collegate dalla guida sopra (non posso linkarle di nuovo perché sembra che i nuovi utenti possano pubblicare solo 2 link). Alla fine non ha funzionato, ma il sito era ancora attivo e funzionante (non ricordo l’errore che ho ottenuto quando ho provato ad accedere tramite Facebook).
Mentre leggevo la documentazione di Facebook, ho visto qualcosa sul fatto che fosse necessario abilitare HTTPS, quindi ho iniziato a seguire questa documentazione. Tutto è andato bene fino a ./launcher rebuild app, dove ho ricevuto un errore di postgres. Questo mi ha sorpreso, perché non avevo modificato la configurazione di postgres (per quanto ne sappia). Il primo errore è qui sotto:
INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
rake aborted!
PG::ConnectionBad: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Non ho fermato il servizio postgres, ma ho provato a eseguire service start postgres e mi ha detto che non era installato. Quindi presumo che sia installato automaticamente in un modo diverso da quello a cui sono abituato. Avete idee su cosa avrei potuto sbagliare? Grazie
Il mio container/app.yml:
templates:
- "templates/web.template.yml"
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.template.yml"
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
expose:
- "80:80" # http
- "443:443" # https
params:
db_default_text_search_config: "pg_catalog.english"
db_shared_buffers: "128MB"
env:
LANG: en_US.UTF-8
LETSENCRYPT_ACCOUNT_EMAIL: 'myotheremail@gmail.com'
UNICORN_WORKERS: 2
DISCOURSE_HOSTNAME: mysite.com
DISCOURSE_DEVELOPER_EMAILS: 'myemail@gmail.com'
DISCOURSE_SMTP_ADDRESS: smtp.gmail.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: myemail@gmail.com
DISCOURSE_SMTP_PASSWORD: "myPa$$word"
## L'indirizzo CDN http o https per questa istanza di Discourse (configurato per il recupero)
## vedere https://meta.discourse.org/t/14857 per i dettagli
#DISCOURSE_CDN_URL: https://discourse-cdn.example.com
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
run:
- exec: echo "Inizio dei comandi personalizzati"
- exec: echo "Fine dei comandi personalizzati"
Yes, that’s correct. And those are the instructions I followed. I did move to the facebook login connect guide first, but I am doubtful that that’s the issue. I went through the guide that you posted, and moved on to https, and now I’m having the issues listed above.
Ok, well when I finished the first guide, the site was up, but it wasn’t https. I assumed it wouldn’t be https until I enabled it. I’ll go back through the instructions, maybe I didn’t understand something, then I’ll report back.
Ok, I got the app back up, but I don’t see anywhere in these instructions that could possibly setup the site as https as there’s nowhere that involves a cert other than the Let’s Encrypt method at the bottom. What am I missing? Can you point me to where exactly in those instructions it would set up https?
I bet I hit ENTER to skip and didn’t even realize it. If that’s the case, would it just be best to re-run the config, or go through the let’s encrypt instructions. Keeping in mind, I have a little bit of content on the site right now and I don’t want it wiped. (Thanks again for your help)
I think so. I’m pretty experienced working on servers, but I haven’t been very active since Let’s Encrypt came out, so I just assumed that there would be a section on getting a cert in the documentation if that was something that would work out of the box. Since there wasn’t, I assumed I would have to do it in another step. There’s nothing on that page that evens mentions Let’s Encrypt except for the output from the ./disource-setup command. Maybe mention under the Edit Discourse Configuration (before the command) mention that if you want https, then you’ll have to put something in the Let’s Encrypt field. I knew to look on that page for https, but there were not https string matches (when I ctrl+f), so I assumed it wasn’t there. I searched for “https” and “cert”, and since it wasn’t there, I assumed it was separate.
And honestly, if I worked on website hosting more frequently, I probably would have seen Let’s Encrypt and immediately known what was going on. Maybe if there was a “what you’ll need” section, that included an email associated with Let’s Encrypt?
I don’t want this to come off as insulting, the documentation is great, and it was human error (my human error) that caused my issue.
I can’t tell if you couldn’t see the rest of my response, but maybe I’ll just put in a PR with the fixes I think would be good. But really just mentioning that the docs have certs handled would be good.
Ah,! So the install cloud doc doesn’t make it clear? That sounds right.
I’ll have a look at the language at discourse-setup to see if it should make it clearer just what let’s encrypt is. It’s true that it shouldn’t assume that the user knows.