Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

ZoneMinder

De Le Wiki de Lug

Source

# apt update && apt upgrade
# apt install software-properties-common
# add-apt-repository ppa:iconnor/zoneminder-master
# apt install zoneminder
# adduser www-data video
# mysql_secure_installation
# vi  /etc/zm/zm.conf
# ZoneMinder database password
ZM_DB_PASS=zmpass
# mysql -U
mysql> ALTER USER 'zmuser'@'localhost' IDENTIFIED BY 'mdpnouveau';
mysql> FLUSH PRIVILEGES;
mysql> exit
# vi /etc/php/7.4/apache2/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Europe/Madrid
# timedatectl set-timezone Europe/Madrid
# a2enconf zoneminder
# a2enmod rewrite
# a2enmod headers
# a2enmod expires
# a2enmod ssl
# a2ensite default-ssl
# systemctl enable zoneminder
# service zoneminder start
# service apache2 reload
# apt install php7.4-fpm
# a2enconf php7.4-fpm
# systemctl reload apache2


Autentification

Options -> System -> OPT_USE_AUTH

multicast

source

MIN_STREAMING_PORT 30000
# vi /etc/apache2/ports.conf
...
<IfModule ssl_module>
        Listen 443
        Listen 30000
        Listen 30001
        Listen 30002
        Listen 30003
        Listen 30004
        ...
        ...
</IfModule>
...
# vi /etc/apache2/sites-enabled/default-ssl.conf
<IfModule mod_ssl.c>
        <VirtualHost _default_:443 *:30000 *:30002 *:30004 ... >
                ServerAdmin webmaster@localhost
...
# service apache2 restart

NGINX Reverse Proxy

Vhost

  • Penser à rediriger la plage de ports multicast de votre routeur sur le proxy...
 server {
    if ($host = zoneminder.exemple.net) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


listen 80;
    listen [::]:80;
    server_name     zoneminder.exemple.net;
   # return 404;
    return 301 https://$host$request_uri;


}

server {
server_name     zoneminder.exemple.net;
    error_page 403  https:/zoneminder.exemple.net;

    location / {
       return 301 /zm/;
   }

    location / {
            client_max_body_size 0; ##no limites :)
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Protocol $scheme;
            proxy_set_header X-Forwarded-Host $http_host;
            proxy_pass https://ADRESS_IP_ZONEMINDER/zm/;
    }

    listen [::]:443 ssl; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    listen 30000 ssl;
    listen 30001 ssl;
    listen 30002 ssl;
    listen 30003 ssl;
    listen 30004 ssl; # Ports multicast
...
...
    ssl_certificate /etc/letsencrypt/live/zoneminder.exemple.net/fullchain.pem; # managed by Certbot  
    ssl_certificate_key /etc/letsencrypt/live/zoneminder.exemple.net/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf;                               
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;                                 
    add_header Strict-Transport-Security "max-age=31536000" always;                
    ssl_trusted_certificate /etc/letsencrypt/live/zoneminder.exemple.net/chain.pem;
    ssl_stapling on;       
    ssl_stapling_verify on;

}