Forum Linux.debian/ubuntu [NGINX] : Pilotage alarme à distance

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
15
août
2023

Bonjour à tous,

J'essaie de régler aux petits oignons ma configuration nginx pour démarrer/arrêter ma surveillance maison.

De cette façon, je serai apte à utiliser correctement l'API de zoneminder.

On m'a conseillé d'utiliser une conf sur le lien suivant.

https://wiki.zoneminder.com/Debian_11_Bullseye_with_Zoneminder_1.36.x#Debian_11_with_NGINX_and_Zoneminder_1.36.x

Avec la conf suivante du lien j'ai du cette erreur.

[error] 86425#86425: *17 directory index of "/usr/share/zoneminder/www/" is forbidden, client: XX.XX.XX.XX, server: XX.XX.XX.XX, request: "GET / HTTP/1.0", host: "XX.XX.XX.XX".

Je ne vois pas ou se situe l'erreur, le fichier index.php se situe au niveau de "fastcgi_index index.php;".

C'est en bas du code nginx. Mais pour moi c'était le user www-data qui accéderai au fichier index.php, à priori ça n'est peut être pas le cas !

Merci pour vos retours.

Voici la conf nginx que j'ai mise en place, j'ai mis la même chose pour le port 80 sauf ssl, …

server {
  listen 443 ssl;
  server_name XX.XX.XX.XX;

  access_log /var/log/nginx/localhost.access;
  error_log  /var/log/nginx/localhost.error;
  #rewrite_log     on;

  # Path to the root of your installation
  #root                          /usr/share/zoneminder/www;
        root  /usr/share/zoneminder/www;
  #index index.php

  #ssl                           on;
  ssl_certificate               /etc/letsencrypt/live/zone/zone.crt; # managed by Certbot
  ssl_certificate_key           /etc/letsencrypt/live/zone/zone.key; # managed by Certbot

  keepalive_timeout       60;
  ssl_session_timeout 10m;

  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
  ssl_prefer_server_ciphers on;

location /cgi-bin {
#auth_basic off;
        alias /usr/lib/zoneminder/cgi-bin;    
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $request_filename;
        fastcgi_param HTTP_PROXY "";
        fastcgi_pass unix:/var/run/fcgiwrap.socket;
}

location /zm/cache {
#auth_basic off;
        alias /var/cache/zoneminder/cache;
}

location ~ /zm/api/(css|img|ico) {
#auth_basic off;
        rewrite ^/zm/api(.+)$ /api/app/webroot/$1 break;
        try_files $uri $uri/ =404;
}

location /zm {
#auth_basic off;
        alias /usr/share/zoneminder/www;
        try_files $uri $uri/ /index.php?$args =404;    
        location /zm/api {
#auth_basic off;
                rewrite ^/zm/api(.+)$ /zm/api/app/webroot/index.php?p=$1 last;
         }
                location ~ \.php$ {
                #auth_basic off;
                        include fastcgi_params;
                        fastcgi_param SCRIPT_FILENAME $request_filename;
                        fastcgi_param HTTP_PROXY "";
                  fastcgi_index index.php;
                        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        }
    }
}
  • # gpt ...

    Posté par  . Évalué à 1.

    Il semble que l'erreur que vous rencontrez soit liée à la configuration de votre serveur Nginx pour l'application ZoneMinder. L'erreur indique que l'accès au répertoire racine "/usr/share/zoneminder/www/" est interdit. Voici quelques suggestions pour résoudre ce problème :

    1. Vérifiez les permissions des répertoires : Assurez-vous que les permissions des répertoires et des fichiers dans "/usr/share/zoneminder/www/" sont correctement configurées. Le répertoire et les fichiers devraient appartenir à l'utilisateur et au groupe appropriés, généralement "www-data".

    2. Répertoire racine dans la configuration : Vous avez déjà défini le répertoire racine avec la directive "root /usr/share/zoneminder/www;", ce qui est correct. Cependant, il semble y avoir des erreurs de configuration à l'intérieur des blocs "location". Assurez-vous que les alias et les réécritures sont correctement configurés.

    3. Erreur dans la configuration de location : Vous avez un bloc "location /zm" à l'intérieur duquel vous avez une sous-location "location /zm/api". Cela peut provoquer des conflits dans les règles de traitement. Vous pouvez essayer de simplifier votre configuration en évitant les sous-locations, sauf si elles sont absolument nécessaires.

    4. Authentification de base désactivée : Vous avez des commentaires qui indiquent que l'authentification de base est désactivée ("#auth_basic off;"). Assurez-vous que cela est intentionnel et que vous avez pris d'autres mesures pour sécuriser votre application ZoneMinder.

    5. Redirections et réécritures : Vérifiez vos directives de réécriture et de redirection, en particulier celles qui redirigent vers "/api/app/webroot/". Assurez-vous que ces réécritures sont correctes et fonctionnent comme prévu.

    6. Certificat SSL : Vérifiez que vos certificats SSL sont corrects et valides. Les erreurs de certificat pourraient également entraîner des problèmes d'accès.

    7. Redémarrez Nginx : Après avoir apporté des modifications à la configuration, n'oubliez pas de redémarrer le service Nginx pour que les modifications prennent effet.

    Si aucune de ces solutions ne résout votre problème, il pourrait être utile de consulter les journaux d'erreur de Nginx et les journaux d'application ZoneMinder pour obtenir des informations plus détaillées sur la nature de l'erreur. Ces journaux devraient fournir des indices sur la cause sous-jacente du problème.

    • [^] # Re: gpt ...

      Posté par  . Évalué à 1. Dernière modification le 21 août 2023 à 13:54.

      Merci, j'ai bien pris en compte vos remarques.

      Essais de l'API Zoneminder en cours.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.