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)
Résultat
Tools
echo 'exec /QOpenSys/QIBM/ProdData/OPS/tools/bin/bash' >> .profile
curl (disponible sur IBMi avec 5770OPS et SI63905)
abréviation de client URL request library :
cette commande :
Pour obtenir l'entête d'une page :
Pour tester un web service par GET
(ici 404 , Not found)
Pour tester un web service par POST
curl -i -H "Content-Type: application/json" -X POST
-d '{"NOM":"Volubis", "VILLE":"Carquefou", "TEL":"02 40 30 00 70" , "FAX":"02 40 30 39 22", "APPEL_CODE":13}'
http://as400:10025/web/services/Producteur
Voyez un manuel d'utilisation ici
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 :
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.
/QOpenSys/QIBM/ProdData/OPS/tools/bin/nginx -c <path_to_nginx.conf>
/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
QSH CMD('touch -C 819 /tmp/bootstrap.log; /QOpenSys/usr/bin/ksh /tmp/bootstrap.sh > /tmp/bootstrap.log 2>&1')
L'utilisation de cet utilitaire et la recherche de dépots est désomais intégré à ACS version 1.1.8
L'installation de YUM aussi
Pour utiliser un proxy , éditez /QOpenSys/etc/yum/yum.conf, comme ceci :
[main]
proxy=http://monproxy.masociete.com:8080
proxy_username=user
proxy_password=passw0rd
- Pour utiliser des repository non IBM, ajoutez des fichiers .repo à /QOpenSys/etc/yum/repos.d/
(voir https://bitbucket.org/ibmi/opensource/src/master/docs/yum/3RD_PARTY_REPOS.md)
Pour créer et utiliser un repository local, voyez : https://bitbucket.org/ibmi/opensource/src/master/docs/yum/
En résumé :
Copiez les fichiers depuis ftp://public.dhe.ibm.com/software/ibmi/products/pase/rpms/repo sur votre
serveur IBM i (par exemple /QOpenSys/etc/yum/IBMRepoLocalMirror/repo)
Dupliquez le fichier /QOpenSys/etc/yum/repos.d/ ibm.repo (par exemple sous le nom de local.repo)
dans ibm.repo, ajoutez skip_if_unavailable=1
dans local.repo remplacez
[ibm]
name=ibm
baseurl=ftp://public.dhe.ibm.com/software/ibmi/products/pase/rpms/repo
par[local]
name=localbaseurl=file:///QOpenSys/etc/yum/IBMRepoLocalMirror/repo
Tout cela pouvant désormais être automatisé (une fois connecté)
Opération supplémentaires
- création du fichier .repo dans /QOpenSys/etc/yum/repos.d/ (conseillé)
- désactivation des repository necessitant un accès à Internet (si vous n'avez pas de proxy)
- création d'un fichier de config pour nginx afin que ce dernier permettt un accès via http ?
plus de détails sur https://bitbucket.org/ibmi/opensource/src/master/docs/acscloner/
YUM permet d'installer de nouveaux utilitaires,
(ils sont tous placés dans /QOpenSys/pkgs/bin)
comme, par exemple :
C'est un éditeur pleine page
Ctrl+O (Write Out)
Recherche (Ctrl+W)
Sortie (Ctrl+X)