Open source et IBM i

Pourquoi utiliser des produits Open source

 

A l'origine était PASE


En standard en 5.2, facturable avant


PASE, c’est AIX sur IBM i


pour lancer un "shell" PASE :

> CALL QP2TERM (pour une saisie utilisateur)
> CALL QP2SHELL (pour exécuter un script)
> l'API Qp2RunPase, pour lancer Pase depuis un pgm ILE.
+ le répertoire de PASE est /QOpenSys/usr/bin

Puis vint la version packagée de ZEND, Ruby on Rails et 5733SC1.


5733SC1 - IBM portable utilities for i
The 5733-SC1 LPO contains the OpenSSH, OpenSSL and zlib open source packages …

 

Openssl genrsa → pour générer des certificats
Openssl smime → pour crypter/décrypter des fichiers

Ssh-keygen : génère un couple de clé privée/publique
Après échange des clés vous pouvez vous connecter automatiquement



si le démon ssh est démarré (STRTCPSVR *SSHD)

vous pourrez vous connecter depuis Putty (par exemple)


 

 

Attention, ssh par défaut travaille avec des id Utilisateur sur 8c. maxi.


• pour accepter des profils sur 10, ajoutez ibmpaseforienv PASE_USRGRP_LIMITED=N

dans /QOpenSys/QIBM/UserData/SC1/OpenSSH/etc/sshd_config

 

voir http://www-01.ibm.com/support/docview.wss?uid=nas8N1011847


Si vous ne souhaitez pas saisir de mot de passe :

Générez une clé avec puTTYgen

 

Sauvegardez la clé Privée au format Putty (.ppk)

 

puis, soit :

Attribuez les droits sur /home/nom-de-user et /home/nom-de-user/.ssh à 704 par chmod


 

Vérifiez aussi les droits sur authorized_keys



(attention, pas assez ou trop de droits provoque "server refused our key" )


Configurez la connexion comme ceci :


la clé chargée c'est la clé privée, générée par puTTYgen





La même configuration peut être utilisée sous putty pour lancer un shell




puis sauvegardée.

 

pour pouvoir être ré-utilisée directement depuis ACS

Configurez AcsConfig.properties comme ceci :


ET voilà


Tomcat peut être downloadé et lancé sur IBM i

vous pouvez éditer le port (dft = 8080) dans ce fichier : server.xml

 

vous devez éditer l'utilisateur autorisé à ce connecter, dans ce fichier : tomcat-user.xml



Lancez par startup.sh (shutdown.sh arrête le serveur)

 

si vous souhaitez passer par Apache, qui redirigera vers Tomcat , il vous faut QHTTPSVR/QZTCJK

et quelques lignes de config dans votre fichier httpd.conf

 

 

puis créer workers.properties

 

 

Pour plus de détails voyez https://www.ibm.com/developerworks/ibmi/library/i-websolution-asf-tomcat/index.html



Puis vint 5733OPS


Node.JS

 

livré avec un connecteur DB2




remarquez db.conn qui se fait sur le nom de DataBase (celui indiqué par WRKRDBDIRE) ou *LOCAL

Résultat (ici sous PuTTY)

 

Python

 



Résultat


Tools

rsync



Ce protocole de mise à jour à distance , permet de ne transférer que la différence entre deux jeux de fichiers à travers le réseau, en utilisant un algorithme de recherche de somme de contrôle.

Ce protocole établit ses connexions sur le port TCP 873.


La synchronisation fonctionne selon deux modalités :

  1. en mode local : où le programme client se charge de comparer les deux versions des répertoires et effectuer la synchronisation ;
  2. en mode distant : le programme client contacte le programme serveur, habituellement grâce au protocole SSH, ce qui permet une communication sécurisée


Copie locale du contenu d'un répertoire


L'option a (archive) préserve

Mode verbeux


Avec un serveur en utilisant SSH


Avec compression et récursivité (arborescence complète)


Il s'agit d'un produit de gestion de version décentralisé ou Version Control System (VCS en angl. ), voir la définition Wikipedia


Il est accessible en mode Web, par exemple GitHub ou bitBucket.org (Voyez sur ce site notre projet gratuit SU)

Une fois le produit installé vous devez trouver cette arborescence



Vous pouvez, désormais, utiliser le produit en mode commande -> voir la documentation en Français (PDF)



Pour paramétrer git config

Après avoir créé un fichier README.MD, ajoutons le au repository et commitons



Encore une fois, la doc détaillée est ici : https://progit2.s3.amazonaws.com/fr/2016-03-05-4c838/progit-fr.1062.pdf

Avec SI63134, qui apporte CURL , nous pouvons cloner un dépot depuis le web

par exemple : git -c http.sslverify= false http://github.com/OSSILE/OSSILE



résultat



Mais si nous préférerons l'utilisation de git directement depuis RDI, allez chercher le PlugIn RDI "EGit"

Pour l'installer Aide/Eclipse MarketPlace

 

Il s'agit d'un projet Eclipse contenant un éditeur de source (en mode Web) doublé d'un client Git.

 

 

Ce dernier est lancé dans QHTTPSVR et utilise le port 2025 :

les deux fichiers de config, sont

A la première utilisation vous verrez

Nginx, Serveur HTTP, souvent utilisé pour faire du reverse proxy

 

Un exemple est fourni dans /QOpenSys/QIBM/ProdData/OPS/tools/conf/nginx.conf , copiez le et créez le votre.

Pour démarrer :

    /QOpenSys/QIBM/ProdData/OPS/tools/bin/nginx -c <path_to_nginx.conf>

Pour arrêter :

    /QOpenSys/QIBM/ProdData/OPS/tools/bin/nginx -c <path_to_nginx.conf> -s stop

Exemple
avec

Démarrage

Résultat


Sinon, voyez ce tutoriel https://bitbucket.org/ibmi/opensource/src/master/docs/nginx.md?fileviewer=file-view-default

 

 

YUM

©AF400