############################## Réception d'un fichier via R66 ############################## .. _documentation Waarp R66: https://doc.waarp.org/waarp-r66/latest/fr/ .. _page de téléchargements: https://dl.waarp.org/ Nous allons mettre en place un premier transfert: la réception d'un fichier sur serveur R66 depuis un client R66. Nous allons pour cela utiliser le serveur Waarp Transfer installé sur le serveur comme serveur d'origine. Login et mot de passe ===================== L'authentification R66 étant bidirectionnelle (le client s'authentifie au serveur et le serveur s'authentifie au client), le client R66 utilisera le login "r66_client" et le mot de passe "client_pwd" et le serveur de waarp-transfer utilisera le login "r66_server" et le mot de passe "server_pwd". Configuration serveur ===================== Pour pouvoir recevoir des fichiers, nous allons activer le serveur R66 de Waarp Transfer, puis créer un utilisateur, et une règle de transfert. Activation d'un serveur R66 --------------------------- Pour pouvoir envoyer des fichiers en R66 avec Transfer, nous allons commencer par activer le partenaire R66 : .. code-block:: shell-session $ waarp-transfer server update r66 --address localhost:6666 --config serverLogin:r66_server --config serverPassword:server_pwd The server r66 was successfully updated. $ waarp-transfer server enable r66 The server r66 was successfully enabled. # systemctl server start r66 The server r66 was successfully started. .. seealso:: Plus d'options de configuration sont disponibles pour les serveurs R66. Le détail des options est disponible :any:`ici ` .. seealso:: Optionnellement, si vous souhaitez sécuriser vos transfert vers ce partenaire avec TLS, il faut à la place démarrer le serveur `r66-tls` et lui ajouter des certificats .. code-block:: shell-session $ waarp-transfer server cert r66-tls add --name "r66-tls_certs" --private-key "key.pem" --certificate "cert.pem" The certificate r66-tls_certs was successfully added. $ waarp-transfer server enable r66-tls The server r66-tls was successfully enabled. # systemctl server start r66-tls The server r66-tls was successfully started. Il vous faudra également activer TLS dans la configuration de l'agent Waarp R66, veuillez vous référer à la `documentation Waarp R66`_ pour la marche à suivre. Création d'un utilisateur ------------------------- Pour que le serveur accepte la connection du client, nous devons maintenant ajouter un utilisateur au serveur ``r66``. Cela se fait en créant un "compte local" dans Waarp Transfer. Cet utilisateur aura ``r66_client`` comme login et ``client_pwd`` comme mot de passe: .. code-block:: shell-session $ waarp-transfer account local r66 add --login "r66_client" --password "client_pwd" The account r66_client was successfully added. L'utilisateur est maintenant créé. Pour pouvoir faire un transfert, nous devons maintenant créer une :term:`règle` de transfert Ajout d'un règle ---------------- Ici, nous voulons recevoir un fichier avec Transfer. La règle aura donc le sens ``receive`` («réception») : le sens des règles est toujours à prendre du point de vu de Waarp Transfer (si on envoi un fichier à Transfer, celui-ci le *reçoit*). Attention, le nom de la règle doit être identique à celui de la règle définie dans l'instance Waarp R66 (``recv`` dans notre exemple). Voici donc la commande pour créer la règle : .. code-block:: shell-session $ waarp-transfer rule add --name "recv" --direction "receive" The rule recv was successfully added. Configuration du client R66 =========================== Pour notre exemple, nous utiliserons la même instance Waarp Transfer comme client. Cependant vous pouvez tout à fait suivre cette partie avec une autre instance Waarp Transfer, ou avec une installation Waarp R66 en suivant la `documentation Waarp R66`_. Création du partenaire distant ------------------------------ Nous allons ajouter le serveur paramétré ci-dessus en tant que partenaire. .. code-block:: shell-session $ waarp-transfer partner add r66 --protocol r66 --address localhost:6666 --config serverLogin:r66_server --config serverPassword:server_pwd The partner r66 was successfully added. Création du login client ------------------------ Nous allons ajouter l'utilisateur avec lequel le client se connectera au serveur. .. code-block:: shell-session $ waarp-transfer account remote r66 add --login "r66_client" --password "client_pwd" The account r66_client was successfully added. Ajouter la règle de reception ----------------------------- Il nous faut maintenant ajouter le pendant de la règle ``recv`` du serveur. Cette règle doit être en mode ``send`` («envoie»). .. code-block:: shell-session $ waarp-transfer rule add --name "recv" --direction "send" The rule recv was successfully added. Premier transfert ----------------- Maintenant que nous avons un partenaire, un utilisateur et une règle, nous pouvons effectuer un transfert. Créons d'abord un fichier à transférer, puis envoyons le avec Waarp Transfer : .. code-block:: shell-session # echo "hello world" > /var/lib/waarp-transfer/out/a-envoyer.txt # waarp-transfer put --partner r66 --login r66_client --rule recv --file a-envoyer Après avoir établi une connexion avec Waarp Transfer, nous avons déposé un fichier dans le dossier ``in`` du partenaire avec la règle ``recv``. Nous pouvons vérifier que le transfert s'est bien passé dans l'historique des transferts : .. code-block:: shell-session $ waarp-transfer history list History: ● Transfer 1 (as server) [DONE] Remote ID: -9223372036854775806 Way: receive Protocol: r66 Rule: recv Requester: r66_client Requested: r66 Local filepath: /home/mro/Projects/doc/waarp-transfer/data/in/a-envoyer.txt Remote filepath: /a-envoyer.txt File size: 12 Block size: 0 Block check: false Hash algo: Start date: 2022-09-12T12:49:45.561847749+02:00 End date: 2022-09-12T12:49:45.651523669+02:00 Transfer info: - ORIGINALSIZE: 12 - __userContent__: noinfo - follow: -8.416327112866194e+18 Le fichier disponible est maintenant dans le dossier ``in`` de Waarp Transfer. Comme nous n'avons pas spécifié de dossier spécifique dans la règle, c'est le dossier par défaut de l'instance qui est utilisé : .. code-block:: shell-session $ ls -l /var/lib/waarp-transfer/in total 4 -rw-rw-r--. 1 waarp waarp 13 Sep 17 17:27 a-envoyer.txt