Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| software:applications:restic:installer-restic-rest-server-sous-debian13 [2026/07/23 19:40] – yoann | software:applications:restic:installer-restic-rest-server-sous-debian13 [2026/08/10 05:30] (Version actuelle) – correction orthographe yoann | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| - | ====== | + | ====== |
| Ligne 64: | Ligne 64: | ||
| <code bash> | <code bash> | ||
| export RESTIC_REPOSITORY=" | export RESTIC_REPOSITORY=" | ||
| - | restic -r rest: | + | restic init |
| + | </ | ||
| + | |||
| + | ===== Chiffrement TLS ===== | ||
| + | |||
| + | Les échanges entre le serveur REST HTTP et les clients restic peuvent être chiffrés. Pour cela il faudra générer un certificat TLS pour le serveur puis paramétrer le service pour utiliser la clé privée et le certificat. | ||
| + | |||
| + | <code bash> | ||
| + | # Déplacer la clé privée et le certificat | ||
| + | mv rstore01.kvm.internal.key rstore01.kvm.internal.pem /etc/restic-rest-server/ | ||
| + | chown restic-rest-server: | ||
| + | </ | ||
| + | |||
| + | Modifier le fichier de configuration du service ''/ | ||
| + | <file conf restic-rest-server> | ||
| + | # TCP or UNIX listen address. | ||
| + | #LISTEN = unix:/ | ||
| + | LISTEN = :8000 | ||
| + | |||
| + | # Directory to store backups. | ||
| + | # Note: the server will not start unless this variable is defined. | ||
| + | BACKUP_DIR = / | ||
| + | |||
| + | # Extra arguments to pass to the server. Run `restic-rest-server --help` to see | ||
| + | # available options. By default, basic authentication is enabled. | ||
| + | ARGS = "\ | ||
| + | --htpasswd-file / | ||
| + | --tls --tls-key / | ||
| + | --tls-cert / | ||
| + | " | ||
| + | </ | ||
| + | |||
| + | Redémarrer le service : | ||
| + | |||
| + | <code bash> | ||
| + | systemctl restart restic-rest-server.service | ||
| + | </ | ||
| + | |||
| + | Depuis un poste client, valider la connexion : | ||
| + | <code bash> | ||
| + | export RESTIC_REPOSITORY=" | ||
| + | export RESTIC_CACERT="/ | ||
| + | restic | ||
| + | </ | ||
| + | |||
| + | ===== Confidentialité des identifiants ===== | ||
| + | |||
| + | Pour éviter que les identifiants apparaissent sur la ligne de commande ou les variables d' | ||
| + | |||
| + | <code bash> | ||
| + | mkdir -p ~/ | ||
| + | chmod a-rwx,u+rwx ~/ | ||
| + | |||
| + | echo " | ||
| + | echo " | ||
| + | |||
| + | # Lecture seule pour l' utilisateur propriétaire | ||
| + | chmod a-rwx,u+r ~/ | ||
| + | |||
| + | export RESTIC_REPOSITORY_FILE="/ | ||
| + | export RESTIC_PASSWORD_FILE="/ | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Dépannages ===== | ||
| + | |||
| + | ==== Écouter sur le port 443 ==== | ||
| + | |||
| + | Impossible de démarrer le service en utilisant un port réservé (comme 80 ou 443). | ||
| + | |||
| + | Après modification du fichier de configuration et redémarrage du service on obtient une erreur du type : | ||
| + | < | ||
| + | Aug 08 12:01:00 rstore01 restic-rest-server[974]: | ||
| + | </ | ||
| + | |||
| + | Plusieurs solutions ont été testées : | ||
| + | * utiliser la commande '' | ||
| + | * Modifier la configuration du service systemd : KO ; | ||
| + | * Rediriger le trafic entrer via des règles de filtrage nftables 443 -> 8000 : OK. | ||
| + | |||
| + | |||
| + | |||
| + | Avec firewalld : | ||
| + | |||
| + | <code bash> | ||
| + | # Déterminer les zones actives et par celle par défaut | ||
| + | firewall-cmd --get-active-zones | ||
| + | firewall-cmd --get-default-zone | ||
| + | |||
| + | # Dans cet exemple, l' | ||
| + | firewall-cmd --zone=public --add-forward-port=port=443: | ||
| + | |||
| + | # Une fois la configuration validée | ||
| + | firewall-cmd --runtime-to-permanent | ||
| </ | </ | ||