Comment ouvrir via l'IP interne ?

Chers experts,

Je vous remercie sincèrement pour vos contributions !!

Actuellement, j’ai réussi à compiler Discourse sur mon ordinateur local et je peux y accéder via localhost:3000. C’est formidable, y compris pour créer des sujets, publier des messages, etc.

J’ai principalement suivi ce guide : ici. C’est vraiment génial !

Cependant, je ne peux pas y accéder via mon adresse IP interne (c’est-à-dire une adresse IP de réseau local). Par exemple, 10.1.2.139 (un type d’adresse IP similaire). Je souhaite accéder à ce forum depuis différents appareils (c’est-à-dire depuis mon ordinateur portable).

Reproduire

Téléchargez le script bash (install_discourse.sh) depuis : 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 (cela entraînera des erreurs.)

Démarrer le serveur :

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

Créer un administrateur

RAILS_ENV=development bundle exec rake admin:create

Configurer la messagerie

mailcatcher --http-ip 0.0.0.0

Avez-vous des suggestions pour accéder via l’adresse IP locale ?
Merci beaucoup.

Cordialement,
Chieh

2 « J'aime »

Quelle commande avez-vous utilisée pour démarrer le serveur ? Vous devez utiliser celle-ci :

bundle exec rails server --binding=0.0.0.0
3 « J'aime »

J’ai moi aussi eu des difficultés à faire en sorte que ma machine de développement écoute l’adresse IP avec une installation récente de développement sur Ubuntu.

Je suis presque certain d’avoir suivi les recommandations de Simon, ainsi que d’avoir utilisé bin/rails.

2 « J'aime »

Cher @simonk,

Merci pour votre réponse !!
J’utilise Ctrl+C pour arrêter le processus dans le terminal, puis je le relance avec la commande bundle exec rails server --binding=0.0.0.0, mais cela ne semble toujours pas fonctionner.

Je me demande comment l’arrêter correctement pour le relancer ensuite ? J’ai remarqué que même après avoir fermé le terminal, je peux toujours accéder au forum. De plus, je n’ai pas construit via un conteneur Docker, donc je n’ai pas de launcher pour utiliser la commande ./launcher stop app. J’ai également essayé kill $(cat tmp/pids/server.pid), mais la réponse était cat: tmp/pids/server.pid No such file or directory.

Je vous serais très reconnaissant pour tout indice que vous pourriez fournir.

Merci beaucoup !

Cordialement,
Chieh

1 « J'aime »

(Avertissement : Je n’ai jamais exécuté Rails de cette manière moi-même — j’utilise plutôt l’environnement de développement basé sur Docker)

En êtes-vous sûr ? Je me suis déjà fait avoir parce que mon navigateur avait mis en cache l’application Discourse et me permettait de naviguer entre les sujets, même si le processus serveur n’était pas en cours d’exécution. Vous devriez peut-être tester avec curl à la place :

curl http://localhost:3000

Vous pouvez également vérifier si des processus ruby sont en cours d’exécution :

ps -ef | grep ruby

L’outil netstat peut vous indiquer quels processus écoutent sur quels ports. Par exemple, si j’exécute un serveur web Python trivial comme ceci :

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

Ensuite, exécutez 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
...

Cela m’indique que le PID 2511478 écoute sur le port 8099 sur toutes les interfaces (0.0.0.0 signifie « toutes les interfaces »). Pour obtenir un peu plus d’informations sur ce processus :

$ 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 « J'aime »

Bonjour @simonk,

Merci pour ces informations ! Elles sont très utiles. De plus, j’ai déjà migré vers docker-container de cette manière.
Je vais essayer davantage avec Discourse. Je suis vraiment enthousiaste à ce sujet.

Merci encore !

Cordialement,
Chieh

1 « J'aime »

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