Outils pour utilisateurs

Outils du site


software:applications:restic:installer-restic-rest-server-sous-debian13

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
software:applications:restic:installer-restic-rest-server-sous-debian13 [2026/07/23 19:40] yoannsoftware:applications:restic:installer-restic-rest-server-sous-debian13 [2026/08/10 05:30] (Version actuelle) – correction orthographe yoann
Ligne 3: Ligne 3:
  
  
-====== restic : installer le serveur REST HTTP restic ======+====== Installer le serveur REST HTTP du projet restic ======
  
  
Ligne 64: Ligne 64:
 <code bash> <code bash>
 export RESTIC_REPOSITORY="rest:http://user:pass@host:8000/my-test-repo/" export RESTIC_REPOSITORY="rest:http://user:pass@host:8000/my-test-repo/"
-restic -rest:https://user:pass@host:8000/my_backup_repo/ init+restic init 
 +</code> 
 + 
 +===== 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: /etc/restic-rest-server/rstore01.kvm.internal.* 
 +</code> 
 + 
 +Modifier le fichier de configuration du service ''/etc/default/restic-rest-server'' 
 +<file conf restic-rest-server> 
 +# TCP or UNIX listen address. 
 +#LISTEN = unix:/run/restic-rest-server 
 +LISTEN = :8000 
 + 
 +# Directory to store backups. 
 +# Note: the server will not start unless this variable is defined. 
 +BACKUP_DIR = /srv/restic/backups/ 
 + 
 +# 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 /etc/restic-rest-server/users.htpasswd \ 
 +  --tls --tls-key /etc/restic-rest-server/rstore01.kvm.internal.key \ 
 +  --tls-cert /etc/restic-rest-server/rstore01.kvm.internal.cert.pem \ 
 +
 +</file> 
 + 
 +Redémarrer le service : 
 + 
 +<code bash> 
 +systemctl restart restic-rest-server.service 
 +</code> 
 + 
 +Depuis un poste client, valider la connexion : 
 +<code bash> 
 +export RESTIC_REPOSITORY="rest:https://user:pass@host:8000/my-test-repo/
 +export RESTIC_CACERT="/absolute/path/to/ca-chain.cert" 
 +restic init 
 +</code> 
 + 
 +===== Confidentialité des identifiants ===== 
 + 
 +Pour éviter que les identifiants apparaissent sur la ligne de commande ou les variables d'environnement, on peut utiliser des fichiers avec accès restreint. 
 + 
 +<code bash> 
 +mkdir -p ~/.config/restic 
 +chmod a-rwx,u+rwx ~/.config/restic 
 + 
 +echo "rest:https://user:pass@server.fqdn:8000/my-repo/" > ~/.config/restic/repo 
 +echo "my-repo-password" > ~/.config/restic/pass 
 + 
 +# Lecture seule pour l' utilisateur propriétaire 
 +chmod a-rwx,u+r ~/.config/restic/repo ~/.config/restic/pass 
 + 
 +export RESTIC_REPOSITORY_FILE="/absolute/path/to/.config/restic/repo"  
 +export RESTIC_PASSWORD_FILE="/absolute/path/to/.config/restic/pass" 
 +</code> 
 + 
 + 
 +===== 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 : 
 +<file> 
 +Aug 08 12:01:00 rstore01 restic-rest-server[974]: error: unable to listen: listen on :443 failed: listen tcp :443: bind: permission denied 
 +</file> 
 + 
 +Plusieurs solutions ont été testées : 
 +  * utiliser la commande ''%%setcap  'cap_net_bind_service=+ep' /usr/bin/restic-rest-server%%'' pour autoriser le binaire : KO ; 
 +  * 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'interface du serveur est dans la zone public 
 +firewall-cmd --zone=public --add-forward-port=port=443:proto=tcp:toport=8000 
 + 
 +# Une fois la configuration validée 
 +firewall-cmd --runtime-to-permanent
 </code> </code>
  
software/applications/restic/installer-restic-rest-server-sous-debian13.1784835605.txt.gz · Dernière modification : 2026/07/23 19:40 de yoann