Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 28-06-2017 13:49:04

joffrey575
Membre
Distrib. : Debian Jessie et stretch
Inscription : 19-12-2016

Aide configuration réseau Nginx + Turtl : serveur de notes

Bonjour à tous,

Frien de nouveaux projets et de serveurs en ce moment, je tente de configurer le serveur de notes Turtl qui à l'avantage d'avoir un client installable sur n'importe quelle platforme.

Ainsi, pour l'installation sur raspberry-pi2 d'OS raspbian jessie lite, je me suis servit de ces deux liens :

https://framacloud.org/cultiver-son-jar … -de-turtl/
internaute blog : http://brianekummer.blogspot.fr

J'ai suivi tout ce qui a été préconisé et j'aimerais avoir un petit coup de main sur la configuration reseau de Nginx, Turtl et éventuellement Rethinkdb.

De ce que je lis, le serveur turtl n'est pas directement sur le réseau et passe par Nginx hors je ne comprends pas comment faire les interactions Nginx <=> Turtl. J'ai déjà fait du serveur web apache mais la le projet est différent.

Rethinkdb : de mon point de vue, cette base de données ne possède pas de configuration réseau (à moins que concernant la notion de clusters, ... ). Elle serait accessible depuis localhost:8080.

Turtl :

dans /var/www/turtl/api/config, j'ai essentiellement dans le fichier config.lisp


*server-bind* 127.0.0.1        -> changer par l'adresse 192.168.1.40 de ma raspberry-pi en local
  serverport 8181

*db-port* 28015

local upload /var/www/turtl/data
local upload url https://api.notes.example.org



Nginx :

j'ai essentiellement dans le fichier .conf


#A priori du load balancing = partage des taches sur différents serveur sauf sue nb_serveur = 1 ici
upstream turtl {
    server 127.0.0.1:8181;       -> changer par l'adresse  192.168.1.40:768 ? de ma raspberry, port 768                                       au hasard
}

server {
    listen 80 ;
    listen [::]:80 ;
    listen 443 ;
    listen [::]:443 ;

    server_name api.notes.example.org ;

    resolver 192.168.1.1 ;

    index index.html ;

    location / {
        proxy_set_header    Host $host ;
        proxy_pass http://turtl ;
    }
}



Merci par avance.

Bonne journée.

Dernière modification par joffrey575 (28-06-2017 13:51:04)

Hors ligne

#2 28-06-2017 14:14:32

joffrey575
Membre
Distrib. : Debian Jessie et stretch
Inscription : 19-12-2016

Re : Aide configuration réseau Nginx + Turtl : serveur de notes

J'oubliais de préciser ma config reseau :

1 sous-domaine (serveur.domaine.fr) associé à mon adresse IP public de box

1 raspberry-pi associé à la box par 192.168.1.40

Hors ligne

#3 28-06-2017 14:24:22

otyugh
Membre
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016

Re : Aide configuration réseau Nginx + Turtl : serveur de notes

Bêtement nginx, comme apache, sont des serveurs web, ils distribuent des pages.

Pour lancer un test tu fais "systemctl reload nginx".
Pour vérifier les erreurs remontés tu laisses une console sur "tail -f /var/log/nginx/error.log"

Pour tester les pages sans navigateur (parce qu'ils ont des cache et que c'est chiant) : "curl -D- mapage" est vachement pratique.

À partir de là tu devrais pouvoir creuser comme un grand, ou nous donner une erreur concrète sur lequel tu bloques.

Dernière modification par otyugh (28-06-2017 14:24:51)


Agenda du libre : se faire dépanner/dépanner IRL ! Le libre n'est pas qu'un phénomène internet.
Framapad sur les balados : Emissions audio pro/amateur, votre radio sur-mesure !

Hors ligne

#4 28-06-2017 14:37:11

joffrey575
Membre
Distrib. : Debian Jessie et stretch
Inscription : 19-12-2016

Re : Aide configuration réseau Nginx + Turtl : serveur de notes

Oui d'accord mais est-ce que Turtl doit bénéficier d'une connexion au réseau extérieur sachant que Nginx devrait être la pour ça ?

