mviewer / mviewerstudio

mviewer generator
GNU General Public License v3.0
12 stars 26 forks source link

configuration frontend backend #290

Closed SebastienGrall closed 4 months ago

SebastienGrall commented 4 months ago

Je n'arrive pas à paramétrer correctement la configuration de mviewerstudio.

J'ai un mviewer qui fonctionne sur mon serveur et qui est accessible via un sous domaine https://mviewer.*****.fr/ Voici mon fichier de config nginx

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    # redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.

    # listen 80 signifie que le serveur Nginx écoute sur le port 80.
    # À remplacer avec votre nom de domaine.
    server_name mviewer.*******.fr;
    # La partie reverse proxy :
    location / {
        root /var/www/mviewer;
        index index.html;
        try_files $uri $uri/ $uri.html =404;
    }

J'ai fait la même chose pour mviewerstudio avec un autre sous domaine https://mviewerstudio.*******.fr/index.html#

server{
        listen 443 ssl http2;
        listen [::]:443 ssl http2;

    # À remplacer avec votre nom de domaine.
    server_name mviewerstudio.*******.fr;
    # La partie reverse proxy :
    location /  {
        proxy_pass http://127.0.0.1:5007;
        proxy_redirect http://localhost:5007/ $scheme://$host/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_read_timeout 20d;
        proxy_buffering off;
auth_basic "Zone securisee - Authentification requise";
auth_basic_user_file /var/www/.htpasswd-mviewer;
    }

Voici mon fichier de configuration de mviewerstudio "config.json"

{
    "app_conf": {
        "studio_title": "Mviewer Studio",
        "mviewer_version":  "3.9",
        "mviewerstudio_version":  "4.0.1",
        "api": "api/app",
        "store_style_service": "api/style",
        "mviewer_instance": "",
        "publish_url": "/https://mviewer.********.fr/?config=apps/prod/{{config}}.xml",
        "conf_path_from_mviewer": "apps/store/",
        "mviewer_short_url": {
            "used": false,
            "apps_folder": "store",
            "public_folder": "public"
        },

Le problème que j'ai est que quand je crée une application avec le mviewerstudio et que je fais une publication, mon lien de visualisation (donné par le mviewerstudio) est du type https://mviewerstudio.********.fr/https://mviewer.*********.fr/?config=apps/prod/public/testpubli.xml

Si j'enlève la partie du sous-domaine mviewerstudio j'arrive bien à l'application et elle est bien dans le dossier /var/www/mviewer/apps/prod/public/ et la version de développement dans /var/www/mviewer/apps/store/public/ Le mviewerstudio est dans /var/www/mviewerstudio/

Le deuxième problème qui doit être lié est que je ne peux cliquer sur modifier sur le projet dans mviewerstudio, j'ai une erreur "Échec de la requête de récupération de l'application. Veuillez contacter votre administrateur." Je peux par contre supprimer l'application.

Malgré plusieurs relecture de la doc et des modifs de fichier de config je n'arrive pas à régler le problème.

Merci,

spelhate commented 4 months ago

Bonjour @SebastienGrall Je pense que c'est en partie dû au non renseignement de mviewer_instance dans le fichier config.json Ceux qui ont une config sous les yeux pourront t'aider je pense.

SebastienGrall commented 4 months ago

Bonjour @spelhate Merci de ta réponse Effectivement j'ai essayé plusieurs configuration en jouant entre mviewer_instance et publish_url mais pas moyen d'arriver à mes fins. J'ai systématiquement l'url du mviewerstudio qui arrive devant. Ça ne doit pas être grand chose pourtant...

lecault commented 4 months ago

Bonjour,

J'ai vu une erreur dans publish_url ça commence par un / c'est peut être là le soucis. publish_url": "/https://mviewer.********.fr/?config=apps/prod/{{config}}.xml",

Sinon, un exemple de conf : "mviewer_instance": "https://kartenn.region-bretagne.fr/mviewer/", "publish_url": "https://kartenn.region-bretagne.fr/mviewer/?config=apps/public/{{config}}.xml",

SebastienGrall commented 4 months ago

Merci @lecault Effectivement j'ai modifié la config avec :

       "mviewer_instance": "https://mviewer.*******.fr/",
        "publish_url": "https://mviewer.*******.fr/?config=apps/prod/{{config}}.xml",

Les liens de prévisualisation et de publication fonctionne bien! Par contre je ne peux ni télécharger ni modifier l'application. La suppression fonctionne toujours par contre. Du coup j'imagine que ce n'est pas un problème de droit. Je pencherai bien pour un problème de chemin mais dans ce cas je ne comprends pas pourquoi la suppression fonctionne...

SebastienGrall commented 4 months ago

Quand je clique sur télécharger après avoir créer une application, le lien me renvoie un https://mviewer.******.fr/undefined Le problème doit venir de là mais je ne vois comment définir le bon chemin si ce n'est pas dans le fichier config.json.

lecault commented 4 months ago

Ah je viens de regarder sur mon instance à la région j'ai un soucis aussi pour télécharger le XML alors que sur GéoBretagne, ça fonctionne.

En faisant F12, erreur 500 ici https://kartenn.region-bretagne.fr/mviewerstudio/api/download/c47b5af46342

Sinon le reste fonctionne (comme modifier l'application) ?

SebastienGrall commented 4 months ago

Non que je retourne sur le mviewerstudio et que je fais ouvrir un projet existant j'ai bien l'application qui s'affiche. Le lien de prévisualisation fonctionne, la suppression aussi mais j'ai un message d'erreur quand je clique sur modifier image

SebastienGrall commented 4 months ago

En faisant F12 j'obtiens ces erreurs image Les deux liens "En savoir plus" renvoient : Lien 1 et Lien 2

SebastienGrall commented 4 months ago

C'est bon j'ai réussi! Il suffit de rajouter dans le fichier de configuration nginx du mviewer l'autorisation au mviewerstudio d'accéder au fichier, enfin c'est ce que je comprends.

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    # redirect all HTTP requests to HTTPS with a 301 Moved Permanently response.

    # listen 80 signifie que le serveur Nginx écoute sur le port 80.
    # À remplacer avec votre nom de domaine.
    server_name mviewer.******.fr;
    # La partie reverse proxy :
    location / {
        root /var/www/mviewer;
        index index.html;
        try_files $uri $uri/ $uri.html =404;
add_header 'Access-Control-Allow-Origin' 'https://mviewerstudio.******.fr' ;
    }

Merci @lecault, je n'avais pas pensé à utiliser F12... Est-ce que je laisse le ticket ouvert pour ton erreur, ou tu en fait un autre?

lecault commented 4 months ago

Ok. Du coup vous avez un mviewerstudio qui tourne ? La communauté est preneur de votre retour d'expérience.

lecault commented 4 months ago

Tu peux fermer le ticket. Je prendrai le temps de regarder ça.

SebastienGrall commented 4 months ago

Oui le mviewerstudio fonctionne :-) Merci!