Come aprire tramite IP interno?

Gentili esperti,

apprezzo molto i vostri contributi!!

Attualmente sono riuscito a costruire Discourse sul mio computer locale e posso accedervi tramite localhost:3000. È fantastico, inclusa la possibilità di creare argomenti, pubblicare contenuti, ecc.

Ho seguito principalmente questa guida: qui. È davvero eccellente!

Tuttavia, non riesco ad accedere tramite il mio IP interno (cioè l’indirizzo IP della rete locale). Ad esempio, 10.1.2.139 (un indirizzo di questo tipo). Vorrei poter accedere a questo forum da dispositivi diversi (ad esempio, dal mio laptop).

Riproduzione

Ottieni lo script bash (install_discourse.sh) da: install-rails/linux at main · discourse/install-rails · GitHub

chmod +x install_discourse.sh
sudo ./install_discourse.sh

git clone https://github.com/discourse/discourse.git ~/discourse
sudo -u postgres createuser -s "$USER"
cd ~/discourse

source ~/.bashrc
bundle install

bundle exec rake db:create 
bundle exec rake db:migrate
RAILS_ENV=test bundle exec rake db:create db:migrate

bundle exec rake autospec (potrebbero esserci degli errori.)

Avvia il server:

bundle exec rails server
oppure
bundle exec rails server --binding=0.0.0.0

Crea un amministratore

RAILS_ENV=development bundle exec rake admin:create

Configura la posta

mailcatcher --http-ip 0.0.0.0

Hai qualche suggerimento per accedere tramite l’IP locale?
Grazie mille.

Cordiali saluti,
Chieh

2 Mi Piace

Quale comando hai utilizzato per avviare il server? Devi usare questo:

bundle exec rails server --binding=0.0.0.0
3 Mi Piace

Anch’io ho avuto problemi a far ascoltare la mia macchina di sviluppo all’indirizzo IP con un’installazione di sviluppo recente su Ubuntu.

Sono quasi certo di aver fatto quanto consigliato da Simon, oltre a utilizzare bin/rails.

2 Mi Piace

Gentile @simonk,

Grazie per la tua risposta!!
Ho usato Ctrl+C per fermare il processo nel terminale e poi ho avviato di nuovo con il comando bundle exec rails server --binding=0.0.0.0, ma sembra che non funzioni ancora.

Mi chiedo come fermarlo correttamente per poi riavviarlo? Perché ho notato che, anche dopo aver chiuso il terminale, riesco ancora ad accedere al forum. Inoltre, non sto utilizzando un container Docker, quindi non ho a disposizione il launcher per usare il comando ./launcher stop app. Ho anche provato questo: kill $(cat tmp/pids/server.pid), ma mi ha risposto cat: tmp/pids/server.pid: No such file or directory.

Ti sarei molto grato per qualsiasi suggerimento tu possa fornirmi.

Grazie mille!

Cordiali saluti,
Chieh

1 Mi Piace

(Disclaimer: Non ho mai eseguito Rails in questo modo - uso invece l’ambiente di sviluppo basato su Docker)

Sei sicuro di questo? Mi è già capitato di essere tratto in inganno perché il mio browser aveva memorizzato in cache l’applicazione Discourse e mi permetteva di navigare tra gli argomenti anche se il processo del server non era in esecuzione. Potresti voler fare un test usando curl invece:

curl http://localhost:3000

Potresti anche verificare se ci sono processi ruby in esecuzione:

ps -ef | grep ruby

Lo strumento netstat può dirti quali processi stanno ascoltando su quali porte. Ad esempio, se eseguo un server web Python banale in questo modo:

$ python3 -m http.server 8099
Serving HTTP on 0.0.0.0 port 8099 (http://0.0.0.0:8099/) ...

Eseguo poi netstat:

$ netstat -tlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address    Foreign Address   State    PID/Program name
tcp        0      0 0.0.0.0:8099     0.0.0.0:*         LISTEN   2511478/python3
...

Questo mi dice che il PID 2511478 sta ascoltando sulla porta 8099 su tutte le interfacce (0.0.0.0 significa “tutte le interfacce”). Per ottenere maggiori informazioni su quel processo:

$ ps -fp 2511478
UID          PID    PPID  C STIME TTY          TIME CMD
simon    2511478 1250783  0 09:53 pts/11   00:00:00 python3 -m http.server 8099
3 Mi Piace

Ciao @simonk,

Grazie per le informazioni! Sono molto utili. Inoltre, ho già migrato verso i container Docker in questo modo.
Proverò a fare di più con Discourse. Ne sono davvero entusiasta.

Grazie ancora!

Cordiali saluti,
Chieh

1 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.