Skip to content

Comment migrer S-Filer Portal vers de nouvelles machines Windows ​

Cette page décrit la procédure pour déplacer une installation S-Filer Portal existante vers de nouvelles machines Windows Server. Elle couvre le serveur S-Filer, la passerelle S-Filer (avec IIS comme proxy inverse) et, au besoin, la base de données SQL Server.

Le principe est de réinstaller chaque composant sur sa nouvelle machine, puis de remplacer le répertoire d'installation fraîchement créé par une copie du répertoire d'installation de l'ancienne machine. La configuration et le matériel cryptographique stocké dans les fichiers .conf (keystore de la console d'administration, PKCS12 et certificats de confiance de la passerelle) sont ainsi conservés. Depuis la version 4.13, la plupart des clés et des certificats, y compris la clé d'hôte SFTP, sont stockés dans la base de données : ils suivent la base de données, et les clients SFTP ne reçoivent pas d'avertissement de clé d'hôte après la migration.

Important

Faites une sauvegarde complète de S-Filer Portal (base de données, répertoires d'installation du serveur et de la passerelle, et espaces de stockage des fichiers) avant de commencer la migration.

Avertissement

Cette procédure ne couvre que Windows Server. Elle ne s'applique pas telle quelle aux installations Linux ni aux déploiements Docker.

Prérequis ​

Machines ​

Il est préférable d'utiliser deux machines : une pour le serveur S-Filer et une pour la passerelle S-Filer. Pour chacune, prévoyez Windows Server 2016, 2019 ou 2022, un processeur à quatre cœurs et au moins 8 Go de mémoire.

Installez sur chaque nouvelle machine la même version de S-Filer Portal que celle des anciennes machines.

Réseau ​

Sur le nouveau serveur S-Filer :

  • le serveur doit avoir accès à la base de données SQL Server ;
  • si vous utilisez Active Directory, le serveur doit joindre le contrôleur de domaine sur le port 389 (LDAP) ou 636 (LDAPS) ;
  • le port 8088 (port par défaut du serveur) doit être ouvert en entrée pour que la passerelle puisse récupérer sa configuration ; limitez-le aux adresses IP des machines passerelles ;
  • le port 8090 (port par défaut de la console d'administration) doit être accessible aux administrateurs ; limitez-le au réseau d'administration ;
  • le serveur doit pouvoir envoyer des courriels.

Sur la nouvelle passerelle S-Filer :

  • le port 443 doit être ouvert en entrée pour IIS ;
  • la passerelle doit pouvoir joindre le serveur S-Filer sur le port 8088 ;
  • si la passerelle offre FTP, FTPS ou SFTP, les règles de pare-feu de ces ports doivent être recréées sur la nouvelle machine ;
  • le certificat TLS utilisé par IIS sur l'ancienne passerelle doit être disponible pour pouvoir l'importer sur la nouvelle passerelle.

Noms DNS ​

Avant de commencer, déterminez lequel des deux cas suivants s'applique :

  • Mêmes noms DNS : les noms des machines changent, mais pas les noms DNS utilisés par S-Filer Portal (serveur et passerelle). Il suffit de faire pointer ces noms vers les nouvelles adresses IP dans votre DNS. Rien n'est à modifier dans la console d'administration ni dans les fichiers .conf.
  • Nouveaux noms DNS : le serveur est joint par un nouveau nom ou une nouvelle adresse. Vous devez aussi mettre à jour la console d'administration (voir Mettre à jour la configuration dans la console d'administration) et les fichiers .conf de la passerelle (voir Migrer la passerelle S-Filer).

Préparation et sauvegarde ​

  1. Planifiez une fenêtre de maintenance : S-Filer Portal sera indisponible pendant la migration.
  2. Arrêtez le service de la passerelle S-Filer (S-Filer Gateway) sur toutes les passerelles, puis le service du serveur S-Filer (S-Filer Server). Ainsi, aucun transfert ni aucune modification ne sont en cours pendant la sauvegarde.
  3. Sauvegardez la base de données S-Filer.
  4. Sur l'ancien serveur, copiez l'intégralité du répertoire d'installation du serveur (par défaut C:\Program Files\Okiok Data\sfiler-server).
  5. Sur l'ancienne passerelle, copiez l'intégralité du répertoire d'installation de la passerelle (par défaut C:\Program Files\Okiok Data\sfiler-gateway).
  6. Notez le compte de service Windows utilisé par chaque service S-Filer : les nouveaux services devront utiliser le même compte.
  7. Recensez les tâches planifiées Windows et les scripts qui appellent la CLI S-Filer sur les anciennes machines : ils devront être recréés sur les nouvelles machines.

Avertissement

Si les services ne s'appellent pas S-Filer Server et S-Filer Gateway sur votre installation (par exemple sur une installation plus ancienne), repérez-les dans la console Services de Windows (services.msc).

Important

Les répertoires d'installation contiennent des données sensibles : les paramètres et identifiants de connexion à la base de données (conf\sfiler.conf) et le matériel cryptographique intégré aux fichiers .conf. Protégez-en les copies :

  • transférez-les uniquement par un canal chiffré et conservez-les uniquement sur des supports ou des partages à accès restreint ;
  • sur les nouvelles machines, limitez les droits sur le répertoire d'installation au compte de service et aux administrateurs ;
  • une fois la migration validée, supprimez de façon sécurisée les copies de sauvegarde et de transfert, ainsi que les répertoires sfiler-server-backup et sfiler-gateway-backup créés sur les nouvelles machines ;
  • si une copie a pu être exposée, changez le mot de passe du compte SQL, puis saisissez le nouveau mot de passe dans server\conf\sfiler.conf (voir Migrer la base de données vers un nouveau serveur SQL).

Migrer la base de données vers un nouveau serveur SQL ​

Cette section ne s'applique que si la base de données change aussi de serveur. Sinon, passez à la section suivante.

  1. Assurez-vous que les services du serveur et de toutes les passerelles S-Filer sont arrêtés.
  2. Restaurez la sauvegarde de la base de données S-Filer sur le nouveau serveur SQL Server.
  3. Après avoir copié le répertoire d'installation sur le nouveau serveur S-Filer (voir Migrer le serveur S-Filer), modifiez le fichier server\conf\sfiler.conf pour qu'il pointe vers le nouveau serveur SQL et le bon port :
properties
cfg.server.local.config.url=jdbc:sqlserver://<new-sql-server>:<port>;databaseName=sfiler;encrypt=true;sendStringParametersAsUnicode=false
cfg.server.local.config.user=<sql-user>
cfg.server.local.config.password=<sql-password>
cfg.server.local.config.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver

Ne modifiez pas la valeur de cfg.sfiler.instance.name : elle doit rester celle de l'instance existante.

Si le mot de passe du compte SQL ne change pas, conservez la valeur actuelle de cfg.server.local.config.password. Sinon, saisissez le nouveau mot de passe en clair : au démarrage, le serveur le remplace automatiquement par une valeur masquée.

Disponible depuis4.21.0 + À partir de la version 4.21.0, le paramètre cfg.server.local.config.hibernate.dialect est facultatif. S'il est absent, le dialecte est détecté automatiquement à partir de la connexion. Dans les versions antérieures, conservez ce paramètre dans sfiler.conf.

Avertissement

Avec encrypt=true, la machine virtuelle Java du serveur doit faire confiance au certificat de SQL Server, soit par son fichier cacerts, soit par un truststore indiqué par l'option trustStore= de l'URL JDBC. Si ce truststore se trouve hors du répertoire d'installation, la copie du répertoire ne l'emporte pas : copiez-le ou importez-le aussi sur le nouveau serveur.

Voir aussi

Pour les options de l'URL JDBC (instance nommée, authentification Windows avec integratedSecurity=true), consultez SQL Server.

Préparer la nouvelle passerelle (IIS) ​

Sur la nouvelle passerelle, IIS sert de proxy inverse devant S-Filer Portal à l'aide de Microsoft Application Request Routing (ARR) et du module URL Rewrite.

  1. Installez IIS et ouvrez le port 443. Importez le certificat TLS de la passerelle et liez-le au port 443 du site web.
  2. Téléchargez et installez requestRouter_amd64.msi (version 3) et rewrite_amd64_en-US.msi (version 2). Avant l'installation, arrêtez les processus WAS et W3SVC dans une invite de commandes ouverte en tant qu'administrateur, puis redémarrez-les ensuite :
shell
net stop was /y
net stop w3svc /y
shell
net start was
net start w3svc
  1. Dans le gestionnaire IIS, sélectionnez le serveur et ouvrez Application Request Routing Cache.

    Application Request Routing Cache

  2. Ouvrez Server Proxy Settings, cochez Enable proxy et appliquez la modification.

    Server Proxy Settings

  3. Dans le site web, ouvrez URL Rewrite, puis cliquez sur Add Rule(s) et choisissez Blank rule.

    URL Rewrite

    Add Rule(s)

  4. Saisissez le motif sfiler/(.*). Dans Action Properties, utilisez l'URL de réécriture https://<gateway-host>:8081/{R:0} et cochez toutes les options. Si la passerelle utilise un autre port HTTPS que 8081 (port par défaut), utilisez ce port.

    Edit Inbound Rule

Voir aussi

La procédure détaillée, y compris le test de la règle de réécriture, se trouve dans la section Proxy pour IIS du guide d'installation.

Migrer le serveur S-Filer ​

  1. Vérifiez que le service S-Filer Server est arrêté sur l'ancien serveur.
  2. Sur le nouveau serveur, installez le serveur S-Filer avec l'installateur Windows, dans le même répertoire que sur l'ancien serveur. L'installateur crée le service Windows, qui pointe vers ce répertoire.
  3. Renommez le répertoire d'installation créé par l'installateur, par exemple C:\Program Files\Okiok Data\sfiler-server en C:\Program Files\Okiok Data\sfiler-server-backup. Protégez ce répertoire, puis supprimez-le une fois la migration validée.
  4. Copiez à sa place le répertoire d'installation sauvegardé sur l'ancien serveur.
  5. Si la base de données a changé de serveur, modifiez server\conf\sfiler.conf comme décrit dans Migrer la base de données vers un nouveau serveur SQL.
  6. Assurez-vous que tous les fichiers stockés sont accessibles depuis le nouveau serveur (voir Fichiers et stockage).
  7. Donnez au compte de service les droits nécessaires sur le répertoire sfiler-server, et configurez le service S-Filer Server pour qu'il utilise le même compte de service que sur l'ancien serveur.
  8. Si les noms DNS ne changent pas, faites pointer les noms DNS du serveur vers les nouvelles adresses IP dans votre DNS (voir Noms DNS).
  9. Démarrez le service S-Filer Server sur le nouveau serveur.

Avertissement

Ne redémarrez pas l'ancien serveur S-Filer tant que le nouveau serveur utilise la même base de données.

Voir aussi

L'installation du serveur sous Windows est décrite dans Installation de S-Filer Portal.

Mettre à jour la configuration dans la console d'administration ​

Cette section ne s'applique que si le nom DNS ou l'adresse du serveur change (voir Noms DNS). Sinon, passez à la section suivante.

  1. Connectez-vous à la console d'administration sur le port par défaut 8090, par exemple https://<new-server-host>:8090/.

  2. Ouvrez [nom du serveur] > Configuration > Configurations de base. Dans Nom de domaine, saisissez la nouvelle adresse IP ou le nouveau nom DNS du serveur, puis cliquez sur Sauvegarder.

    Nom de domaine du serveur

  3. Ouvrez [nom de la passerelle] > Configuration. Dans URL serveur cible, saisissez l'URL du nouveau serveur (par exemple https://<new-server-host>:8088/), puis cliquez sur Sauvegarder.

    URL serveur cible de la passerelle

  4. Ouvrez [nom de l'interface web] > Configuration. Dans URL serveur cible, saisissez la même URL, puis cliquez sur Sauvegarder.

    URL serveur cible de l'interface web

  5. Vérifiez les autres URL qui ont été construites à partir de l'ancien hôte et enregistrées dans la base de données, par exemple les URL de rappel des sources d'authentification.

Avertissement

Ces modifications ne mettent pas à jour une passerelle déjà installée : ses fichiers .conf contiennent une copie de l'URL, faite lors de leur téléchargement ou de leur exportation. Mettez-les à jour séparément (voir Migrer la passerelle S-Filer).

Migrer la passerelle S-Filer ​

  1. Vérifiez que le service S-Filer Gateway est arrêté sur l'ancienne passerelle.
  2. Sur la nouvelle passerelle, installez la passerelle S-Filer avec l'installateur Windows, dans le même répertoire que sur l'ancienne passerelle.
  3. Renommez le répertoire d'installation créé par l'installateur, par exemple C:\Program Files\Okiok Data\sfiler-gateway en C:\Program Files\Okiok Data\sfiler-gateway-backup. Protégez ce répertoire, puis supprimez-le une fois la migration validée.
  4. Copiez à sa place le répertoire d'installation sauvegardé sur l'ancienne passerelle.
  5. Si le nom DNS du serveur a changé, mettez à jour la propriété cfg.sfiler.config.url dans les deux fichiers de configuration de la passerelle (voir ci-dessous).
  6. Donnez au compte de service les droits nécessaires sur le répertoire sfiler-gateway, et configurez le service S-Filer Gateway pour qu'il utilise le même compte de service que sur l'ancienne passerelle.
  7. Dans votre DNS, faites pointer les noms DNS de la passerelle vers les nouvelles adresses IP.
  8. Démarrez le service S-Filer Gateway sur la nouvelle passerelle.

La propriété cfg.sfiler.config.url de chaque fichier reprend la valeur d'un champ URL serveur cible différent :

  • gateway\conf\sfiler.conf : l'URL serveur cible de l'instance de passerelle ;
  • gateway\conf\gui.conf : l'URL serveur cible de l'instance d'interface web.

L'URL commence par https:// si le serveur utilise un certificat SSL/TLS, sinon par http://.

properties
cfg.sfiler.config.url=https://<new-server-host>:8088/

Au lieu de modifier les fichiers, vous pouvez les régénérer avec la commande export-config (export-config -n <instance> -ccf <file>.conf) : une fois pour l'instance de passerelle (sfiler.conf) et une fois pour l'instance d'interface web (gui.conf). Copiez-les ensuite dans gateway\conf.

Si la passerelle ne répond pas, consultez ses journaux. Avec une URL de serveur erronée, le service paraît démarré, mais la passerelle retente la connexion toutes les 20 secondes indéfiniment et n'écoute sur aucun port.

Voir aussi

L'installation de la passerelle sous Windows est décrite dans Installation de S-Filer Portal.

Fichiers et stockage ​

Si les fichiers sont conservés dans un espace de stockage local sur l'ancien serveur, copiez-les vers le nouveau serveur avant de démarrer le service S-Filer Server. Le compte de service doit pouvoir lire et écrire dans ces répertoires.

Le chemin par défaut d'un espace de stockage local, files/, est relatif : les fichiers peuvent donc se trouver dans le répertoire d'installation du serveur. Dans ce cas, ils sont copiés avec le répertoire d'installation, ce qui augmente la taille et la durée de la copie. Pour les placer ailleurs, copiez-les vers le nouvel emplacement, puis modifiez le chemin de l'espace de stockage avec modify-local-storage -n <name> -pd <path>.

Si le chemin des fichiers change, mettez à jour le chemin de l'espace de stockage dans Gestion des stockages de la console d'administration ou avec la commande modify-local-storage, puis vérifiez l'accès avec test-access-local-storage.

Les espaces de stockage infonuagiques (Amazon S3, Azure Blob Storage) ne sont pas touchés par la migration, à condition que les nouvelles machines puissent les joindre.

Voir aussi

Pour déplacer des fichiers d'un espace de stockage vers un autre, consultez Comment migrer des fichiers entre des stockages.

Bascule et validation ​

Une fois le serveur et la passerelle démarrés :

  1. Vérifiez que la console d'administration est accessible sur le nouveau serveur.
  2. Vérifiez que l'interface web est accessible par l'URL publique habituelle (par exemple https://<public-host>/sfiler/).
  3. Connectez-vous avec un compte de test, téléversez un fichier puis téléchargez-le.
  4. Si la passerelle offre FTP, FTPS ou SFTP, testez aussi un transfert avec chacun de ces protocoles.
  5. Consultez les journaux du serveur et de la passerelle pour repérer d'éventuelles erreurs.
  6. Recréez les tâches planifiées et les scripts qui appellent la CLI S-Filer, puis vérifiez qu'ils s'exécutent correctement.

Avertissement

Tant que la migration n'est pas validée, conservez les anciennes machines arrêtées sans les supprimer. En cas de problème, vous pourrez arrêter les nouveaux services, rétablir les anciennes entrées DNS et les valeurs d'origine dans la console d'administration, puis redémarrer les anciens services. Si la base de données a été déplacée et que le nouveau serveur y a déjà écrit, revenir aux anciennes machines signifie perdre les transactions effectuées depuis la bascule.