# Commandes myhelp Vous trouverez ici une description plus détaillée du fonctionnement des différentes commandes disponibles au travers de l'utilitaire myhelp. # Résumé des commandes #### 1. Liste des commandes Comme décrit plus tôt, la commande **`myhelp`** regroupe et liste l'ensemble des commandes. Elles sont toute exécutables indépendamment en fonction de l'objectif du script. Parmi ces commandes on retrouve les catégories **Gestion des applications, Open-Prod, Jasper, SQL, myfab, Imprimantes et Divers**.
**Gestion des applications** | |
`app-manager` | Outil de maintenance des applicatifs et de l'environnement myfab et Open-Prod |
**Open-Prod** | |
`openprod-start` | Démarre le service Open-Prod |
`openprod-restart` | Redémarre le service Open-Prod |
`openprod-stop` | Arrête le service Open-Prod |
`openprod-status` | Donne le statut du service Open-Prod |
`https-config` | Configure le https pour Open-Prod (certificat autosigné) |
`openprod-config-jasper` | Configure Open-Prod pour accès Jasper |
`openprod-config` | Configure Open-Prod (Worker, ...) |
`openprod-config-o365` | Configure Open-Prod pour accès O365 |
`openprod-info` | Informations sur Open-Prod (Version, ...) |
**Jasper** | |
`jasper-start` | Démarre le service Jasper |
`jasper-stop` | Arrête le service Jasper |
`jasper-status` | Donne le statut du service Jasper |
`jasper-studio-install` | Installe Jasper Studio |
`jasper-mono-config` | Configure Jasper pour exécution en mono-serveur |
**SQL** | |
`pgadmin4-install` | Installe PgAdmin4 (équivalent SQL studio pour PostgreSQL) |
`postgres-config` | Ouvre PostgreSQL vers l'extérieur (pour accès distant, depuis SQL Management Studio par exemple) |
`sql-update` | Met à jour une base de données |
`sql-backup` | Crée une sauvegarde d'une ou plusieurs base(s) de données |
`sql-auto-backup` | Met en place une sauvegarde régulière de base(s) de données |
`postgres-restart` | Redémarre le service PostgreSQL |
**myfab** | |
`myfab-sql-uninstall` | Désinstalle tous les modules myfab d'une BDD |
`myfab-specif-config` | Active ou non les sources myfab Spécifique (modules) |
**Imprimantes** | |
`cups-install` | Installe le gestionnaire d'imprimantes Cups |
`pdf-printer-install` | Installe une imprimante virtuelle PDF (pour tests) |
**Divers** | |
`xrdp-config ` | Configuration de l'accès à distance (TSE ou Hyper-V) |
`myhelp-linux` | Affiche une aide sur Linux |
`font-barcode-install` | Installe les polices Codebar39, Codebar128 et fre3of9x |
`hostname-config` | Permet de modifier le nom "netbios" de l'environnement. |
`ip-show` | Montre l'adresse IP de la machine et les URLs accessibles |
`shared-folder-config` | Crée et/ou configure un dossier partagé au réseau |
`ged-remote-config` | Configure l'accès d'Open-Prod à la GED distante |
`master-password-config` | Modifie le mot de passe Master d'Open-Prod (gestion des bases de données) |
`git-config` | Configurer/Modifier un git (Utilisateur, Branche, Commit, ...) |
`git1life-crt-config` | Authentifie localement le certificat du serveur Git 1Life |
A noter toutefois qu'il est possible de stopper le traitement à tout moment avec la combinaison de touche "CTRL + C".
# Fonctionnement des commandes Les différentes commandes disponibles dans myhelp seront détaillées ici. # Section Open-Prod #### **Manipulation du service Open-Prod** Les commandes ci-dessous permettent simplement de démarrer ou arrêter le service Open-Prod.  La commande `openprod-status` permet d'interroger l’état du service et indique à l’utilisateur s'il est fonctionnel.   Ici, la machine nous indique que le service : - est en mode running (en cours d’exécution), - est « enabled », il sera démarré automatiquement lors du démarrage du système, - qu’il a été démarré il y a 18h00, - que la machine est configurée avec deux workers http et deux workers cron, - utilise une certaine quantité de mémoire, - travaille sur le fichier de configuration « /etc/openprod-home/openprod-server.conf ». #### **Le fichier de configuration "openprod-server.conf"** Présent dans la « home » de l’utilisateur l’ayant installé, l’ERP s’appuie sur ce fichier, lors du démarrage du service pour déterminer le contexte dans lequel il va être utilisé : - Quels sont les modules Open-Prod déployés et ou les localiser ?  - Comment accéder aux bases de données et comment s’authentifier au SGBD ?  - Les limites systèmes qui vont être mises en œuvre dans le cadre de son utilisation :  - Le port d’écoute http sur lequel il répondra dans le navigateur :  - Le nombre de workers :  - Etc.. Ce fichier est crucial, et toute modification de ce fichier doit être précédée d’une copie préalable.  Bien conscient que la manipulation d’un éditeur de texte (vi, nano, etc..), n’était pas des plus aisée pour la configuration, myfab a décidé de mettre à disposition plusieurs commande pour permettre à l’administrateur de modifier le fichier "openprod-server.conf" même s’il ne maitrise pas un éditeur de texte.**Attention, toute modification du fichier "openprod-server.conf" nécessite un redémarrage des services Open-Prod pour prendre en compte les modifications effectuées.**
#### **Manipulation du fichier "openprod-server.conf"** La commande `openprod-config` permet la modification de certaines clés du fichier de configuration sans entrer en mode édition. Le programme propose la modification de la valeur de ces clés et demande à l’utilisateur de saisir la valeur qu’il souhaite mettre à jour. [](https://docs.myfab.fr/uploads/images/gallery/2023-06/image.png) Une sauvegarde du fichier est faite automatiquement pour le préserver avant sa modification : Attention ! Cette préservation n’a pas pour but que de permettre à l’utilisateur de conserver temporairement les modifications qu’il vient de réaliser (et éventuellement de les annuler). Les différentes sauvegardes des ces modifications seront supprimées lors du prochain redémarrage du serveur.
L’utilisateur peut néanmoins, au travers de la command « diff », déterminer quelles modifications ont été faites depuis le dernier démarrage :  La commande `master-password-config` a une double fonction : - elle modifie le "master password" nécessaire à l’administration des bases de données dans l’ERP, - elle modifie également le mot de passe PostgreSQL de l’utilisateur qu’utilise l’ERP avec lequel l’ERP s’authentifie. **Attention, ces deux commandes redémarrent automatiquement le service Open-Prod.**
Quand le client désire crypter les flux entre le serveur Open-Prod et le client, il est nécessaire de passer la connexion en https. La commande `https-config` permet donc de : - Déployer le reverse proxy nginx sur le serveur Open-Prod, - Créer un certificat autosigné sur le serveur, - Configurer nginx avec ce certificat pour un accès à Open-Prod. Le serveur Open-Prod sera alors accessible sur le port 8068 en http mais aussi sur le 443 en https. [](https://docs.myfab.fr/uploads/images/gallery/2023-04/image.png) #### **Commande openprod-info** La commande permet d'afficher l’ensemble des informations de versions des Gits Open-Prod & Myfab. Ceci a pour objectif de vérifier d’un seul coup d’œil l’état de mise à jour d’un serveur afin de pouvoir reproduire un serveur isopérimètre ou pour revenir en arrière suite à une montée de version en échec par exemple. La commande `openprod-info` affiche dorénavant le détail de mise à jour des Gits présents sur le serveur et leur commit respectif.  #### **Commande openprod-config-o365** Cette commande positionne les valeurs des clés « server\_wide\_modules » et « cors\_domains » du fichier de configuration en vue du raccordement d’Open-Prod à OFFICE 365.**Il convient de toujours lancer les commandes openprod-config-jasper et postgres-config lorsque la base de données est disponible et le moins sollicité possible : le redémarrage des services peut entrainer l’interruption de traitements longs (cron, etc..). Cela permet de réduire le risque d'impact du bon fonctionnement de l'ERP.**
**Tachez toujours dans la mesure du possible, de réduire au maximum le nombre d’utilisateurs pouvant avoir accès à PostgreSQL depuis le réseau. De plus, une bonne connaissance du contexte réseau (VPN, adresse IP publique/locale, etc..) est nécessaire pour faire ce type de manipulation.**
# Section Jasper ##### **Manipulation du service Jasper** Les commandes `jasper-start` et **`jasper-stop`** permettent simplement de gérer le démarrage et l'arrêt du service Jasper.  La commande `jasper-status` permet d'interroger l’état du service et indique à l’utilisateur s'il est fonctionnel.  [](https://docs.myfab.fr/uploads/images/gallery/2023-04/Q46image.png) ##### **Commande jasper-studio-install** Elle permet de déployer le programme Jasper Studio sur un environnement Ubuntu doté d’un interface graphique. L’utilisateur pourra donc créer et paramétrer ses rapports directement depuis le serveur en question. ##### **Commande jasper-mono-config** Elle permet de configurer le serveur Open-Prod pour qu’il accueille le programme Jasper. De plus, elle modifie le service Jasper afin de limiter les ressources qu’il peut prendre au détriment du service Open-Prod. Elle est exécutée automatiquement lors de l’installation d’Open-Prod par l’installation de Jasper si ce dernier détecte la présence d’Open-Prod sur le serveur. # Sécurisation de l’accès à PostgreSQL Un client peut souhaiter ouvrir un accès sur son PostgreSQL à partir d’un poste autre que celui du serveur (BI, requêtage, Jasper Studio, etc..). Afin de gérer ce type accès, une documentation complète est disponible sur le sujet : **[Procédure Technique 1Life - Configuration réseau jasper - formation](https://1life2013.sharepoint.com/:w:/r/sites/OPENPROD/Documents%20partages/Technique/O%20-%20Openprod%20-%20Aide%20et%20proc%C3%A9dures%20internes/Administration/Proc%C3%A9dure%20Technique%201Life%20-%20Configuration%20r%C3%A9seau%20jasper%20-%20formation.docx?d=wef3bc4e920c2408a9aa90ff6ebda0f5f&csf=1&web=1&e=apFJ3r)** Les commandes `openprod-config-jasper` & **`postgres-config`** ont été réécrites dans ce sens. ##### **Commande open-config-jasper** La commande `openprod-config-jasper` permet d'ouvrir l'accès de PostgreSQL à des utilisateurs externes (Power BI, Jasper Studio, etc...). Elle permet de prendre en compte une nouvelle adresse IP et ce, même si le serveur Jasper est installé sur le serveur Open-Prod (config mono serveur).  Au lancement de la commande, le programme détecte si Jasper est installé localement et propose d’autoriser une autre adresse IP. En répondant « N » à la question « Voulez-vous autoriser une autre adresse IP », le programme se contente de vérifier que le serveur Japser local a les bons droits dans les fichiers et se termine.  En répondant « O » à la question « Voulez-vous autoriser une autre adresse IP », le programme demandera de saisir l’adresse IP souhaitée et implémentera automatiquement le fichier pg\_hba.conf.  ##### **Commande postgres-config** Initialement prévue pour ouvrir tous sous-réseaux à l’accès PostgreSQL (0.0.0.0/0), la commande a été remaniée afin de limiter les accès sur PostgreSQL. Elle demande à présent le sous-réseau que l’on souhaite autoriser. Résultat : Dans la mesure du possible, tendre à réduire au maximum le nombre d’utilisateurs pouvant avoir accès à PostgreSQL depuis le réseau. Une bonne connaissance du contexte réseau (VPN, adresse IP publique/locale, etc..) du client reste nécessaire. Le client doit toujours avoir conscience que toutes IP définies dans ce fichier peut avoir accès à PostgreSQL en dehors de l’ERP.
# Section SQL ##### **Commande pgadmin4-install** Elle permet le déploiement du programme pgadmin4 sur le serveur Open-Prod. pgadmin4 sera accessible via le client graphique si le serveur est doté d’un GUI, ou en Web via apache.Attention, le déploiement de https-config invalide le port 80 du serveur Apache et empêche donc l’utilisation du mode web de pgadmin.
##### **Commande postgres-restart** Cette commande redémarre les services SGBD à la suite d’une modification de paramétrage. Elle provoque un arrêt (relativement court) des accès au SGBD et donc peut impacter le service Open-Prod : elle doit être lancée quand l’activité est minimum sur le serveur. Elle peut être utile à lancer quand le fichier pg\_hba.conf ou le postgresql.conf ont été modifiés (ouverture de port ou augmentation du nombre de connexions simultanées sur PostgreSQL).Attention, elle peut provoquer une brève interruption de service !
##### **Commande postgres-config** La commande permet de d'ouvrir l'accès à PostgreSQL à un sous-réseau déterminé, saisi sous la forme 192.168.10.0 :  Par exemple, cela peut donner le résultat suivant : **Tachez toujours dans la mesure du possible, de réduire au maximum le nombre d’utilisateurs pouvant avoir accès à PostgreSQL depuis le réseau. De plus, une bonne connaissance du contexte réseau (VPN, adresse IP publique/locale, etc..) est nécessaire pour faire ce type de manipulation.**
# Section myfab ##### **Commande myfab-sql-uninstall** Le contexte contenu dans le fichier openprod-server.conf embarque la liste des répertoires que l’ERP va scruter pour mettre à disposition des modules.  La commande permet notamment de nettoyer la base avant de la transmettre. Naturellement, ce nettoyage ne doit pas être fait sur le serveur de production mais sur un serveur/poste dédié à cet usage. Lors de son exécution, la commande vous demandera sur quelle base vous désirez faire disparaitre toute trace des modules « myfab ». ##### **Commande myfab-specif-config**  La commande permet d'activer un ou plusieurs modules spécifiques myfab. Le fichier "openprod-server.conf" est alors modifié avec ces nouvelles entrées. # Section Imprimantes ##### **Commande cups-install** La commande déploie le paquet Ubuntu cups (Common Unix Printing System) sur le serveur local. L’administration se fera via le web sur le port 631 du serveur sur lequel il est déployé. cups permet d'administrer les imprimantes présentes sur le réseau. Il est préférable de déployer cups sur le serveur Open-Prod directement, et ce même si on a un environnement dédié pour Jasper Server.
##### **Commande pdf-printer-install** Déploie une imprimante virtuelle PDF (pour tests). # Section divers ##### **Commande xrdp-config** Cette commande n’a plus qu’un intérêt limité dans la mesure où le GUI n’est plus installé par défaut. Toutefois, elle peut-être amenée à être utilisée sur des VM sur un poste utilisateur. Elle passe d’un accès TSE à Hyper-V (et vice versa) autorisant la copie de fichier au travers de l’interface graphique, par exemple. ##### **Commande myhelp-linux** Cette commande donne des informations sur les principales commandes système que les clients ou les consultants peuvent être amenés à utiliser sur les différents environnements.Cette commande est en cours de refonte, son fonctionnement va évoluer prochainement.
##### **Commande font-barcode-install** Cette commande était initialement destinée à être exécutée sur les premiers environnements clients installés pour mettre à disposition les différentes polices code-barres sur le serveur. L’installation des différentes polices est dorénavant réalisée lors de toute installation d’Open-Prod par myfab.  ##### **Commande hostname-config** Cette commande est utilisée pour mettre à jour le nom NETBIOS d’une machine Ubuntu (nom réseau par lequel la machine sera résolue par les autre membres du réseau). Cette commande est à utiliser avec précaution dans la mesure où : - Le serveur a pu être raccordé à un domaine, - D’autres membres du réseau peuvent « pointer » sur des ressources du serveur Ubuntu. La commande nécessite un redémarrage de la machine pour la prise en compte du nouveau nom.Commande très utile pour les consultants lorsqu’ils importent une VM (1Life) pour qu’il n’y ait pas deux machines sur le réseau qui portent le même nom. **Cette commande nécessite un haut niveau de privilège**.
Si la machine est intégrée dans un domaine, un compte d’administration de ce domaine sera requis…
##### **Commande ip-show** Elle permet à l’utilisateur de voir l’adresse IP actuelle de son environnement Open-Prod et le ou les services (ports) sur lesquels son environnement est joignable.  ##### **Commande shared-folder-config** Elle installe et configure les paquets samba nécessaires (au besoin) et permet à l’utilisateur de créer un lecteur partagé sur son serveur qui sera accessible par les autres membres du réseau. Ceci est très utile quand on a des fichiers à mettre à disposition du serveur via le réseau, ou si l’on veut copier des fichiers depuis le sous-réseau présent sur le serveur Ubuntu.  Une fois exécutée, le lecteur partagé est directement accessible depuis le réseau :  ##### **Commande ged-remote-config** A l’inverse de la commande `shared-folder-config`, la commande `ged-remote-config` va déployer les paquets « cifs-utils » (au besoin) et permettre au serveur Ubuntu de connecter un lecteur réseau (sur un nas, un serveur de ficher, etc..) afin d’y stocker la GED d’Open-Prod quand cette dernière est trop volumineuse.L’administrateur devra fournir des identifiants permettant au serveur Ubuntu de s’authentifier sur le partage mis à disposition.
L’utilisateur devra renseigner : - Le nom de partage distant complet avec « / » et non « \\ », - Les code utilisateurs d’authentifications sur le lecteur réseau distant, - Les éventuelles options de montage souhaitées : ces dernières sont à adapter en fonction de la ressource distante. Si le montage échoue (droits, options, résolution, etc..), le programme s’arrêtera, sinon, il rentrera en mode « sql-update » afin de restructurer la ou les bases de données.  ##### **Commande git-config** Cette commande permet d'administrer les différents git présents sur le serveur. Il peut arriver de rencontrer ce message lors de l’exécution d’une commande MyFab :  Ceci indique que les identifiants git stockés sur le système sont erronés ou obsolètes. Sélectionner alors en premier lieu le git que vous désirez mettre à jour puis sélectionner « changer d’utilisateur », confirmer, puis ressaisir des identifiants valides.  Cette commande peut être utilisée aussi pour modifier le commit d’Open-Prod, par exemple : Toute modification du commit Open-Prod ou myfab doit être suivi d'une restructuration des bases de données à l'aide de la commande `sql-update`..
##### **Commande git1life-crt-config** Sur certain serveur, l’accès au git 1life ne pouvait pas être établi sans le déploiement de ce certificat