diff --git a/HowtoMySQL.md b/HowtoMySQL.md index 4e93862c..3c7ba171 100644 --- a/HowtoMySQL.md +++ b/HowtoMySQL.md @@ -1,5 +1,5 @@ --- -categories: web +categories: databases title: Howto MySQL : installation et utilisation courante. --- diff --git a/HowtoMySQL/Optimize.md b/HowtoMySQL/Optimize.md index 7be017a5..ea7cb3c1 100644 --- a/HowtoMySQL/Optimize.md +++ b/HowtoMySQL/Optimize.md @@ -1,4 +1,5 @@ --- +categories: databases title: Howto MySQL : optimisation avancée. ... diff --git a/HowtoMySQL/Replication.md b/HowtoMySQL/Replication.md index e90bb59e..1cf3ee5f 100644 --- a/HowtoMySQL/Replication.md +++ b/HowtoMySQL/Replication.md @@ -1,4 +1,5 @@ --- +categories: databases title: Howto réplication MySQL ... @@ -146,7 +147,7 @@ Pour une réplication MASTER/MASTER, il faut simplement activer deux réplicatio On conseille également de : - positionner la directive `auto-increment-increment = 10` sur chaque serveur -- positionner la directive `auto-increment-offset` avec une valeur numérique différente sur chaque serveur (par exemple +- positionner la directive `auto-increment-offset` avec une valeur numérique différente sur chaque serveur (par exemple ### Réplications en chaîne @@ -170,7 +171,7 @@ Serveur A <-> Serveur B \--> Serveur D \--> Serveur G \--> Serveur E \---> Serveur H \ - \--> Serveur I + \--> Serveur I \--> Serveur J ~~~ diff --git a/HowtoMySQL/Troubleshooting.md b/HowtoMySQL/Troubleshooting.md index 387d79ae..f5cc43ae 100644 --- a/HowtoMySQL/Troubleshooting.md +++ b/HowtoMySQL/Troubleshooting.md @@ -1,4 +1,5 @@ --- +categories: databases title: Howto MySQL : questions fréquentes et erreurs courantes ... @@ -442,4 +443,4 @@ Lors du passage à la version 5.5.53, la valeur par défaut est passée de _vide Sur Debian, la nouvelle valeur par défaut est `/var/lib/mysql-files`. L'utilisation d'un lien symbolique de cet emplacement vers le dossier réel (par exemple `/home/mysqldump`) ne suffit pas et MySQL continue de refuser le dump. -En attendant de passer à Stretch, nous recommandons de remettre la valeur par défaut précédente (_vide_) et redémarrer MySQL. \ No newline at end of file +En attendant de passer à Stretch, nous recommandons de remettre la valeur par défaut précédente (_vide_) et redémarrer MySQL. diff --git a/HowtoNeo4j.md b/HowtoNeo4j.md index 95f74afb..295c69bd 100644 --- a/HowtoNeo4j.md +++ b/HowtoNeo4j.md @@ -1,6 +1,9 @@ -**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.** +--- +categories: databases nosql +title: Howto neo4j +--- -# Howto Neo4j +**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.** ## Installation @@ -50,4 +53,3 @@ On peut réaliser un "dump" ainsi : ## Monitoring Check HTTP sur ...en attendant mieux. - diff --git a/HowtoNut.md b/HowtoNut.md index e339b9c0..bd7436c3 100644 --- a/HowtoNut.md +++ b/HowtoNut.md @@ -1,4 +1,6 @@ -# Howto nut +--- +title: Howto nut +--- diff --git a/HowtoOpenVPN.md b/HowtoOpenVPN.md index 1a67168a..c9d91953 100644 --- a/HowtoOpenVPN.md +++ b/HowtoOpenVPN.md @@ -4,181 +4,182 @@ https://openvpn.net/index.php/open-source/documentation.html ## Installation sous OpenBSD - - # pkg_add openvpn - +~~~ +# pkg_add openvpn +~~~ On gère une PKI sur le serveur via shellpki (voir ci-dessous). On crée clé/certificat pour le serveur VPN avec la commande suivante : - - # cd /etc/openvpn/ssl - # sh shellpki.sh create - +~~~ +# cd /etc/openvpn/ssl +# sh shellpki.sh create +~~~ Note : le CN sera par exemple de la forme `fw.vpn.example.com` (il sera demandé de le saisir deux fois). La configuration se fera via un fichier `/etc/openvpn/server.conf` avec les paramètres suivants à adapter : - * `server` : réseau privé sur lequel le serveur VPN et les clients communiqueront - * `local` : adresse IP du serveur, sur laquelle les clients se connecteront (adresse IP publique généralement) - * `push` : route vers le réseau que les clients VPN pourront joindre - * `cert` : certificat du serveur VPN (créé précédemment) - * `key` : clé du serveur VPN (créée précédemment) - * `ifconfig-pool-persist` : permet aux clients de conserver la même IP en cas de redémarrage +* `server` : réseau privé sur lequel le serveur VPN et les clients communiqueront +* `local` : adresse IP du serveur, sur laquelle les clients se connecteront (adresse IP publique généralement) +* `push` : route vers le réseau que les clients VPN pourront joindre +* `cert` : certificat du serveur VPN (créé précédemment) +* `key` : clé du serveur VPN (créée précédemment) +* `ifconfig-pool-persist` : permet aux clients de conserver la même IP en cas de redémarrage +~~~ +daemon - daemon +port 1194 +proto udp +dev tun0 +dev-type tap +verb 4 - port 1194 - proto udp - dev tun0 - dev-type tap - verb 4 +user nobody +group nobody +chroot /var/empty +#comp-lzo - user nobody - group nobody - chroot /var/empty - #comp-lzo +max-clients 50 +keepalive 15 120 +tls-exit +persist-key +persist-tun +client-to-client +resolv-retry infinite - max-clients 50 - keepalive 15 120 - tls-exit - persist-key - persist-tun - client-to-client - resolv-retry infinite +server 10.11.99.0 255.255.255.0 +local 198.51.100.1 +#client-to-client +ifconfig-pool-persist /etc/openvpn/ipp.txt +#route-method exe +#route-delay 2 +push "route 192.0.2.0 255.255.255.0 10.11.99.1" - server 10.11.99.0 255.255.255.0 - local 198.51.100.1 - #client-to-client - ifconfig-pool-persist /etc/openvpn/ipp.txt - #route-method exe - #route-delay 2 - push "route 192.0.2.0 255.255.255.0 10.11.99.1" +ca /etc/openvpn/ssl/ca/cacert.pem +dh /etc/openvpn/ssl/ca/dh1024.pem - ca /etc/openvpn/ssl/ca/cacert.pem - dh /etc/openvpn/ssl/ca/dh1024.pem +cert /etc/openvpn/ssl/files/fw.vpn.example.com-1278421834/fw.vpn.example.com.crt +key /etc/openvpn/ssl/files/fw.vpn.example.com-1278421834/fw.vpn.example.com.key - cert /etc/openvpn/ssl/files/fw.vpn.example.com-1278421834/fw.vpn.example.com.crt - key /etc/openvpn/ssl/files/fw.vpn.example.com-1278421834/fw.vpn.example.com.key +log /var/log/openvpn.log +status /var/log/openvpn-status.log - log /var/log/openvpn.log - status /var/log/openvpn-status.log - - cipher AES-128-CBC # AES - - #fragment 1350 - #mssfix +cipher AES-128-CBC # AES +#fragment 1350 +#mssfix +~~~ Pour créer automatiquement une interface `TUN` au démarrage de la machine et démarrer OpenVPN : - - # cat << EOF > /etc/hostname.tun0 - up - !/usr/local/sbin/openvpn --daemon --config /etc/openvpn/server.conf - EOF - +~~~ +# cat << EOF > /etc/hostname.tun0 +up +!/usr/local/sbin/openvpn --daemon --config /etc/openvpn/server.conf +EOF +~~~ Pour lancer manuellement OpenVPN sans redémarrer la machine : - - # ifconfig tun0 up - # /usr/local/sbin/openvpn --daemon --config /etc/openvpn/server.conf - +~~~ +# ifconfig tun0 up +# /usr/local/sbin/openvpn --daemon --config /etc/openvpn/server.conf +~~~ ### Rotation des logs sous OpenBSD -Pour que les logs générés par OpenVPN soient rotatés, ne pas oublier de décommenter la ligne en question dans le fichier _/etc/newsyslog.conf_ : - - /var/log/openvpn.log 600 52 * $W6D4 Z +Pour que les logs générés par OpenVPN soient rotatés, ne pas oublier de décommenter la ligne en question dans le fichier `/etc/newsyslog.conf` : +~~~ +/var/log/openvpn.log 600 52 * $W6D4 Z +~~~ ## Installation sous Debian - - # apt install openvpn - +~~~ +# apt install openvpn +~~~ La configuration se fera via un fichier `/etc/openvpn/server.conf` : +~~~ +# +# General settings +# +user nobody +group nogroup - # - # General settings - # +# Do not try to re-read key file and reopen tun device on restart since it runs +# without root privileges. +persist-key +persist-tun +#persist-remote-ip +#persist-local-ip - user nobody - group nogroup +# Status file +status /var/log/openvpn/status.log 1 +#log /var/log/openvpn/openvpn.log +# Logging verbosity. Logs are sent to syslog. +verb 3 - # Do not try to re-read key file and reopen tun device on restart since it runs - # without root privileges. - persist-key - persist-tun - #persist-remote-ip - #persist-local-ip +# Keepalive +keepalive 10 120 +#reneg-sec 300 - # Status file - status /var/log/openvpn/status.log 1 - #log /var/log/openvpn/openvpn.log - # Logging verbosity. Logs are sent to syslog. - verb 3 +# +# Network settings +# - # Keepalive - keepalive 10 120 - #reneg-sec 300 +port 1194 +proto udp +dev tun - # - # Network settings - # +# Enable compression +comp-lzo - port 1194 - proto udp - dev tun +# +# key/certificate +# - # Enable compression - comp-lzo +ca /etc/openvpn/ssl/ca/cacert.pem +cert /etc/openvpn/ssl/files/fw.vpn.example.com-1278421834/fw.vpn.example.com.crt +key /etc/openvpn/ssl/files/fw.vpn.example.com-1278421834/fw.vpn.example.com.key +dh /etc/openvpn/ssl/ca/dh1024.pem - # - # key/certificate - # +# +# private network +# - ca /etc/openvpn/ssl/ca/cacert.pem - cert /etc/openvpn/ssl/files/fw.vpn.example.com-1278421834/fw.vpn.example.com.crt - key /etc/openvpn/ssl/files/fw.vpn.example.com-1278421834/fw.vpn.example.com.key - dh /etc/openvpn/ssl/ca/dh1024.pem - - # - # private network - # - - server 172.16.0.0 255.255.0.0 - mode server - - # Management interface (used by check_openvpn for Nagios) - management 127.0.0.1 1195 /etc/openvpn/management-pwd +server 172.16.0.0 255.255.0.0 +mode server +# Management interface (used by check_openvpn for Nagios) +management 127.0.0.1 1195 /etc/openvpn/management-pwd +~~~ Générer un mot de passe pour l'accès à l'interface de management (nécessaire au check Nagios) : - # apg -n1 -m 12 >/etc/openvpn/management-pwd - +~~~ +# apg -n1 -m 12 >/etc/openvpn/management-pwd +~~~ ### check OpenVPN pour Nagios Ajouter le check Nagios dans la conf NRPE : - - # echo "command[check_openvpn]=/usr/lib/nagios/plugins/check_openvpn.pl -H 127.0.0.1 -p 1195 -P $(cat /etc/openvpn/management-pwd)" >>/etc/nagios/nrpe.d/evolix.cfg - +~~~ +# echo "command[check_openvpn]=/usr/lib/nagios/plugins/check_openvpn.pl -H 127.0.0.1 -p 1195 -P $(cat /etc/openvpn/management-pwd)" >>/etc/nagios/nrpe.d/evolix.cfg +~~~ Récupérer le script depuis le CVS _scripts_, et installer les dépendances (TODO: à mettre le script en public) - - # apt install libnet-telnet-perl - +~~~ +# apt install libnet-telnet-perl +~~~ ## Mise en place d'une PKI avec shellPKI (OpenBSD et Debian) @@ -188,20 +189,26 @@ On utilisera [shellPKI](https://forge.evolix.org/projects/shellpki) permettant d * Créer le répertoire `/etc/openvpn/ssl`, et cloner le dépôt shellpki : - # mkdir /etc/openvpn/ssl - # cd /etc/openvpn/ssl - # git clone https://forge.evolix.org/shellpki.git . +~~~ +# mkdir /etc/openvpn/ssl +# cd /etc/openvpn/ssl +# git clone https://forge.evolix.org/shellpki.git . +~~~ * Créer le répertoire _/var/www/htdocs/vpn/ssl_ (OpenBSD) ou _/var/www/vpn/ssl_ (Debian) dans lequel les certificats seront copiés par défaut pour être distribués. Cet emplacement est configurable dans `shellpki.sh` + * Editer les paramètres de la section `[ req_distinguished_name ]` du fichier `openssl.cnf`, notamment : * `countryName_default` * `stateOrProvinceName_default` * `localityName_default` * `0.organizationName_default` * `emailAddress_default` + * Exécuter : - # sh shellpki.sh init +~~~ +# sh shellpki.sh init +~~~ * Confirmer l'initialisation, et choisir la passphrase qui sera demandée à chaque création de nouveaux certificats, puis le `Common Name` des futurs certificats créés (ex : `vpn.example.com`) @@ -212,10 +219,11 @@ Le fichier ipp.txt contient une liste des clients et de leur adresse IP afin qu' ils conservent la même adresse. Ce fichier peut être utilisé afin de rendre persistantes les IPs attribuées aux clients. -Dans le server.conf ou server.ovpn : - - ifconfig-pool-persist /etc/openvpn/ipp.txt 0 +Dans le `server.conf` ou `server.ovpn` : +~~~ +ifconfig-pool-persist /etc/openvpn/ipp.txt 0 +~~~ Cela rend le fichier _ipp.txt_ en lecture seule pour OpenVPN. Il faudra donc ajouter une nouvelle ligne de la forme CN,IP à chaque ajout d'un nouveau client. @@ -224,10 +232,10 @@ Il faudra donc ajouter une nouvelle ligne de la forme CN,IP à chaque ajout d'un * Exécuter : - - # cd /etc/openvpn/ssl - # sh shellpki.sh create - +~~~ +# cd /etc/openvpn/ssl +# sh shellpki.sh create +~~~ * Choisir un CN unique pour la machine (ex : `client1.vpn.example.com`) @@ -239,19 +247,19 @@ Il faudra donc ajouter une nouvelle ligne de la forme CN,IP à chaque ajout d'un Si le certificat indiqué au niveau de la configuration OpenVPN expire lui-même : - - cert /etc/openvpn/ssl/files/fw.vpn.example.com-1278421834/fw.vpn.example.com.crt - key /etc/openvpn/ssl/files/fw.vpn.example.com-1278421834/fw.vpn.example.com.key - +~~~ +cert /etc/openvpn/ssl/files/fw.vpn.example.com-1278421834/fw.vpn.example.com.crt +key /etc/openvpn/ssl/files/fw.vpn.example.com-1278421834/fw.vpn.example.com.key +~~~ Il faut le révoquer, puis en recréer un : - - # cd /etc/openvpn/ssl - # sh shellpki.sh revoke - # sh shellpki.sh create - # cp /etc/openvpn/ssl/crl.pem /var/empty/ - +~~~ +# cd /etc/openvpn/ssl +# sh shellpki.sh revoke +# sh shellpki.sh create +# cp /etc/openvpn/ssl/crl.pem /var/empty/ +~~~ Enfin, on ajuste les lignes dans la configuration OpenVPN et on relance le daemon. @@ -260,41 +268,42 @@ Enfin, on ajuste les lignes dans la configuration OpenVPN et on relance le daemo Pour simplifier la configuration pour les utilisateurs finaux on peut générer un fichier de configuration embarquant les certificats : - client - dev tap0 - tls-client - proto udp - #comp-lzo - #ns-cert-type server +~~~ +client +dev tap0 +tls-client +proto udp +#comp-lzo +#ns-cert-type server - tls-client - remote vpn.example.com 1194 +tls-client +remote vpn.example.com 1194 - persist-key - persist-tun - pull +persist-key +persist-tun +pull - cipher AES-128-CBC +cipher AES-128-CBC - - -----BEGIN CERTIFICATE----- - […] - -----END CERTIFICATE----- - + +-----BEGIN CERTIFICATE----- +[…] +-----END CERTIFICATE----- + - - Certificate: - Data: - […] - -----END CERTIFICATE----- - - - - -----BEGIN RSA PRIVATE KEY----- - […] - -----END RSA PRIVATE KEY----- - + +Certificate: + Data: +[…] +-----END CERTIFICATE----- + + +-----BEGIN RSA PRIVATE KEY----- +[…] +-----END RSA PRIVATE KEY----- + +~~~ ## Client OpenVPN sous Mac OS X @@ -302,6 +311,7 @@ Pour simplifier la configuration pour les utilisateurs finaux on peut générer Télécharger la dernière version stable de Tunnelblick sur http://code.google.com/p/tunnelblick/ On suit les instructions d'installation (en anglais), puis : + * On choisit de générer la configuration (indiquer qu'on n'a pas de fichiers de configuration) * Cela génère une configuration standard, notamment un dossier sur le bureau avec un fichier _config.ovpn_ * On édite le _config.ovpn_ en ajustant les options _remote_, _ca_, _cert_ et _key_. @@ -317,10 +327,13 @@ On utilise l'application libre "OpenVPN for Android" disponible sur [Google Play qui ne nécessite pas de droits "root" avec Android 4 ou supérieur. La configuration d'un VPN nécessite les informations suivantes : + * le certificat CA peut être importé sous format PEM * le certificat client doit être au format PKCS#12 (fichier .p12 ou .pfx), on pourra ainsi le créer à partir de la clé/certificat : - $ openssl pkcs12 -export -in goyk3OkjeuPread8Sluld.privacy.evolix.org.crt -inkey goyk3OkjeuPread8Sluld.privacy.evolix.org.key -out goyk3OkjeuPread8Sluld.privacy.evolix.org.p12 +~~~ +$ openssl pkcs12 -export -in goyk3OkjeuPread8Sluld.privacy.evolix.org.crt -inkey goyk3OkjeuPread8Sluld.privacy.evolix.org.key -out goyk3OkjeuPread8Sluld.privacy.evolix.org.p12 +~~~ * décocher "Compression LZO" si ce n'est pas supporté par votre serveur * décocher "Vérification du certificat de l'hôte" (sinon cela ne fonctionne pas a priori…) @@ -331,97 +344,99 @@ La configuration d'un VPN nécessite les informations suivantes : Dans l'exemple qui suit le serveur VPN est sur une machine sous Debian et le client sur une machine sous OpenBSD -Voici le fichier _/etc/openvpn/server.conf_ sous Debian : +Voici le fichier `/etc/openvpn/server.conf` sous Debian : - port 1194 - proto udp - dev tap0 - server-bridge - keepalive 10 120 +~~~ +port 1194 +proto udp +dev tap0 +server-bridge +keepalive 10 120 - ;tls-auth ta.key 0 # This file is secret - ;cipher BF-CBC # Blowfish (default) - ;cipher AES-128-CBC # AES - ;cipher DES-EDE3-CBC # Triple-DES +;tls-auth ta.key 0 # This file is secret +;cipher BF-CBC # Blowfish (default) +;cipher AES-128-CBC # AES +;cipher DES-EDE3-CBC # Triple-DES - comp-lzo +comp-lzo - ;max-clients 100 - ;user nobody - ;group nobody +;max-clients 100 +;user nobody +;group nobody - persist-key - persist-tun +persist-key +persist-tun - ca /etc/openvpn/ssl/ca/cacert.pem - cert /etc/openvpn/ssl/files/serveur/serveur.crt - key /etc/openvpn/ssl/files/serveur/serveur.key - dh /etc/openvpn/ssl/ca/dh2048.pem - - status /var/log/openvpn-status.log - log /var/log/openvpn.log - verb 3 +ca /etc/openvpn/ssl/ca/cacert.pem +cert /etc/openvpn/ssl/files/serveur/serveur.crt +key /etc/openvpn/ssl/files/serveur/serveur.key +dh /etc/openvpn/ssl/ca/dh2048.pem +status /var/log/openvpn-status.log +log /var/log/openvpn.log +verb 3 +~~~ Voici le fichier de configuration client sous OpenBSD : - client - proto udp - dev tun0 - dev-type tap - verb 4 +~~~ +client +proto udp +dev tun0 +dev-type tap +verb 4 - tls-client - remote 1.2.3.4 1194 +tls-client +remote 1.2.3.4 1194 - user _openvpn - group _openvpn - chroot /var/empty +user _openvpn +group _openvpn +chroot /var/empty - persist-key - persist-tun - pull +persist-key +persist-tun +pull - status /var/log/openvpn-status.log +status /var/log/openvpn-status.log - comp-lzo - #verb 3 - #cipher AES-128-CBC - - ca /etc/openvpn/ssl/files/client/client.pem - cert /etc/openvpn/ssl/files/client/client.crt - key /etc/openvpn/ssl/files/client/client.key +comp-lzo +#verb 3 +#cipher AES-128-CBC +ca /etc/openvpn/ssl/files/client/client.pem +cert /etc/openvpn/ssl/files/client/client.crt +key /etc/openvpn/ssl/files/client/client.key +~~~ ## FAQ ### Erreur "--crl-verify fails" (constaté sur un serveur OpenVPN sous OpenBSD) - - Options error: --crl-verify fails with 'crl.pem': No such file or directory - Options error: Please correct these errors. - +~~~ +Options error: --crl-verify fails with 'crl.pem': No such file or directory +Options error: Please correct these errors. +~~~ Il faut parfois regénérer un fichier CRL. Si l'on utilise une version récente de [shellpki](https://forge.evolix.org/projects/shellpki) : - - # cd /tmp - # shellpki.sh crl - # cp crl.pem /var/empty - +~~~ +# cd /tmp +# shellpki.sh crl +# cp crl.pem /var/empty +~~~ ### Erreur "ROUTE: route addition failed using createipforwardentry" (constaté sur un client OpenVPN sous Windows) -En cas d'erreur _ROUTE: route addition failed using createipforwardentry_, l'utilisateur n'a pas les droits suffisants pour ajouter une nouvelle route. +En cas d'erreur `ROUTE: route addition failed using createipforwardentry`, l'utilisateur n'a pas les droits suffisants pour ajouter une nouvelle route. Il faut essayer d'exécuter les logiciels (_openvpn.exe_ et _openvpngui.exe_) dans un mode de compatibilité _lancer en Administrateur_. Pour plus de détails,voir http://www.bolehvpn.net/forum/index.php?topic=1746.0 ### Erreur "no more TUN/TAP adapter" (constaté sur un client OpenVPN sous Windows) -En cas d'erreur _no more TUN/TAP adapter_ aller dans _menu démarrer_> _OpenVPN_> _Add new TUN/TAP Adapter_ +En cas d'erreur `no more TUN/TAP adapter` aller dans _menu démarrer_> _OpenVPN_> _Add new TUN/TAP Adapter_ ### Erreur "Authentificate/Decrypt packet error: cipher final failed" (constaté sur un client OpenVPN sous Android)