Après je ne vois pas trop comment le client turtl (sur un smartphone ou un PC) peut récupérer des pages de notes à partir de Nginx.

Nginx est donc connecté à Turtl mais comment, ... vu que turtl est un serveur normalement, le serveur Turtl échangerait avec le serveur Nginx ?

Après comment configurer tout cela, ... en local sur la même machine, ce sont des échanges par adresses IP et port?

En faisant "nginx -t && nginx -s reload" :

pi@raspberrypi:~$ nginx -t && nginx -s reload
nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2017/06/28 12:39:44 [warn] 4723#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
2017/06/28 12:39:44 [emerg] 4723#0: host not found in "80 " of the "listen" directive in /etc/nginx/sites-enabled/api.notes.example.org.conf:8
nginx: configuration file /etc/nginx/nginx.conf test failed

Dernière modification par joffrey575 (28-06-2017 14:42:21)

Hors ligne

#5 28-06-2017 19:32:27

otyugh
Membre
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016

Re : Aide configuration réseau Nginx + Turtl : serveur de notes

Comme je l'ai écrit plus haut, tu devrais gérer nginx avec systemctl, c'est comme ça depuis debian jessie du moins (et c'est la raison de la première et deuxième alerte) - en plus ça t'évitera d'avoir deux instances qui courent...
Le troisième warning : c'est écrit que le problème est à la ligne 8... Ça me saute pas aux yeux. C'est normal que t'aies mis un espace avant chaque ";", j'en ai jamais mis ? Ça paraît trop simple mais on sait jamais big_smile

Dernière modification par otyugh (28-06-2017 19:33:16)


Agenda du libre : se faire dépanner/dépanner IRL ! Le libre n'est pas qu'un phénomène internet.
Framapad sur les balados : Emissions audio pro/amateur, votre radio sur-mesure !

Hors ligne

#6 30-06-2017 18:50:13

joffrey575
Membre
Distrib. : Debian Jessie et stretch
Inscription : 19-12-2016

Re : Aide configuration réseau Nginx + Turtl : serveur de notes

Alors, voici ce que j'ai mis comme config.

Nginx écoute sur le port 80 et redirige via proxy_pass à l'adresse http://turtl ou turtl = 127.0.0.1:8181.
Et donc Nginx redirige les requetes du port 80 vers le port 8181 je suppose !?

J'ai installé turtl et rethinkdb comme il se doit.

Je me connnecte avec le client Turtl configuré à l'adresse http://serveur.domaine.fr.
Une requete sur le port 80 de ma box est donc lancée.
Je redirige les requetes du port 80 sur le port 80 de ma raspi pour que Nginx puisse traiter la demande.
Nginx renvoie alors la demande au serveur Turtl sur le port 8181 à l'adresse 127.0.0.1
Normalement rethinkdb devrait suivre.

Ou se loge les logins et mdp ? Dans rethinkdb ?

Voici le détail de ma conf actuelle.

Je pense savoir ce qui cloche, rethinkdb ne fonctionne pas très bien au démarrage.


root@raspberrypi:/home/pi# systemctl status turtl
● turtl.service - Note taking service
   Loaded: loaded (/etc/systemd/system/turtl.service; enabled)
   Active: active (running) since Fri 2017-06-30 16:15:16 UTC; 5min ago
     Docs: http://turtl.it
 Main PID: 794 (armcl)
   CGroup: /system.slice/turtl.service
           └─794 /opt/ccl/armcl -Q -b --load start.lisp

Jun 30 16:15:41 raspberrypi ccl[794]: ; While executing: (:INTERNAL ASDF/FIND-SYSTEM::CHECK-NOT-OLD-ASDF-SYSTEM), in process listener(1).
Jun 30 16:15:42 raspberrypi ccl[794]: To load "turtl":
Jun 30 16:15:42 raspberrypi ccl[794]: Load 1 ASDF system:
Jun 30 16:15:42 raspberrypi ccl[794]: turtl
Jun 30 16:15:42 raspberrypi ccl[794]: ; Loading "turtl"
Jun 30 16:15:51 raspberrypi ccl[794]: ..
Jun 30 16:15:51 raspberrypi ccl[794]: <INFO> [1498839351] turtl - Applying DB schema...
Jun 30 16:15:52 raspberrypi ccl[794]: <INFO> [1498839352] turtl - Schema applied: (:TABLES-ADD NIL :INDEXES NIL)
Jun 30 16:15:52 raspberrypi ccl[794]: <NOTICE> [1498839352] wookie - (start) Starting Wookie  127.0.0.1:8181
Jun 30 16:19:05 raspberrypi systemd[1]: Started Note taking service.
 



De même pour rethinkdb :

root@raspberrypi:/home/pi# sudo systemctl status rethinkdb@user1
● rethinkdb@user1.service - RethinkDB database server for instance 'user1'
   Loaded: loaded (/usr/lib/systemd/system/rethinkdb@.service; enabled)
   Active: active (running) since Fri 2017-06-30 16:15:06 UTC; 1min 53s ago
 Main PID: 425 (rethinkdb)
   CGroup: /system.slice/system-rethinkdb.slice/rethinkdb@user1.service
           ├─425 /usr/local/bin/rethinkdb serve --config-file /usr/local/etc/rethinkdb/instances.d/user1.conf
           ├─553 /usr/local/bin/rethinkdb serve --config-file /usr/local/etc/rethinkdb/instances.d/user1.conf
           └─706 /usr/local/bin/rethinkdb serve --config-file /usr/local/etc/rethinkdb/instances.d/user1.conf

Jun 30 16:15:09 raspberrypi rethinkdb[425]: Listening for intracluster connections on port 29015
Jun 30 16:15:10 raspberrypi rethinkdb[425]: Listening for client driver connections on port 28015
Jun 30 16:15:10 raspberrypi rethinkdb[425]: Listening for administrative HTTP connections on port 8080
Jun 30 16:15:10 raspberrypi rethinkdb[425]: Listening on cluster addresses: 127.0.0.1, 127.0.1.1, ::1
Jun 30 16:15:10 raspberrypi rethinkdb[425]: Listening on driver addresses: 127.0.0.1, 127.0.1.1, ::1
Jun 30 16:15:10 raspberrypi rethinkdb[425]: Listening on http addresses: 127.0.0.1, 127.0.1.1, ::1
Jun 30 16:15:10 raspberrypi rethinkdb[425]: To fully expose RethinkDB on the network, bind to all addresses by adding `bind=all' to the config file (/u...r1.conf).
Jun 30 16:15:10 raspberrypi rethinkdb[425]: Server ready, "raspberrypi_q3m" 9ed40771-6b53-4bb5-974f-94c9f5b25a54
Jun 30 16:15:10 raspberrypi rethinkdb[425]: warn: Problem when checking for new versions of RethinkDB: HTTP request to update.rethinkdb.com failed.
Jun 30 16:16:32 raspberrypi systemd[1]: Started RethinkDB database server for instance '
user1'.



Si vous avez des explications ! Quand j'avais exposé Turtl sans Nginx à l'adresse 192.168.1.30, ça marchait très bien mais la Nginx bloque peut être des requêtes, … !

Merci d'avance

Hors ligne

#7 30-06-2017 18:59:48

otyugh
Membre
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016

Re : Aide configuration réseau Nginx + Turtl : serveur de notes

Aucuuuune idée. Je connais pas Turtl/Rethink, je connais juste nginx avec ses blocks serveur/location, faire des redirection, activer PHP et https, mais j'en connais vraiment pas plus. Mais franchement t'as vraiment un cul bordé de nouilles si quelqu'un peut te répondre comme ça >.>
Vaut mieux demander sur le blog d'où t'as tiré le tuto, ou contacter les auteurs, ou aller sur le forum d'une des communautés... Désolé é_è

Dernière modification par otyugh (30-06-2017 19:00:19)


Agenda du libre : se faire dépanner/dépanner IRL ! Le libre n'est pas qu'un phénomène internet.
Framapad sur les balados : Emissions audio pro/amateur, votre radio sur-mesure !

Hors ligne

Pied de page des forums