Visualiser une révision

[Tuto/HowTo] Optimiser Zoneminder

TutoMaker : précision http2 (22 septembre 2017 02:46:28)

#Introduction#

[ZoneMinder](https://zoneminder.com/) étant un logiciel assez lourd (consommateur de ressources machine et réseau), il peut être intéressant d'optimiser son bon fonctionnement partout où on le peut. Voici quelques clés non-exhaustives afin de diminuer les lags, d'augmenter la durée de vie de certains composants de l’ordinateur, d'améliorer la sécurité, etc...


#Optimisations de Zoneminder#

##Déplacer le dossier Swap de ZoneMinder ##

Le dossier swap (tampon) est utilisé lorsqu'un client veut visionner des caméras et plus particulièrement lors des retours en arrière et ralentissements. ZoneMinder vous permet de déplacer son dossier swap (défaut : _/tmp/zoneminder_).
Déplacer le dossier Swap peut vous permettre de diminuer l'usure de votre espace mémoire principal. Recycler un vieux SSD de plus de 5Go, ou une vieille carte SD, est une très bonne idée :) (en cas de défaillance il n'y aura aucune de perte de données et le remplacement est facile)
Pour déplacer le dossier swap de ZoneMinder :

1. Connectez-vous en administrateur sur l'interface graphique Web (WEBUI) de votre serveur zoneminder.
1. Cliquez sur "**Options**" pour rejoindre le panneau d'administration.
1. Dans "**Chemin**" modifiez l'encart "**PATH_SWAP**".

![screenshot-2017_06_16-Zoneminder-changer_path_swap](https://framapic.org/UX7u5yBUQLBG/XU7MiynPOB5i.png)



##Changer l'emplacement du stockage de zoneminder##

On va partir du principe qu'on veut placer les fichiers de zoneminder (photos, vidéos, sons, etc) dans /media/raidSSD/zoneminder. Adaptez le PATH a ce que vous souhaitez. Si vous ne savez pas comment monter vos disques/ressources distantes, voyez la section [Operating System => Memory](https://www.0rion.netlib.re/forum4/viewforum.php?f=68).
**Attention :** l'utilisateur de votre serveur web (par défaut : www-data) doit avoir accès en lecture+écriture à ce dossier (_/media/raidSSD/zoneminder_), et accès en lecture à la racine (_/media/raidSSD_)

1. On change le PATH et sauvegarde le dossier de zoneminder au cas ou 

```
sudo mv  /var/cache/zoneminder /var/cache/zoneminderOLD
```

1. On copie les dossiers et leurs éventuels contenus vers notre montage dédié 

```
sudo cp -R -p -v /var/cache/zoneminderOLD/* /media/raidSSD/zoneminder
```

1. On crée le lien symbolique 

```
sudo ln -s /media/raidSSD/zoneminder /var/cache/zoneminder
```


_
______________________
_




#Optimisations du serveur Ubuntu/Debian#

##Mettre en place HTTP2##
**ATTENTION : actuellement il semble que le lecteur streaming de ZoneMinder soit incompatible avec HTTP2, ne mettez pas en place cette optimisations pour le moment !** ZoneMinder dysfonctionne parfois avec http2 (lecteur streaming ne fonctionnant plus, ni le chargement de la liste des évents).
[HTTP2](https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol/2) permet d'économiser de la bande passante, un peu d'électricité et accélérer la navigation pour les clients. HTTP2 n'a pour le moment aucune incidence pour les caméras, il n'améliore la vitesse qu'entre les clients et le serveur en https avec un certificat trusté.
Pour installer [HTTP2](https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol/2) sur votre [serveur web apache2](https://doc.ubuntu-fr.org/apache2) :
(ndlr: à tester sur [Debian 9](https://linuxfr.org/news/debian-9-stretch-deploie-ses-tentacules), ne fonctionne pas sur Debian 8)

 * Lancez l'installation

```
apt-get install software-properties-common
add-apt-repository -y ppa:ondrej/apache2
apt-key update
apt-get update
apt-get --only-upgrade install apache2 -y
a2enmod http2
service apache2 restart
```

 * Ensuite éditez tout vos fichiers VHOST dans le dossier _/etc/apache2/sites-enabled/_ et ajoutez la ligne suivante (vous pouvez l'ajouter au tout début)

```
Protocols h2 http/1.1
```


##Supprimer l'accès aux données serveurs##

Les serveurs peuvent fournir des informations compromettantes via divers outils de diagnostiques/maintenance incorporé. On citera entre-autre [server-status](http://www.blog.florian-bogey.fr/activer-et-configurer-le-server-status-apache-mod_status.html) d'apache2 ([exemple](https://www.0rion.netlib.re/forum4/download/file.php?id=79)) qui ouvre un trou de sécurité. Ces informations sont utilisées par les pirates et agences malveillantes afin de dés-anonymiser des serveurs, en vue de les référencer avant d'éventuelles attaques. Il est fortement conseillé de supprimer l'accès à ses informations.

###Faire taire [server-status](http://www.blog.florian-bogey.fr/activer-et-configurer-le-server-status-apache-mod_status.html) d'apache2 :###

```
sudo a2dismod status
sudo service apache2 restart
```

  * Entrez ensuite l'[hostname](https://fr.wikipedia.org/wiki/Nom_d%27h%C3%B4te) de votre web service suivis de /server-status. Le serveur doit vous retourner une erreur 404 page not found.


###Faire taire [serverTokens](https://httpd.apache.org/docs/2.2/fr/mod/core.html#servertokens) :###
**Ajoutez dans _/etc/apache2/apache2.conf_**

```
ServerTokens Prod
```

###Faire taire [ServerSignature](https://httpd.apache.org/docs/2.2/fr/mod/core.html#serversignature) :###
**Ajoutez dans _/etc/apache2/apache2.conf_**

```
ServerSignature Off
```


_
______________________
_




#Optimisations du réseau#

##Gigabit Ethernet (RJ45)##
La norme [Ethernet Gigabit (RJ45)](https://fr.wikipedia.org/wiki/Gigabit_Ethernet) permet de faire transiter au moins 1 Go/s de données sur le réseau. Utiliser des périphériques (switch, carte réseau, routeur) compatible Gigabit Ethernet permet, à débit égal, de consommer moins d'énergie que les périphériques non compatible.




_
______________________
_





#Farm Link#
* [[Tuto/HowTo] ZoneMinder Optimisations](https://www.0rion.netlib.re/forum4/viewtopic.php?f=88&t=625&p=1403) (tuto d'origine)
* [[Tuto/HowTo] Installer zoneminder sur ubuntu 16.04](https://www.0rion.netlib.re/forum4/viewtopic.php?f=88&t=351)
* [[Tuto/HowTo] Protéger ses Bases de Données MySQL/MariaDB contre les pannes matérielles](https://linuxfr.org/forums/linux-general/posts/tuto-howto-proteger-ses-bases-de-donnees-mysql-mariadb-contre-les-pannes-materielles-partie-1)
* [[Tuto/HowTo] [GNU/Linux] Activer HTTP2](https://www.0rion.netlib.re/forum4/viewtopic.php?f=79&t=557)
* [[Tuto/HowTo] Configurer un nom de domaine gratuit Netlib.re](https://www.0rion.netlib.re/forum4/viewtopic.php?f=45&t=285)
* [[Tuto/HowTo] Publier un site Web anonyme via Tor Hidden Service](https://www.0rion.netlib.re/forum4/viewtopic.php?f=45&t=261&p=636)