ThingWorx Flow > Installation et configuration > Installation de ThingWorx Flow > Configuration requise pour l'installation ou la mise à niveau de ThingWorx Flow en mode hors ligne sur une machine Linux
Configuration requise pour l'installation ou la mise à niveau de ThingWorx Flow en mode hors ligne sur une machine Linux
ThingWorx Flow
* 
Dans ces instructions, chaque étape doit être menée à bien avant de passer à la suivante.
Sur une machine connectée à Internet
1. Installez yum createrepo et yum-utils pour activer yumdownloader.
a. yum install createrepo
b. yum install yum-utils
2. Créez les trois référentiels suivantes sous /etc/yum.repos.d.
a. rabbitmq_erlang.repo
[rabbitmq_erlang]
name=Erlang repository
baseurl=https://packagecloud.io/rabbitmq/erlang/el/8/$basearch
enabled=1
gpgcheck=0
sslverify=0
skip_if_unavailable=1
b. rabbitmq_server.repo
[rabbitmq_server]
name=RabbitMQ repository
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/8/$basearch
enabled=1
gpgcheck=0
sslverify=0
skip_if_unavailable=1
c. nginx-repo.repo
[nginx-repo]
name=Nginx repository
baseurl=https://nginx.org/packages/rhel/8/$basearch/
enabled=1
gpgcheck=0
sslverify=0
skip_if_unavailable=1
3. Exécutez la commande suivante pour obtenir un référentiel Node :
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
Cette commande crée le référentiel nécessaire pour le téléchargement de nodejs dans yum.repos.d.
4. Téléchargez les packages suivants à l'aide de yumdownloader dans le dossier souhaité sans les installer :
yumdownloader --destdir=/opt/packages/nginx --resolve nginx
yumdownloader --destdir=/opt/packages/erlang erlang
yumdownloader --destdir=/opt/packages/rabbitmq -–resolve rabbitmq-server
yumdownloader --destdir=/opt/packages/nodejs nodejs
* 
L'indicateur --resolve pour nginx-repo et rabbitmq-server permet d'activer également le téléchargement des dépendances.
5. Vérifiez que le package logrotate a été téléchargé avec la commande de téléchargement rabbitmq-server.
Si ce n'est pas le cas, téléchargez-le explicitement à l'aide de la commande suivante :
yumdownloader --destdir=/opt/packages/rabbitmq logrotate
6. Pour chaque dossier de package, créez un référentiel à l'aide de la commande createrepo pour récupérer les métadonnées du package :
createrepo /opt/packages/nginx
createrepo /opt/packages/erlang
createrepo /opt/packages/rabbitmq
createrepo /opt/packages/nodejs
* 
Exécutez les étapes 7 à 9 uniquement si /OPT/packages/Nginx contient plus d'un fichier rpm à la suite du téléchargement de nginx.
7. L'installation nginx comporte plusieurs packages. Transformez le référentiel, en mode hors ligne, de référentiel de package en référentiel de module. Utilisez le package modulemd-tools pour créer un fichier de configuration modules.yaml à utiliser pour transformer le référentiel en référentiel de modules. Activez le référentiel pour le package correspondant :
dnf copr enable frostyx/modulemd-tools-epel
dnf install modulemd-tools
8. Exécutez la commande suivante à partir du dossier des packages pour créer le fichier modules.yaml :
repo2module --debug --module-name=nginx --module-stream=stable nginx modules.yaml
L'indicateur debug fournit le chemin où le fichier modules.yaml a été créé.
9. Transformez le référentiel nginx à l'aide du fichier yaml de configuration obtenu :
a. Assurez-vous que le fichier modules.yaml se trouve dans /opt/packages.
b. Déplacez le contenu du dossier nginx/repodata vers le dossier nginx parent mv repodata/*.
c. Exécutez la commande suivante à partir du dossier des packages :
modifyrepo_c --mdtype=modules modules.yaml nginx
Cette commande crée modules.yaml.gz et élabore repomd.xml.
d. Replacez tout le contenu du dossier repodata ainsi que le nouveau fichier gz dans le dossier nginx/repodata, en laissant uniquement les fichiers rpm et le dossier repodata sous le dossier du référentiel nginx.
10. Copiez le dossier des packages vers la machine en mode hors ligne.
Sur le serveur dédié à l'installation de ThingWorx Flow en mode hors ligne
1. Assurez-vous que le package policycoreutils existe : policycoreutils-python pour RHEL les versions antérieures à la 8 ou policycoreutils-python-utils pour les versions 8 et ultérieures. Installez-le si ce n'est pas le cas.
Utilisez la commande suivante pour effectuer cette vérification :
yum list --installed | grep policycoreutils
2. Assurez-vous que le module perl est activé. Activez-le si ce n'est pas le cas.
Utilisez la commande suivante pour effectuer cette vérification :
dnf module list --enabled | grep perl
3. Recherchez AppStream.repo sous /etc/yum.repos.d. S'il existe, définissez-le sur enabled=0.
4. Créez les référentiels suivants sous /etc/yum.repos.d et configurez le baseurl pour qu'il pointe vers le package rpm local en utilisant file://.
a. rabbitmq_erlang.repo
[rabbitmq_erlang]
name=Erlang repository
baseurl=file:///opt/packages/erlang
enabled=1
gpgcheck=0
sslverify=0
skip_if_unavailable=1
b. rabbitmq_server.repo
[rabbitmq_server]
name=RabbitMQ repository
baseurl=file:///opt/packages/rabbitmq
enabled=1
gpgcheck=0
sslverify=0
skip_if_unavailable=1
c. nginx-repo.repo
[nginx-repo]
name=Nginx repository
baseurl=file:///opt/packages/nginx
enabled=1
gpgcheck=0
sslverify=0
skip_if_unavailable=1
d. nodesource-el8.repo
[nodesource]
name=Node.js Packages for Enterprise Linux 8
baseurl=file:///opt/packages/nodejs
enabled=1
gpgcheck=0
sslverify=0
skip_if_unavailable=1
5. Vous pouvez à présent exécuter le programme d'installation de ThingWorx Flow.
Consultez la section concernant l'installation en mode hors ligne de la rubrique Installation de ThingWorx Flow sur PostgreSQL.
Consultez la section concernant l'installation en mode hors ligne de la rubrique Installation de ThingWorx Flow sur Microsoft SQL.
Conditions requises pour la mise à niveau de ThingWorx Flow sur le serveur en mode hors ligne :
1. Du fait de l'absence de connexion Internet, il vous faut mettre à niveau toutes les applications tierces utilisées. Pour obtenir les dernières versions des applications tierces, répétez les étapes 2 à 10 de la procédure d'installation sur la machine connectée à Internet.
* 
Il est recommandé de supprimer tous les fichiers rpm précédemment téléchargés (résultat de l'étape 4 de la procédure d'installation sur la machine connectée à Internet) pour éviter toute confusion.
* 
Pour la mise à niveau de Node, vous devez vérifier dans la documentation Node pour toute version majeure quel programme d'installation de Node utiliser et mettre à jour le référentiel en conséquence (à l'aide de la ligne de commande de l'étape 3 ici).
2. Sur le serveur dédié à l'installation de ThingWorx Flow en mode hors ligne, assurez-vous qu'aucune modification n'a été effectuée lors des étapes 1 à 4.
3. Répétez l'étape 5 ici pour installer la mise à niveau ThingWorx Flow.
Dépannage
1. L'activation du module perl et l'installation du module policycoreutils, si nécessaire, nécessitent une connexion Internet.
2. Vous pouvez utiliser l'exemple modules.yaml comme modèle au lieu d'utiliser le package d'outils modulesmd. La liste modules.yaml est basée sur des versions spécifiques de Nginx et du système d'exploitation, et elle pourra ne pas fonctionner avec des versions du module Nginx différentes sur un autre système d'exploitation. Si vous souhaitez utiliser le fichier fourni, vous devez modifier les modules spécifiés sous artefacts/rpms en bas du fichier.
Vous devez omettre l'extension et ajouter une version et un signe deux-points avant la version de fichier pour chaque entrée.
Par exemple, pour le fichier nginx-1.14.1-9.module_el8.0.0+184+e34fea82.x86_64.rpm, vous devez ajouter une entrée nginx-1:1.14.1-9.module_el8.0.0+184+e34fea82.x86_64 :
artifacts:
rpms:
- nginx-1:1.14.1-9.module_el8.0.0+184+e34fea82.x86_64
- <same action per rpm file>
Le numéro de version doit être celui figurant dans la section data du fichier yaml :
data:
name: nginx
stream: rolling
version: 1
Pour plus d'informations, si nécessaire, visitez les liens suivants :
Comment télécharger et utiliser repo2module, et créer un fichier modules.yaml : https://github.com/rpm-software-management/modulemd-tools#readme
Comment créer un référentiel de modules basé sur un fichier modules.yaml : https://docs.fedoraproject.org/en-US/modularity/hosting-modules
3. Utilisez les commandes suivantes pour vous assurer que les référentiels ont bien été créés :
yum --disablerepo=”*” --enablerepo=”nodesource” list nodejs
yum --disablerepo=”*” --enablerepo=”nginx-repo” list nginx
yum --disablerepo=”*” --enablerepo=”rabbitmq_erlang” list erlang
yum --disablerepo=”*” --enablerepo=”rabbitmq_server” list rabbitmq-server
4. Si vous devez réinstaller ThingWorx Flow pour une raison quelconque, assurez-vous que l'extension .rpmsave n'a pas été ajoutée à nodesource-el8.repo (vous ne pourriez dès lors pas l'utiliser pour la réinstallation). Pour en savoir plus, consultez la page https://fileinfo.com/extension/rpmsave.
module.yaml
---
document: modulemd-defaults
version: 1
data:
module: nginx
stream: rolling
profiles:
rolling: [everything]
...
---
document: modulemd
version: 2
data:
name: nginx
stream: rolling
version: 1
context: abcdef12
summary: <auto-generated module summary>
description: >-
<auto-generated module description>
license:
module:
- MIT
content:
- <FILL THIS IN>
profiles:
everything:
rpms:
- nginx
- nginx-all-modules
- nginx-filesystem
- nginx-mod-http-image-filter
- nginx-mod-http-perl
- nginx-mod-http-xslt-filter
- nginx-mod-mail
- nginx-mod-stream
api:
rpms:
- nginx
- nginx-all-modules
- nginx-filesystem
- nginx-mod-http-image-filter
- nginx-mod-http-perl
- nginx-mod-http-xslt-filter
- nginx-mod-mail
- nginx-mod-stream
components:
rpms:
nginx:
rationale: Present in the repository
artifacts:
rpms:
- nginx-1:1.14.1-9.module_el8.0.0+184+e34fea82.x86_64
- nginx-all-modules-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch
- nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch
- nginx-mod-http-image-filter-1:1.14.1-9.module_el8.0.0+184+e34fea82.x86_64
- nginx-mod-http-perl-1:1.14.1-9.module_el8.0.0+184+e34fea82.x86_64
- nginx-mod-http-xslt-filter-1:1.14.1-9.module_el8.0.0+184+e34fea82.x86_64
- nginx-mod-mail-1:1.14.1-9.module_el8.0.0+184+e34fea82.x86_64
- nginx-mod-stream-1:1.14.1-9.module_el8.0.0+184+e34fea82.x86_64
...
Est-ce que cela a été utile ?